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

AWS::Greengrass::DeviceDefinition

AWS::Greengrass::DeviceDefinition 资源表示 AWS IoT Greengrass 的设备定义。设备定义用于组织设备定义版本。

设备定义可引用多个设备定义版本。所有设备定义版本都必须与设备定义关联。每个设备定义版本均可包含一个或多个设备。

注意

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

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

语法

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

JSON

{ "Type" : "AWS::Greengrass::DeviceDefinition", "Properties" : { "InitialVersion" : DeviceDefinitionVersion, "Name" : String, "Tags" : Json } }

YAML

Type: AWS::Greengrass::DeviceDefinition Properties: InitialVersion: DeviceDefinitionVersion Name: String Tags: Json

属性

InitialVersion

在创建设备定义时要包含的设备定义版本。设备定义版本包含 device 属性类型的列表。

注意

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

必需:否

类型DeviceDefinitionVersion

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

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

Id

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

LatestVersionArn

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

Name

设备定义的名称。

示例

设备定义代码段

以下代码段使用包含设备的初始版本定义设备定义资源。此示例指向手动生成的设备证书。

有关完整模板的示例,请参阅 AWS::Greengrass::Group 资源。

JSON

"TestDeviceDefinition": { "Type": "AWS::Greengrass::DeviceDefinition", "Properties": { "Name": "DemoTestDeviceDefinition", "InitialVersion": { "Devices": [ { "Id": "TestDevice1", "ThingArn": { "Fn::Join": [ ":", [ "arn:aws:iot", { "Ref": "AWS::Region" }, { "Ref": "AWS::AccountId" }, "thing/TestDevice1" ] ] }, "CertificateArn": { "Fn::Join": [ ":", [ "arn:aws:iot", { "Ref": "AWS::Region" }, { "Ref": "AWS::AccountId" }, "cert/4db8b7f58d95b7fdb45c38c28a0b1adf6c5f8c03e902de65734935fea83e751f" ] ] }, "SyncShadow": "true" } ] } } }

YAML

TestDeviceDefinition: Type: 'AWS::Greengrass::DeviceDefinition' Properties: Name: DemoTestDeviceDefinition InitialVersion: Devices: - Id: TestDevice1 ThingArn: !Join - ':' - - 'arn:aws:iot' - !Ref 'AWS::Region' - !Ref 'AWS::AccountId' - thing/TestDevice1 CertificateArn: !Join - ':' - - 'arn:aws:iot' - !Ref 'AWS::Region' - !Ref 'AWS::AccountId' - >- cert/4db8b7f58d95b7fdb45c38c28a0b1adf6c5f8c03e902de65734935fea83e751f SyncShadow: 'true'

另请参阅