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。必需:否
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
另请参阅
-
AWS IoT Greengrass API 参考 中的 CreateCoreDefinition