AWS::IoT::Thing - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

AWS::IoT::Thing

Use the AWS::IoT::Thing resource to declare an Amazon IoT thing.

For information about working with things, see How Amazon IoT Works and Device Registry for Amazon IoT in the Amazon IoT Developer Guide.

Syntax

To declare this entity in your Amazon CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::IoT::Thing", "Properties" : { "AttributePayload" : AttributePayload, "ThingName" : String } }

YAML

Type: AWS::IoT::Thing Properties: AttributePayload: AttributePayload ThingName: String

Properties

AttributePayload

A string that contains up to three key value pairs. Maximum length of 800. Duplicates not allowed.

Required: No

Type: AttributePayload

Update requires: No interruption

ThingName

The name of the thing to update.

You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.

Required: No

Type: String

Update requires: Replacement

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Reffunction, Refreturns the thing name. For example:

{ "Ref": "MyThing" }

For a stack named MyStack, a value similar to the following is returned:

MyStack-MyThing-AB1CDEFGHIJK

For more information about using the Reffunction, see Ref.

Fn::GetAtt

Arn

Property description not available.

Id

Property description not available.

Examples

The following example declares a thing and the values of its attributes.

JSON

{ "AWSTemplateFormatVersion":"2010-09-09", "Resources":{ "MyThing":{ "Type":"AWS::IoT::Thing", "Properties":{ "ThingName":{ "Ref":"NameParameter" }, "AttributePayload":{ "Attributes":{ "myAttributeA":{ "Ref":"MyAttributeValueA" }, "myAttributeB":{ "Ref":"MyAttributeValueB" }, "myAttributeC":{ "Ref":"MyAttributeValueC" } } } } } }, "Parameters":{ "NameParameter":{ "Type":"String" }, "MyAttributeValueA":{ "Type":"String", "Default":"myStringA123" }, "MyAttributeValueB":{ "Type":"String", "Default":"myStringB123" }, "MyAttributeValueC":{ "Type":"String", "Default":"myStringC123" } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Resources: MyThing: Type: AWS::IoT::Thing Properties: ThingName: Ref: NameParameter AttributePayload: Attributes: myAttributeA: Ref: MyAttributeValueA myAttributeB: Ref: MyAttributeValueB myAttributeC: Ref: MyAttributeValueC Parameters: NameParameter: Type: String MyAttributeValueA: Type: String Default: myStringA123 MyAttributeValueB: Type: String Default: myStringB123 MyAttributeValueC: Type: String Default: myStringC123