AWS::Greengrass::CoreDefinition - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::Greengrass::CoreDefinition

AWS::Greengrass::CoreDefinition 资源表示 AWS IoT Greengrass 的核心定义。核心定义用于组织核心定义版本。

核心定义可引用多个核心定义版本。所有核心定义版本都必须与核心定义关联。每个核心定义版本均可包含一个 Greengrass 核心。

注意

在创建核心定义时,您可以选择包含初始核心定义版本。要稍后关联核心定义版本,请创建 AWS::Greengrass::CoreDefinitionVersion 资源并指定该核心定义的 ID。

在创建包含要部署的核心的核心定义版本后,您必须将其添加到组版本。有关更多信息,请参阅 AWS::Greengrass::Group

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Greengrass::CoreDefinition", "Properties" : { "InitialVersion" : CoreDefinitionVersion, "Name" : String, "Tags" : Json } }

YAML

Type: AWS::Greengrass::CoreDefinition Properties: InitialVersion: CoreDefinitionVersion Name: String Tags: Json

属性

InitialVersion

在创建核心定义时要包含的核心定义版本。目前,核心定义版本只能包含一个 core

注意

要在创建核心定义后关联核心定义版本,请创建 AWS::Greengrass::CoreDefinitionVersion 资源并指定此核心定义的 ID。

必需:否

类型CoreDefinitionVersion

Update requires: Replacement

Name

核心定义的名称。

必需:是

类型:字符串

Update requires: No interruption

Tags

要附加到核心定义的特定于应用程序的元数据。您可以在 IAM 策略中使用标签来控制对 AWS IoT Greengrass 资源的访问。您还可以使用标签对资源进行分类。有关更多信息,请参阅AWS IoT Greengrass 开发人员指南中的标记您的 AWS IoT Greengrass 资源

Json 属性类型作为键值对的映射处理。它使用以下格式,这不同于 AWS CloudFormation 模板中的大部分 Tags 实施。

"Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" }

必需:否

类型:Json

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回核心定义的 ID,例如 1234a5b6-78cd-901e-2fgh-3i45j6k178l9

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Arn

CoreDefinition 的 Amazon 资源名称 (ARN),例如 arn:aws:greengrass:us-east-1:123456789012:/greengrass/definition/cores/1234a5b6-78cd-901e-2fgh-3i45j6k178l9

Id

CoreDefinition 的 ID,例如 1234a5b6-78cd-901e-2fgh-3i45j6k178l9

LatestVersionArn

已添加到 CoreDefinition 的最新 CoreDefinitionVersion 的 ARN,例如 arn:aws:greengrass:us-east-1:123456789012:/greengrass/definition/cores/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2

Name

CoreDefinition 的名称,例如 MyCoreDefinition

示例

创建核心定义

以下示例创建一个核心定义,指定包含核心的初始版本。

该模板使用 Ref 函数为 CoreDefinitionId 属性返回核心定义的 ID,该属性将版本与核心定义关联。该模板使用参数来表示要用于核心的核心定义名称和 ID、事物 ARN 和证书 ARN。它还输出新核心定义的 ID。

有关其他模板示例,请参阅 AWS::Greengrass::Group 资源。

JSON

{ "Description": "Create CoreDefinition with InitialVersion", "Parameters": { "CoreDefinitionName": { "Type": "String", "Default": "TestCoreDefinition" }, "CoreId": { "Type": "String", "Default": "TestCoreId" }, "CoreThingArn": { "Type": "String", "Default": "TestCoreThingArn" }, "CoreCertificateArn": { "Type": "String", "Default": "TestCoreCertArn" } }, "Resources": { "CoreDefinition": { "Type": "AWS::Greengrass::CoreDefinition", "Properties": { "Name": { "Ref": "CoreDefinitionName" }, "InitialVersion": { "Cores": [ { "Id": { "Ref": "CoreId" }, "ThingArn": { "Ref": "CoreThingArn" }, "CertificateArn": { "Ref": "CoreCertificateArn" }, "SyncShadow": "true" } ] } } } }, "Outputs": { "CoreDefinitionId": { "Value": { "Ref": "CoreDefinition" } } } }

YAML

Description: Create CoreDefinition with InitialVersion Parameters: CoreDefinitionName: Type: String Default: TestCoreDefinition CoreId: Type: String Default: TestCoreId CoreThingArn: Type: String Default: TestCoreThingArn CoreCertificateArn: Type: String Default: TestCoreCertArn Resources: CoreDefinition: Type: 'AWS::Greengrass::CoreDefinition' Properties: Name: !Ref CoreDefinitionName InitialVersion: Cores: - Id: !Ref CoreId ThingArn: !Ref CoreThingArn CertificateArn: !Ref CoreCertificateArn SyncShadow: 'true' Outputs: CoreDefinitionId: Value: !Ref CoreDefinition

另请参阅