

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS IoT SiteWise
<a name="AWS_IoTSiteWise"></a>

**Resource types**
+ [AWS::IoTSiteWise::AccessPolicy](aws-resource-iotsitewise-accesspolicy.md)
+ [AWS::IoTSiteWise::Asset](aws-resource-iotsitewise-asset.md)
+ [AWS::IoTSiteWise::AssetModel](aws-resource-iotsitewise-assetmodel.md)
+ [AWS::IoTSiteWise::ComputationModel](aws-resource-iotsitewise-computationmodel.md)
+ [AWS::IoTSiteWise::Dashboard](aws-resource-iotsitewise-dashboard.md)
+ [AWS::IoTSiteWise::Dataset](aws-resource-iotsitewise-dataset.md)
+ [AWS::IoTSiteWise::Gateway](aws-resource-iotsitewise-gateway.md)
+ [AWS::IoTSiteWise::Portal](aws-resource-iotsitewise-portal.md)
+ [AWS::IoTSiteWise::Project](aws-resource-iotsitewise-project.md)

# AWS::IoTSiteWise::AccessPolicy
<a name="aws-resource-iotsitewise-accesspolicy"></a>

**Important**  
The AWS IoT SiteWise Monitor feature will no longer be open to new customers starting November 7, 2025 . If you would like to use the AWS IoT SiteWise Monitor feature, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT SiteWise Monitor availability change](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/iotsitewise-monitor-availability-change.html).

Creates an access policy that grants the specified identity (IAM Identity Center user, IAM Identity Center group, or IAM user) access to the specified AWS IoT SiteWise Monitor portal or project resource.

**Note**  
Support for access policies that use an SSO Group as the identity is not supported at this time.

## Syntax
<a name="aws-resource-iotsitewise-accesspolicy-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-accesspolicy-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::AccessPolicy",
  "Properties" : {
      "[AccessPolicyIdentity](#cfn-iotsitewise-accesspolicy-accesspolicyidentity)" : AccessPolicyIdentity,
      "[AccessPolicyPermission](#cfn-iotsitewise-accesspolicy-accesspolicypermission)" : String,
      "[AccessPolicyResource](#cfn-iotsitewise-accesspolicy-accesspolicyresource)" : AccessPolicyResource
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-accesspolicy-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::AccessPolicy
Properties:
  [AccessPolicyIdentity](#cfn-iotsitewise-accesspolicy-accesspolicyidentity): 
    AccessPolicyIdentity
  [AccessPolicyPermission](#cfn-iotsitewise-accesspolicy-accesspolicypermission): String
  [AccessPolicyResource](#cfn-iotsitewise-accesspolicy-accesspolicyresource): 
    AccessPolicyResource
```

## Properties
<a name="aws-resource-iotsitewise-accesspolicy-properties"></a>

`AccessPolicyIdentity`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyidentity"></a>
The identity for this access policy. Choose an IAM Identity Center user, an IAM Identity Center group, or an IAM user.  
*Required*: Yes  
*Type*: [AccessPolicyIdentity](aws-properties-iotsitewise-accesspolicy-accesspolicyidentity.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AccessPolicyPermission`  <a name="cfn-iotsitewise-accesspolicy-accesspolicypermission"></a>
The permission level for this access policy. Note that a project `ADMINISTRATOR` is also known as a project owner.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AccessPolicyResource`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyresource"></a>
The AWS IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.  
*Required*: Yes  
*Type*: [AccessPolicyResource](aws-properties-iotsitewise-accesspolicy-accesspolicyresource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-accesspolicy-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-accesspolicy-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `AccessPolicyId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-accesspolicy-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-accesspolicy-return-values-fn--getatt-fn--getatt"></a>

`AccessPolicyArn`  <a name="AccessPolicyArn-fn::getatt"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the access policy, which has the following format.  
 `arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}`   
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`AccessPolicyId`  <a name="AccessPolicyId-fn::getatt"></a>
The ID of the access policy.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::AccessPolicy AccessPolicyIdentity
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyidentity"></a>

The identity (IAM Identity Center user, IAM Identity Center group, or IAM user) to which this access policy applies.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyidentity-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyidentity-syntax.json"></a>

```
{
  "[IamRole](#cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamrole)" : IamRole,
  "[IamUser](#cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamuser)" : IamUser,
  "[User](#cfn-iotsitewise-accesspolicy-accesspolicyidentity-user)" : User
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyidentity-syntax.yaml"></a>

```
  [IamRole](#cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamrole): 
    IamRole
  [IamUser](#cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamuser): 
    IamUser
  [User](#cfn-iotsitewise-accesspolicy-accesspolicyidentity-user): 
    User
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyidentity-properties"></a>

`IamRole`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamrole"></a>
An IAM role identity.  
*Required*: No  
*Type*: [IamRole](aws-properties-iotsitewise-accesspolicy-iamrole.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IamUser`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamuser"></a>
An IAM user identity.  
*Required*: No  
*Type*: [IamUser](aws-properties-iotsitewise-accesspolicy-iamuser.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`User`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyidentity-user"></a>
An IAM Identity Center user identity.  
*Required*: No  
*Type*: [User](aws-properties-iotsitewise-accesspolicy-user.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AccessPolicy AccessPolicyResource
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyresource"></a>

The AWS IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyresource-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyresource-syntax.json"></a>

```
{
  "[Portal](#cfn-iotsitewise-accesspolicy-accesspolicyresource-portal)" : Portal,
  "[Project](#cfn-iotsitewise-accesspolicy-accesspolicyresource-project)" : Project
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyresource-syntax.yaml"></a>

```
  [Portal](#cfn-iotsitewise-accesspolicy-accesspolicyresource-portal): 
    Portal
  [Project](#cfn-iotsitewise-accesspolicy-accesspolicyresource-project): 
    Project
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-accesspolicyresource-properties"></a>

`Portal`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyresource-portal"></a>
Identifies an AWS IoT SiteWise Monitor portal.  
*Required*: No  
*Type*: [Portal](aws-properties-iotsitewise-accesspolicy-portal.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Project`  <a name="cfn-iotsitewise-accesspolicy-accesspolicyresource-project"></a>
Identifies a specific AWS IoT SiteWise Monitor project.  
*Required*: No  
*Type*: [Project](aws-properties-iotsitewise-accesspolicy-project.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AccessPolicy IamRole
<a name="aws-properties-iotsitewise-accesspolicy-iamrole"></a>

Contains information about an AWS Identity and Access Management role. For more information, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-iamrole-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-iamrole-syntax.json"></a>

```
{
  "[arn](#cfn-iotsitewise-accesspolicy-iamrole-arn)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-iamrole-syntax.yaml"></a>

```
  [arn](#cfn-iotsitewise-accesspolicy-iamrole-arn): String
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-iamrole-properties"></a>

`arn`  <a name="cfn-iotsitewise-accesspolicy-iamrole-arn"></a>
The ARN of the IAM role. For more information, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) in the *IAM User Guide*.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AccessPolicy IamUser
<a name="aws-properties-iotsitewise-accesspolicy-iamuser"></a>

Contains information about an AWS Identity and Access Management user.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-iamuser-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-iamuser-syntax.json"></a>

```
{
  "[arn](#cfn-iotsitewise-accesspolicy-iamuser-arn)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-iamuser-syntax.yaml"></a>

```
  [arn](#cfn-iotsitewise-accesspolicy-iamuser-arn): String
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-iamuser-properties"></a>

`arn`  <a name="cfn-iotsitewise-accesspolicy-iamuser-arn"></a>
The ARN of the IAM user. For more information, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) in the *IAM User Guide*.  
If you delete the IAM user, access policies that contain this identity include an empty `arn`. You can delete the access policy for the IAM user that no longer exists.
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AccessPolicy Portal
<a name="aws-properties-iotsitewise-accesspolicy-portal"></a>

Identifies an AWS IoT SiteWise Monitor portal.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-portal-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-portal-syntax.json"></a>

```
{
  "[id](#cfn-iotsitewise-accesspolicy-portal-id)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-portal-syntax.yaml"></a>

```
  [id](#cfn-iotsitewise-accesspolicy-portal-id): String
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-portal-properties"></a>

`id`  <a name="cfn-iotsitewise-accesspolicy-portal-id"></a>
The ID of the portal.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AccessPolicy Project
<a name="aws-properties-iotsitewise-accesspolicy-project"></a>

Identifies a specific AWS IoT SiteWise Monitor project.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-project-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-project-syntax.json"></a>

```
{
  "[id](#cfn-iotsitewise-accesspolicy-project-id)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-project-syntax.yaml"></a>

```
  [id](#cfn-iotsitewise-accesspolicy-project-id): String
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-project-properties"></a>

`id`  <a name="cfn-iotsitewise-accesspolicy-project-id"></a>
The ID of the project.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AccessPolicy User
<a name="aws-properties-iotsitewise-accesspolicy-user"></a>

Contains information for a user identity in an access policy.

## Syntax
<a name="aws-properties-iotsitewise-accesspolicy-user-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-accesspolicy-user-syntax.json"></a>

```
{
  "[id](#cfn-iotsitewise-accesspolicy-user-id)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-accesspolicy-user-syntax.yaml"></a>

```
  [id](#cfn-iotsitewise-accesspolicy-user-id): String
```

## Properties
<a name="aws-properties-iotsitewise-accesspolicy-user-properties"></a>

`id`  <a name="cfn-iotsitewise-accesspolicy-user-id"></a>
The IAM Identity Center ID of the user.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Asset
<a name="aws-resource-iotsitewise-asset"></a>

Creates an asset from an existing asset model. For more information, see [Creating assets](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-assets.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-resource-iotsitewise-asset-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-asset-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::Asset",
  "Properties" : {
      "[AssetDescription](#cfn-iotsitewise-asset-assetdescription)" : String,
      "[AssetExternalId](#cfn-iotsitewise-asset-assetexternalid)" : String,
      "[AssetHierarchies](#cfn-iotsitewise-asset-assethierarchies)" : [ AssetHierarchy, ... ],
      "[AssetModelId](#cfn-iotsitewise-asset-assetmodelid)" : String,
      "[AssetName](#cfn-iotsitewise-asset-assetname)" : String,
      "[AssetProperties](#cfn-iotsitewise-asset-assetproperties)" : [ AssetProperty, ... ],
      "[Tags](#cfn-iotsitewise-asset-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-asset-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::Asset
Properties:
  [AssetDescription](#cfn-iotsitewise-asset-assetdescription): String
  [AssetExternalId](#cfn-iotsitewise-asset-assetexternalid): String
  [AssetHierarchies](#cfn-iotsitewise-asset-assethierarchies): 
    - AssetHierarchy
  [AssetModelId](#cfn-iotsitewise-asset-assetmodelid): String
  [AssetName](#cfn-iotsitewise-asset-assetname): String
  [AssetProperties](#cfn-iotsitewise-asset-assetproperties): 
    - AssetProperty
  [Tags](#cfn-iotsitewise-asset-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-asset-properties"></a>

`AssetDescription`  <a name="cfn-iotsitewise-asset-assetdescription"></a>
The ID of the asset, in UUID format.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetExternalId`  <a name="cfn-iotsitewise-asset-assetexternalid"></a>
The external ID of the asset model composite model. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetHierarchies`  <a name="cfn-iotsitewise-asset-assethierarchies"></a>
A list of asset hierarchies that each contain a `hierarchyId`. A hierarchy specifies allowed parent/child asset relationships.  
*Required*: No  
*Type*: Array of [AssetHierarchy](aws-properties-iotsitewise-asset-assethierarchy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelId`  <a name="cfn-iotsitewise-asset-assetmodelid"></a>
The ID of the asset model from which to create the asset. This can be either the actual ID in UUID format, or else `externalId:` followed by the external ID, if it has one. For more information, see [Referencing objects with external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) in the *AWS IoT SiteWise User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetName`  <a name="cfn-iotsitewise-asset-assetname"></a>
A friendly name for the asset.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetProperties`  <a name="cfn-iotsitewise-asset-assetproperties"></a>
The list of asset properties for the asset.  
This object doesn't include properties that you define in composite models. You can find composite model properties in the `assetCompositeModels` object.  
*Required*: No  
*Type*: Array of [AssetProperty](aws-properties-iotsitewise-asset-assetproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotsitewise-asset-tags"></a>
A list of key-value pairs that contain metadata for the asset. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-asset-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-asset-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-asset-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns`AssetId` and `AssetArn`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-asset-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-asset-return-values-fn--getatt-fn--getatt"></a>

`AssetArn`  <a name="AssetArn-fn::getatt"></a>
The ARN of the asset.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`AssetId`  <a name="AssetId-fn::getatt"></a>
The ID of the asset.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::Asset AssetHierarchy
<a name="aws-properties-iotsitewise-asset-assethierarchy"></a>

Describes an asset hierarchy that contains a hierarchy's name and ID.

## Syntax
<a name="aws-properties-iotsitewise-asset-assethierarchy-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-asset-assethierarchy-syntax.json"></a>

```
{
  "[ChildAssetId](#cfn-iotsitewise-asset-assethierarchy-childassetid)" : String,
  "[ExternalId](#cfn-iotsitewise-asset-assethierarchy-externalid)" : String,
  "[Id](#cfn-iotsitewise-asset-assethierarchy-id)" : String,
  "[LogicalId](#cfn-iotsitewise-asset-assethierarchy-logicalid)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-asset-assethierarchy-syntax.yaml"></a>

```
  [ChildAssetId](#cfn-iotsitewise-asset-assethierarchy-childassetid): String
  [ExternalId](#cfn-iotsitewise-asset-assethierarchy-externalid): String
  [Id](#cfn-iotsitewise-asset-assethierarchy-id): String
  [LogicalId](#cfn-iotsitewise-asset-assethierarchy-logicalid): String
```

## Properties
<a name="aws-properties-iotsitewise-asset-assethierarchy-properties"></a>

`ChildAssetId`  <a name="cfn-iotsitewise-asset-assethierarchy-childassetid"></a>
The Id of the child asset.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExternalId`  <a name="cfn-iotsitewise-asset-assethierarchy-externalid"></a>
The external ID of the hierarchy, if it has one. When you update an asset hierarchy, you may assign an external ID if it doesn't already have one. You can't change the external ID of an asset hierarchy that already has one. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Id`  <a name="cfn-iotsitewise-asset-assethierarchy-id"></a>
The ID of the hierarchy. This ID is a `hierarchyId`.  
This is a return value and can't be set.
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogicalId`  <a name="cfn-iotsitewise-asset-assethierarchy-logicalid"></a>
The ID of the hierarchy. This ID is a `hierarchyId`.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\u0000-\u001F\u007F]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Asset AssetProperty
<a name="aws-properties-iotsitewise-asset-assetproperty"></a>

Contains asset property information.

## Syntax
<a name="aws-properties-iotsitewise-asset-assetproperty-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-asset-assetproperty-syntax.json"></a>

```
{
  "[Alias](#cfn-iotsitewise-asset-assetproperty-alias)" : String,
  "[ExternalId](#cfn-iotsitewise-asset-assetproperty-externalid)" : String,
  "[Id](#cfn-iotsitewise-asset-assetproperty-id)" : String,
  "[LogicalId](#cfn-iotsitewise-asset-assetproperty-logicalid)" : String,
  "[NotificationState](#cfn-iotsitewise-asset-assetproperty-notificationstate)" : String,
  "[Unit](#cfn-iotsitewise-asset-assetproperty-unit)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-asset-assetproperty-syntax.yaml"></a>

```
  [Alias](#cfn-iotsitewise-asset-assetproperty-alias): String
  [ExternalId](#cfn-iotsitewise-asset-assetproperty-externalid): String
  [Id](#cfn-iotsitewise-asset-assetproperty-id): String
  [LogicalId](#cfn-iotsitewise-asset-assetproperty-logicalid): String
  [NotificationState](#cfn-iotsitewise-asset-assetproperty-notificationstate): String
  [Unit](#cfn-iotsitewise-asset-assetproperty-unit): String
```

## Properties
<a name="aws-properties-iotsitewise-asset-assetproperty-properties"></a>

`Alias`  <a name="cfn-iotsitewise-asset-assetproperty-alias"></a>
The alias that identifies the property, such as an OPC-UA server data stream path (for example, `/company/windfarm/3/turbine/7/temperature`). For more information, see [Mapping industrial data streams to asset properties](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExternalId`  <a name="cfn-iotsitewise-asset-assetproperty-externalid"></a>
The external ID of the property. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Id`  <a name="cfn-iotsitewise-asset-assetproperty-id"></a>
The ID of the asset property.  
This is a return value and can't be set.
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogicalId`  <a name="cfn-iotsitewise-asset-assetproperty-logicalid"></a>
The `LogicalID` of the asset property.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\u0000-\u001F\u007F]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotificationState`  <a name="cfn-iotsitewise-asset-assetproperty-notificationstate"></a>
The MQTT notification state (enabled or disabled) for this asset property. When the notification state is enabled, AWS IoT SiteWise publishes property value updates to a unique MQTT topic. For more information, see [Interacting with other services](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html) in the *AWS IoT SiteWise User Guide*.  
If you omit this parameter, the notification state is set to `DISABLED`.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Unit`  <a name="cfn-iotsitewise-asset-assetproperty-unit"></a>
The unit (such as `Newtons` or `RPM`) of the asset property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Asset Tag
<a name="aws-properties-iotsitewise-asset-tag"></a>

A list of key-value pairs that contain metadata for the asset. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-asset-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-asset-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-asset-tag-key)" : String,
  "[Value](#cfn-iotsitewise-asset-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-asset-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-asset-tag-key): String
  [Value](#cfn-iotsitewise-asset-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-asset-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-asset-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-asset-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel
<a name="aws-resource-iotsitewise-assetmodel"></a>

Creates an asset model from specified property and hierarchy definitions. You create assets from asset models. With asset models, you can easily create assets of the same type that have standardized definitions. Each asset created from a model inherits the asset model's property and hierarchy definitions. For more information, see [Defining asset models](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html) in the *AWS IoT SiteWise User Guide*.

You can create three types of asset models, `ASSET_MODEL`, `COMPONENT_MODEL`, or an `INTERFACE`.
+ **ASSET\$1MODEL** – (default) An asset model that you can use to create assets. Can't be included as a component in another asset model.
+ **COMPONENT\$1MODEL** – A reusable component that you can include in the composite models of other asset models. You can't create assets directly from this type of asset model. 
+ **INTERFACE** – An interface is a type of model that defines a standard structure that can be applied to different asset models.

## Syntax
<a name="aws-resource-iotsitewise-assetmodel-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-assetmodel-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::AssetModel",
  "Properties" : {
      "[AssetModelCompositeModels](#cfn-iotsitewise-assetmodel-assetmodelcompositemodels)" : [ AssetModelCompositeModel, ... ],
      "[AssetModelDescription](#cfn-iotsitewise-assetmodel-assetmodeldescription)" : String,
      "[AssetModelExternalId](#cfn-iotsitewise-assetmodel-assetmodelexternalid)" : String,
      "[AssetModelHierarchies](#cfn-iotsitewise-assetmodel-assetmodelhierarchies)" : [ AssetModelHierarchy, ... ],
      "[AssetModelName](#cfn-iotsitewise-assetmodel-assetmodelname)" : String,
      "[AssetModelProperties](#cfn-iotsitewise-assetmodel-assetmodelproperties)" : [ AssetModelProperty, ... ],
      "[AssetModelType](#cfn-iotsitewise-assetmodel-assetmodeltype)" : String,
      "[EnforcedAssetModelInterfaceRelationships](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationships)" : [ EnforcedAssetModelInterfaceRelationship, ... ],
      "[Tags](#cfn-iotsitewise-assetmodel-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-assetmodel-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::AssetModel
Properties:
  [AssetModelCompositeModels](#cfn-iotsitewise-assetmodel-assetmodelcompositemodels): 
    - AssetModelCompositeModel
  [AssetModelDescription](#cfn-iotsitewise-assetmodel-assetmodeldescription): String
  [AssetModelExternalId](#cfn-iotsitewise-assetmodel-assetmodelexternalid): String
  [AssetModelHierarchies](#cfn-iotsitewise-assetmodel-assetmodelhierarchies): 
    - AssetModelHierarchy
  [AssetModelName](#cfn-iotsitewise-assetmodel-assetmodelname): String
  [AssetModelProperties](#cfn-iotsitewise-assetmodel-assetmodelproperties): 
    - AssetModelProperty
  [AssetModelType](#cfn-iotsitewise-assetmodel-assetmodeltype): String
  [EnforcedAssetModelInterfaceRelationships](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationships): 
    - EnforcedAssetModelInterfaceRelationship
  [Tags](#cfn-iotsitewise-assetmodel-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-assetmodel-properties"></a>

`AssetModelCompositeModels`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodels"></a>
The composite models that are part of this asset model. It groups properties (such as attributes, measurements, transforms, and metrics) and child composite models that model parts of your industrial equipment. Each composite model has a type that defines the properties that the composite model supports. Use composite models to define alarms on this asset model.  
When creating custom composite models, you need to use [CreateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html). For more information, see [Creating custom composite models (Components)](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-custom-composite-models.html) in the *AWS IoT SiteWise User Guide*.
*Required*: No  
*Type*: Array of [AssetModelCompositeModel](aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelDescription`  <a name="cfn-iotsitewise-assetmodel-assetmodeldescription"></a>
A description for the asset model.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelExternalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelexternalid"></a>
The external ID of the asset model. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelHierarchies`  <a name="cfn-iotsitewise-assetmodel-assetmodelhierarchies"></a>
The hierarchy definitions of the asset model. Each hierarchy specifies an asset model whose assets can be children of any other assets created from this asset model. For more information, see [Asset hierarchies](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) in the *AWS IoT SiteWise User Guide*.  
You can specify up to 10 hierarchies per asset model. For more information, see [Quotas](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [AssetModelHierarchy](aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelName`  <a name="cfn-iotsitewise-assetmodel-assetmodelname"></a>
A unique name for the asset model.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelProperties`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperties"></a>
The property definitions of the asset model. For more information, see [Asset properties](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html) in the *AWS IoT SiteWise User Guide*.  
You can specify up to 200 properties per asset model. For more information, see [Quotas](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [AssetModelProperty](aws-properties-iotsitewise-assetmodel-assetmodelproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelType`  <a name="cfn-iotsitewise-assetmodel-assetmodeltype"></a>
The type of asset model.  
+ **ASSET\$1MODEL** – (default) An asset model that you can use to create assets. Can't be included as a component in another asset model.
+ **COMPONENT\$1MODEL** – A reusable component that you can include in the composite models of other asset models. You can't create assets directly from this type of asset model. 
+ **INTERFACE** – An interface is a type of model that defines a standard structure that can be applied to different asset models.
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnforcedAssetModelInterfaceRelationships`  <a name="cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationships"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [EnforcedAssetModelInterfaceRelationship](aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotsitewise-assetmodel-tags"></a>
A list of key-value pairs that contain metadata for the asset. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-assetmodel-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-assetmodel-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-assetmodel-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `AssetModelId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-assetmodel-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-assetmodel-return-values-fn--getatt-fn--getatt"></a>

`AssetModelId`  <a name="AssetModelId-fn::getatt"></a>
The ID of the asset model.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::AssetModel AssetModelCompositeModel
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel"></a>

Contains information about a composite model in an asset model. This object contains the asset property definitions that you define in the composite model.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel-syntax.json"></a>

```
{
  "[ComposedAssetModelId](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-composedassetmodelid)" : String,
  "[CompositeModelProperties](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-compositemodelproperties)" : [ AssetModelProperty, ... ],
  "[Description](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-description)" : String,
  "[ExternalId](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-externalid)" : String,
  "[Id](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-id)" : String,
  "[Name](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-name)" : String,
  "[ParentAssetModelCompositeModelExternalId](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-parentassetmodelcompositemodelexternalid)" : String,
  "[Path](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-path)" : [ String, ... ],
  "[Type](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-type)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel-syntax.yaml"></a>

```
  [ComposedAssetModelId](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-composedassetmodelid): String
  [CompositeModelProperties](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-compositemodelproperties): 
    - AssetModelProperty
  [Description](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-description): String
  [ExternalId](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-externalid): String
  [Id](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-id): String
  [Name](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-name): String
  [ParentAssetModelCompositeModelExternalId](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-parentassetmodelcompositemodelexternalid): String
  [Path](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-path): 
    - String
  [Type](#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-type): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel-properties"></a>

`ComposedAssetModelId`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-composedassetmodelid"></a>
The ID of a component model which is reused to create this composite model.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CompositeModelProperties`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-compositemodelproperties"></a>
The asset property definitions for this composite model.  
*Required*: No  
*Type*: Array of [AssetModelProperty](aws-properties-iotsitewise-assetmodel-assetmodelproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-description"></a>
The description of the composite model.  
If the composite model is a `component-model-based` composite model, the description is inherited from the `COMPONENT_MODEL` asset model and cannot be changed.
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExternalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-externalid"></a>
The external ID of a composite model on this asset model. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
One of `ExternalId` or `Path` must be specified.
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Id`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-id"></a>
 The ID of the asset model composite model.   
This is a return value and can't be set.
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-name"></a>
The name of the composite model.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParentAssetModelCompositeModelExternalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-parentassetmodelcompositemodelexternalid"></a>
The external ID of the parent composite model. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Path`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-path"></a>
The structured path to the property from the root of the asset using property names. Path is used as the ID if the asset model is a derived composite model.   
One of `ExternalId` or `Path` must be specified.
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotsitewise-assetmodel-assetmodelcompositemodel-type"></a>
The type of the composite model. For alarm composite models, this type is `AWS/ALARM`.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Examples
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples"></a>



**Topics**
+ [Create an alarm model](#aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples--Create_an_alarm_model)
+ [Create a `component-model-based` composite model](#aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples--Create_a_component-model-based_composite_model)

### Create an alarm model
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples--Create_an_alarm_model"></a>

You can modify the following example to create an alarm model.

**Note**  
Replace `TestAlarmModel` with the name of your alarm model.

#### YAML
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples--Create_an_alarm_model--yaml"></a>

```
Resources: AssetModelWithAlarmCompositeModel: Type:
                AWS::IoTSiteWise::AssetModel Properties: AssetModelName:
                AssetModelWithValidAlarmCompositeModel AssetModelDescription:
                AssetModelWithValidAlarmCompositeModel AssetModelCompositeModels: - Description:
                compositeModel created by cfn Name: TestAlarmCompositeModel Type: AWS/ALARM
                CompositeModelProperties: - LogicalId: MyLogicalId_for_ALARM_TYPE_1 Name:
                AWS/ALARM_TYPE DataType: STRING Type: TypeName: Attribute Attribute: DefaultValue:
                IOT_EVENTS - LogicalId: MyLogicalId_for_ALARM_SOURCE_1 Name: AWS/ALARM_SOURCE
                DataType: STRING Type: TypeName: Attribute Attribute: DefaultValue: Fn::Sub:
                "arn:${AWS::Partition}:iotevents:${AWS::Region}:${AWS::AccountId}:alarmModel/TestAlarmModel"
                - LogicalId: MyLogicalId_for_ALARM_STATE_1 Name: AWS/ALARM_STATE DataType: STRUCT
                DataTypeSpec: AWS/ALARM_STATE Type: TypeName: Measurement
```

### Create a `component-model-based` composite model
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples--Create_a_component-model-based_composite_model"></a>

You can modify the following example to create a `component-model-based` composite model.

#### YAML
<a name="aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel--examples--Create_a_component-model-based_composite_model--yaml"></a>

```
Resources: MainAssetModel: Type: AWS::IoTSiteWise::AssetModel
                Properties: AssetModelExternalId: AssetModelName: AssetModelWithCustomComposites
                AssetModelDescription: Asset model with custom composite models
                AssetModelProperties: - Name: metric_property ExternalId:
                metric_property_external_id DataType: DOUBLE Type: TypeName: Transform Transform:
                Expression: abs(avgtemp) Variables: - Name: avgtemp Value: PropertyPath: - Name:
                AssetModelWithCustomComposites - Name: CompositeModel3 - Name:
                ComponentModel1CompositeModel - Name: ComponentModel2Property
                AssetModelCompositeModels: - ExternalId: CompositeModelExternalId1 Type: CUSTOM
                Name: CompositeModel1 CompositeModelProperties: - Name: CompositeModel1Property
                ExternalId: CompositeModel1PropertyExternalId DataType: DOUBLE Type: TypeName:
                Measurement - ExternalId: CompositeModelExternalId2 Type: CUSTOM Name:
                CompositeModel2 ParentAssetModelCompositeModelExternalId: CompositeModelExternalId1
                CompositeModelProperties: - Name: CompositeModel2Property ExternalId:
                CompositeModel2PropertyExternalId DataType: DOUBLE Type: TypeName: Measurement -
                ExternalId: CompositeModelExternalId3 Type: CUSTOM Name: CompositeModel3
                ComposedAssetModelId: !Ref ComponentModel1 - Path: - AssetModelWithCustomComposites
                - CompositeModel3 - ComponentModel1CompositeModel ExternalId:
                DerivedCompositeExternalId Type: CUSTOM Name: ComponentModel1CompositeModel
                CompositeModelProperties: - Name: ComponentModel2Property ExternalId:
                DerivedCompositePropertyExternalId DataType: DOUBLE Type: TypeName: Measurement
                ComponentModel1: Type: AWS::IoTSiteWise::AssetModel Properties:
                AssetModelExternalId: ComponentModel1ExternalId AssetModelType: COMPONENT_MODEL
                AssetModelName: ComponentModel1 AssetModelCompositeModels: - ExternalId:
                ComponentModel1CompositeModel ComposedAssetModelId: !Ref ComponentModel2 Name:
                ComponentModel1CompositeModel Type: CUSTOM ComponentModel2: Type:
                AWS::IoTSiteWise::AssetModel Properties: AssetModelExternalId:
                ComponentModel2ExternalId AssetModelType: COMPONENT_MODEL AssetModelName:
                ComponentModel2 AssetModelProperties: - Name: ComponentModel2Property ExternalId:
                ComponentModel2PropertyExternalId DataType: DOUBLE Type: TypeName: Measurement
```

# AWS::IoTSiteWise::AssetModel AssetModelHierarchy
<a name="aws-properties-iotsitewise-assetmodel-assetmodelhierarchy"></a>

Describes an asset hierarchy that contains a hierarchy's name, ID, and child asset model ID that specifies the type of asset that can be in this hierarchy.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-assetmodelhierarchy-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-assetmodelhierarchy-syntax.json"></a>

```
{
  "[ChildAssetModelId](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-childassetmodelid)" : String,
  "[ExternalId](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-externalid)" : String,
  "[Id](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-id)" : String,
  "[LogicalId](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-logicalid)" : String,
  "[Name](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-name)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-assetmodelhierarchy-syntax.yaml"></a>

```
  [ChildAssetModelId](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-childassetmodelid): String
  [ExternalId](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-externalid): String
  [Id](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-id): String
  [LogicalId](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-logicalid): String
  [Name](#cfn-iotsitewise-assetmodel-assetmodelhierarchy-name): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-assetmodelhierarchy-properties"></a>

`ChildAssetModelId`  <a name="cfn-iotsitewise-assetmodel-assetmodelhierarchy-childassetmodelid"></a>
The ID of the asset model, in UUID format. All assets in this hierarchy must be instances of the `childAssetModelId` asset model. AWS IoT SiteWise will always return the actual asset model ID for this value. However, when you are specifying this value as part of a call to [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html), you may provide either the asset model ID or else `externalId:` followed by the asset model's external ID. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.   
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExternalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelhierarchy-externalid"></a>
The external ID (if any) provided in the [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) or [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) operation. You can assign an external ID by specifying this value as part of a call to [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html). However, you can't change the external ID if one is already assigned. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
One of `ExternalId` or `LogicalId` must be specified.
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Id`  <a name="cfn-iotsitewise-assetmodel-assetmodelhierarchy-id"></a>
The ID of the asset model hierarchy. This ID is a `hierarchyId`.  
This is a return value and can't be set.
+ If you are callling [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) to create a *new* hierarchy: You can specify its ID here, if desired. AWS IoT SiteWise automatically generates a unique ID for you, so this parameter is never required. However, if you prefer to supply your own ID instead, you can specify it here in UUID format. If you specify your own ID, it must be globally unique.
+ If you are calling UpdateAssetModel to modify an *existing* hierarchy: This can be either the actual ID in UUID format, or else `externalId:` followed by the external ID, if it has one. For more information, see [Referencing objects with external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) in the *AWS IoT SiteWise User Guide*.
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogicalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelhierarchy-logicalid"></a>
The `LogicalID` of the asset model hierarchy. This ID is a `hierarchyLogicalId`.  
One of `ExternalId` or `LogicalId` must be specified.
*Required*: No  
*Type*: String  
*Pattern*: `[^\u0000-\u001F\u007F]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-iotsitewise-assetmodel-assetmodelhierarchy-name"></a>
The name of the asset model hierarchy that you specify by using the [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) or [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) API operation.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel AssetModelProperty
<a name="aws-properties-iotsitewise-assetmodel-assetmodelproperty"></a>

Contains information about an asset model property.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-assetmodelproperty-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-assetmodelproperty-syntax.json"></a>

```
{
  "[DataType](#cfn-iotsitewise-assetmodel-assetmodelproperty-datatype)" : String,
  "[DataTypeSpec](#cfn-iotsitewise-assetmodel-assetmodelproperty-datatypespec)" : String,
  "[ExternalId](#cfn-iotsitewise-assetmodel-assetmodelproperty-externalid)" : String,
  "[Id](#cfn-iotsitewise-assetmodel-assetmodelproperty-id)" : String,
  "[LogicalId](#cfn-iotsitewise-assetmodel-assetmodelproperty-logicalid)" : String,
  "[Name](#cfn-iotsitewise-assetmodel-assetmodelproperty-name)" : String,
  "[Type](#cfn-iotsitewise-assetmodel-assetmodelproperty-type)" : PropertyType,
  "[Unit](#cfn-iotsitewise-assetmodel-assetmodelproperty-unit)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-assetmodelproperty-syntax.yaml"></a>

```
  [DataType](#cfn-iotsitewise-assetmodel-assetmodelproperty-datatype): String
  [DataTypeSpec](#cfn-iotsitewise-assetmodel-assetmodelproperty-datatypespec): String
  [ExternalId](#cfn-iotsitewise-assetmodel-assetmodelproperty-externalid): String
  [Id](#cfn-iotsitewise-assetmodel-assetmodelproperty-id): String
  [LogicalId](#cfn-iotsitewise-assetmodel-assetmodelproperty-logicalid): String
  [Name](#cfn-iotsitewise-assetmodel-assetmodelproperty-name): String
  [Type](#cfn-iotsitewise-assetmodel-assetmodelproperty-type): 
    PropertyType
  [Unit](#cfn-iotsitewise-assetmodel-assetmodelproperty-unit): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-assetmodelproperty-properties"></a>

`DataType`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-datatype"></a>
The data type of the asset model property.  
If you specify `STRUCT`, you must also specify `dataTypeSpec` to identify the type of the structure for this property.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `STRING | INTEGER | DOUBLE | BOOLEAN | STRUCT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataTypeSpec`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-datatypespec"></a>
The data type of the structure for this property. This parameter exists on properties that have the `STRUCT` data type.  
*Required*: No  
*Type*: String  
*Allowed values*: `AWS/ALARM_STATE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExternalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-externalid"></a>
The external ID of the asset property. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
One of `ExternalId` or `LogicalId` must be specified.
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Id`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-id"></a>
The ID of the property.  
This is a return value and can't be set.
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogicalId`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-logicalid"></a>
The `LogicalID` of the asset model property.  
One of `ExternalId` or `LogicalId` must be specified.
*Required*: No  
*Type*: String  
*Pattern*: `[^\u0000-\u001F\u007F]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-name"></a>
The name of the asset model property.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-type"></a>
Contains a property type, which can be one of `attribute`, `measurement`, `metric`, or `transform`.  
*Required*: Yes  
*Type*: [PropertyType](aws-properties-iotsitewise-assetmodel-propertytype.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Unit`  <a name="cfn-iotsitewise-assetmodel-assetmodelproperty-unit"></a>
The unit of the asset model property, such as `Newtons` or `RPM`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel Attribute
<a name="aws-properties-iotsitewise-assetmodel-attribute"></a>

Contains an asset attribute property. For more information, see [Attributes](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-attribute-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-attribute-syntax.json"></a>

```
{
  "[DefaultValue](#cfn-iotsitewise-assetmodel-attribute-defaultvalue)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-attribute-syntax.yaml"></a>

```
  [DefaultValue](#cfn-iotsitewise-assetmodel-attribute-defaultvalue): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-attribute-properties"></a>

`DefaultValue`  <a name="cfn-iotsitewise-assetmodel-attribute-defaultvalue"></a>
The default value of the asset model property attribute. All assets that you create from the asset model contain this attribute value. You can update an attribute's value after you create an asset. For more information, see [Updating attribute values](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel EnforcedAssetModelInterfacePropertyMapping
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping"></a>

Contains information about applied interface property and asset model property

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-syntax.json"></a>

```
{
  "[AssetModelPropertyExternalId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-assetmodelpropertyexternalid)" : String,
  "[AssetModelPropertyLogicalId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-assetmodelpropertylogicalid)" : String,
  "[InterfaceAssetModelPropertyExternalId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-interfaceassetmodelpropertyexternalid)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-syntax.yaml"></a>

```
  [AssetModelPropertyExternalId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-assetmodelpropertyexternalid): String
  [AssetModelPropertyLogicalId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-assetmodelpropertylogicalid): String
  [InterfaceAssetModelPropertyExternalId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-interfaceassetmodelpropertyexternalid): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-properties"></a>

`AssetModelPropertyExternalId`  <a name="cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-assetmodelpropertyexternalid"></a>
The external ID of the linked asset model property  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetModelPropertyLogicalId`  <a name="cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-assetmodelpropertylogicalid"></a>
The logical ID of the linked asset model property  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InterfaceAssetModelPropertyExternalId`  <a name="cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping-interfaceassetmodelpropertyexternalid"></a>
The external ID of the applied interface property  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel EnforcedAssetModelInterfaceRelationship
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship"></a>

Contains information about applied interface hierarchy and asset model hierarchy

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-syntax.json"></a>

```
{
  "[InterfaceAssetModelId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-interfaceassetmodelid)" : String,
  "[PropertyMappings](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-propertymappings)" : [ EnforcedAssetModelInterfacePropertyMapping, ... ]
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-syntax.yaml"></a>

```
  [InterfaceAssetModelId](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-interfaceassetmodelid): String
  [PropertyMappings](#cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-propertymappings): 
    - EnforcedAssetModelInterfacePropertyMapping
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-properties"></a>

`InterfaceAssetModelId`  <a name="cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-interfaceassetmodelid"></a>
The ID of the asset model that has the interface applied to it.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyMappings`  <a name="cfn-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship-propertymappings"></a>
A list of property mappings between the interface asset model and the asset model where the interface is applied.  
*Required*: No  
*Type*: Array of [EnforcedAssetModelInterfacePropertyMapping](aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel ExpressionVariable
<a name="aws-properties-iotsitewise-assetmodel-expressionvariable"></a>

Contains expression variable information.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-expressionvariable-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-expressionvariable-syntax.json"></a>

```
{
  "[Name](#cfn-iotsitewise-assetmodel-expressionvariable-name)" : String,
  "[Value](#cfn-iotsitewise-assetmodel-expressionvariable-value)" : VariableValue
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-expressionvariable-syntax.yaml"></a>

```
  [Name](#cfn-iotsitewise-assetmodel-expressionvariable-name): String
  [Value](#cfn-iotsitewise-assetmodel-expressionvariable-value): 
    VariableValue
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-expressionvariable-properties"></a>

`Name`  <a name="cfn-iotsitewise-assetmodel-expressionvariable-name"></a>
The friendly name of the variable to be used in the expression.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-assetmodel-expressionvariable-value"></a>
The variable that identifies an asset property from which to use values.  
*Required*: Yes  
*Type*: [VariableValue](aws-properties-iotsitewise-assetmodel-variablevalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel Metric
<a name="aws-properties-iotsitewise-assetmodel-metric"></a>

Contains an asset metric property. With metrics, you can calculate aggregate functions, such as an average, maximum, or minimum, as specified through an expression. A metric maps several values to a single value (such as a sum).

The maximum number of dependent/cascading variables used in any one metric calculation is 10. Therefore, a *root* metric can have up to 10 cascading metrics in its computational dependency tree. Additionally, a metric can only have a data type of `DOUBLE` and consume properties with data types of `INTEGER` or `DOUBLE`.

For more information, see [Metrics](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#metrics) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-metric-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-metric-syntax.json"></a>

```
{
  "[Expression](#cfn-iotsitewise-assetmodel-metric-expression)" : String,
  "[Variables](#cfn-iotsitewise-assetmodel-metric-variables)" : [ ExpressionVariable, ... ],
  "[Window](#cfn-iotsitewise-assetmodel-metric-window)" : MetricWindow
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-metric-syntax.yaml"></a>

```
  [Expression](#cfn-iotsitewise-assetmodel-metric-expression): String
  [Variables](#cfn-iotsitewise-assetmodel-metric-variables): 
    - ExpressionVariable
  [Window](#cfn-iotsitewise-assetmodel-metric-window): 
    MetricWindow
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-metric-properties"></a>

`Expression`  <a name="cfn-iotsitewise-assetmodel-metric-expression"></a>
The mathematical expression that defines the metric aggregation function. You can specify up to 10 variables per expression. You can specify up to 10 functions per expression.   
For more information, see [Quotas](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Variables`  <a name="cfn-iotsitewise-assetmodel-metric-variables"></a>
The list of variables used in the expression.  
*Required*: Yes  
*Type*: Array of [ExpressionVariable](aws-properties-iotsitewise-assetmodel-expressionvariable.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Window`  <a name="cfn-iotsitewise-assetmodel-metric-window"></a>
The window (time interval) over which AWS IoT SiteWise computes the metric's aggregation expression. AWS IoT SiteWise computes one data point per `window`.  
*Required*: Yes  
*Type*: [MetricWindow](aws-properties-iotsitewise-assetmodel-metricwindow.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel MetricWindow
<a name="aws-properties-iotsitewise-assetmodel-metricwindow"></a>

Contains a time interval window used for data aggregate computations (for example, average, sum, count, and so on).

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-metricwindow-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-metricwindow-syntax.json"></a>

```
{
  "[Tumbling](#cfn-iotsitewise-assetmodel-metricwindow-tumbling)" : TumblingWindow
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-metricwindow-syntax.yaml"></a>

```
  [Tumbling](#cfn-iotsitewise-assetmodel-metricwindow-tumbling): 
    TumblingWindow
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-metricwindow-properties"></a>

`Tumbling`  <a name="cfn-iotsitewise-assetmodel-metricwindow-tumbling"></a>
The tumbling time interval window.  
*Required*: No  
*Type*: [TumblingWindow](aws-properties-iotsitewise-assetmodel-tumblingwindow.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel PropertyPathDefinition
<a name="aws-properties-iotsitewise-assetmodel-propertypathdefinition"></a>

Represents one level between a composite model and the root of the asset model.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-propertypathdefinition-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-propertypathdefinition-syntax.json"></a>

```
{
  "[Name](#cfn-iotsitewise-assetmodel-propertypathdefinition-name)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-propertypathdefinition-syntax.yaml"></a>

```
  [Name](#cfn-iotsitewise-assetmodel-propertypathdefinition-name): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-propertypathdefinition-properties"></a>

`Name`  <a name="cfn-iotsitewise-assetmodel-propertypathdefinition-name"></a>
The name of the path segment.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel PropertyType
<a name="aws-properties-iotsitewise-assetmodel-propertytype"></a>

Contains a property type, which can be one of `attribute`, `measurement`, `metric`, or `transform`.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-propertytype-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-propertytype-syntax.json"></a>

```
{
  "[Attribute](#cfn-iotsitewise-assetmodel-propertytype-attribute)" : Attribute,
  "[Metric](#cfn-iotsitewise-assetmodel-propertytype-metric)" : Metric,
  "[Transform](#cfn-iotsitewise-assetmodel-propertytype-transform)" : Transform,
  "[TypeName](#cfn-iotsitewise-assetmodel-propertytype-typename)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-propertytype-syntax.yaml"></a>

```
  [Attribute](#cfn-iotsitewise-assetmodel-propertytype-attribute): 
    Attribute
  [Metric](#cfn-iotsitewise-assetmodel-propertytype-metric): 
    Metric
  [Transform](#cfn-iotsitewise-assetmodel-propertytype-transform): 
    Transform
  [TypeName](#cfn-iotsitewise-assetmodel-propertytype-typename): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-propertytype-properties"></a>

`Attribute`  <a name="cfn-iotsitewise-assetmodel-propertytype-attribute"></a>
Specifies an asset attribute property. An attribute generally contains static information, such as the serial number of an [IIoT](https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications) wind turbine.  
*Required*: No  
*Type*: [Attribute](aws-properties-iotsitewise-assetmodel-attribute.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Metric`  <a name="cfn-iotsitewise-assetmodel-propertytype-metric"></a>
Specifies an asset metric property. A metric contains a mathematical expression that uses aggregate functions to process all input data points over a time interval and output a single data point, such as to calculate the average hourly temperature.  
*Required*: No  
*Type*: [Metric](aws-properties-iotsitewise-assetmodel-metric.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Transform`  <a name="cfn-iotsitewise-assetmodel-propertytype-transform"></a>
Specifies an asset transform property. A transform contains a mathematical expression that maps a property's data points from one form to another, such as a unit conversion from Celsius to Fahrenheit.  
*Required*: No  
*Type*: [Transform](aws-properties-iotsitewise-assetmodel-transform.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TypeName`  <a name="cfn-iotsitewise-assetmodel-propertytype-typename"></a>
The type of property type, which can be one of `Attribute`, `Measurement`, `Metric`, or `Transform`.   
*Required*: Yes  
*Type*: String  
*Allowed values*: `Measurement | Attribute | Transform | Metric`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel Tag
<a name="aws-properties-iotsitewise-assetmodel-tag"></a>

A list of key-value pairs that contain metadata for the asset model. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-assetmodel-tag-key)" : String,
  "[Value](#cfn-iotsitewise-assetmodel-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-assetmodel-tag-key): String
  [Value](#cfn-iotsitewise-assetmodel-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-assetmodel-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-assetmodel-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel Transform
<a name="aws-properties-iotsitewise-assetmodel-transform"></a>

Contains an asset transform property. A transform is a one-to-one mapping of a property's data points from one form to another. For example, you can use a transform to convert a Celsius data stream to Fahrenheit by applying the transformation expression to each data point of the Celsius stream. A transform can only have a data type of `DOUBLE` and consume properties with data types of `INTEGER` or `DOUBLE`.

For more information, see [Transforms](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#transforms) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-transform-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-transform-syntax.json"></a>

```
{
  "[Expression](#cfn-iotsitewise-assetmodel-transform-expression)" : String,
  "[Variables](#cfn-iotsitewise-assetmodel-transform-variables)" : [ ExpressionVariable, ... ]
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-transform-syntax.yaml"></a>

```
  [Expression](#cfn-iotsitewise-assetmodel-transform-expression): String
  [Variables](#cfn-iotsitewise-assetmodel-transform-variables): 
    - ExpressionVariable
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-transform-properties"></a>

`Expression`  <a name="cfn-iotsitewise-assetmodel-transform-expression"></a>
The mathematical expression that defines the transformation function. You can specify up to 10 variables per expression. You can specify up to 10 functions per expression.   
For more information, see [Quotas](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Variables`  <a name="cfn-iotsitewise-assetmodel-transform-variables"></a>
The list of variables used in the expression.  
*Required*: Yes  
*Type*: Array of [ExpressionVariable](aws-properties-iotsitewise-assetmodel-expressionvariable.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel TumblingWindow
<a name="aws-properties-iotsitewise-assetmodel-tumblingwindow"></a>

Contains a tumbling window, which is a repeating fixed-sized, non-overlapping, and contiguous time window. You can use this window in metrics to aggregate data from properties and other assets.

You can use `m`, `h`, `d`, and `w` when you specify an interval or offset. Note that `m` represents minutes, `h` represents hours, `d` represents days, and `w` represents weeks. You can also use `s` to represent seconds in `offset`.

The `interval` and `offset` parameters support the [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `PT5S` represents 5 seconds, `PT5M` represents 5 minutes, and `PT5H` represents 5 hours.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-tumblingwindow-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-tumblingwindow-syntax.json"></a>

```
{
  "[Interval](#cfn-iotsitewise-assetmodel-tumblingwindow-interval)" : String,
  "[Offset](#cfn-iotsitewise-assetmodel-tumblingwindow-offset)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-tumblingwindow-syntax.yaml"></a>

```
  [Interval](#cfn-iotsitewise-assetmodel-tumblingwindow-interval): String
  [Offset](#cfn-iotsitewise-assetmodel-tumblingwindow-offset): String
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-tumblingwindow-properties"></a>

`Interval`  <a name="cfn-iotsitewise-assetmodel-tumblingwindow-interval"></a>
The time interval for the tumbling window. The interval time must be between 1 minute and 1 week.  
AWS IoT SiteWise computes the `1w` interval the end of Sunday at midnight each week (UTC), the `1d` interval at the end of each day at midnight (UTC), the `1h` interval at the end of each hour, and so on.   
When AWS IoT SiteWise aggregates data points for metric computations, the start of each interval is exclusive and the end of each interval is inclusive. AWS IoT SiteWise places the computed data point at the end of the interval.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Offset`  <a name="cfn-iotsitewise-assetmodel-tumblingwindow-offset"></a>
The offset for the tumbling window. The `offset` parameter accepts the following:  
+ The offset time.

  For example, if you specify `18h` for `offset` and `1d` for `interval`, AWS IoT SiteWise aggregates data in one of the following ways:
  + If you create the metric before or at 6 PM (UTC), you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.
  + If you create the metric after 6 PM (UTC), you get the first aggregation result at 6 PM (UTC) the next day.
+ The ISO 8601 format.

  For example, if you specify `PT18H` for `offset` and `1d` for `interval`, AWS IoT SiteWise aggregates data in one of the following ways:
  + If you create the metric before or at 6 PM (UTC), you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.
  + If you create the metric after 6 PM (UTC), you get the first aggregation result at 6 PM (UTC) the next day.
+ The 24-hour clock.

  For example, if you specify `00:03:00` for `offset`, `5m` for `interval`, and you create the metric at 2 PM (UTC), you get the first aggregation result at 2:03 PM (UTC). You get the second aggregation result at 2:08 PM (UTC). 
+ The offset time zone.

  For example, if you specify `2021-07-23T18:00-08` for `offset` and `1d` for `interval`, AWS IoT SiteWise aggregates data in one of the following ways:
  + If you create the metric before or at 6 PM (PST), you get the first aggregation result at 6 PM (PST) on the day when you create the metric.
  + If you create the metric after 6 PM (PST), you get the first aggregation result at 6 PM (PST) the next day.
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::AssetModel VariableValue
<a name="aws-properties-iotsitewise-assetmodel-variablevalue"></a>

Identifies a property value used in an expression.

## Syntax
<a name="aws-properties-iotsitewise-assetmodel-variablevalue-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-assetmodel-variablevalue-syntax.json"></a>

```
{
  "[HierarchyExternalId](#cfn-iotsitewise-assetmodel-variablevalue-hierarchyexternalid)" : String,
  "[HierarchyId](#cfn-iotsitewise-assetmodel-variablevalue-hierarchyid)" : String,
  "[HierarchyLogicalId](#cfn-iotsitewise-assetmodel-variablevalue-hierarchylogicalid)" : String,
  "[PropertyExternalId](#cfn-iotsitewise-assetmodel-variablevalue-propertyexternalid)" : String,
  "[PropertyId](#cfn-iotsitewise-assetmodel-variablevalue-propertyid)" : String,
  "[PropertyLogicalId](#cfn-iotsitewise-assetmodel-variablevalue-propertylogicalid)" : String,
  "[PropertyPath](#cfn-iotsitewise-assetmodel-variablevalue-propertypath)" : [ PropertyPathDefinition, ... ]
}
```

### YAML
<a name="aws-properties-iotsitewise-assetmodel-variablevalue-syntax.yaml"></a>

```
  [HierarchyExternalId](#cfn-iotsitewise-assetmodel-variablevalue-hierarchyexternalid): String
  [HierarchyId](#cfn-iotsitewise-assetmodel-variablevalue-hierarchyid): String
  [HierarchyLogicalId](#cfn-iotsitewise-assetmodel-variablevalue-hierarchylogicalid): String
  [PropertyExternalId](#cfn-iotsitewise-assetmodel-variablevalue-propertyexternalid): String
  [PropertyId](#cfn-iotsitewise-assetmodel-variablevalue-propertyid): String
  [PropertyLogicalId](#cfn-iotsitewise-assetmodel-variablevalue-propertylogicalid): String
  [PropertyPath](#cfn-iotsitewise-assetmodel-variablevalue-propertypath): 
    - PropertyPathDefinition
```

## Properties
<a name="aws-properties-iotsitewise-assetmodel-variablevalue-properties"></a>

`HierarchyExternalId`  <a name="cfn-iotsitewise-assetmodel-variablevalue-hierarchyexternalid"></a>
The external ID of the hierarchy being referenced. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HierarchyId`  <a name="cfn-iotsitewise-assetmodel-variablevalue-hierarchyid"></a>
The ID of the hierarchy to query for the property ID. You can use the hierarchy's name instead of the hierarchy's ID. If the hierarchy has an external ID, you can specify `externalId:` followed by the external ID. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
You use a hierarchy ID instead of a model ID because you can have several hierarchies using the same model and therefore the same `propertyId`. For example, you might have separately grouped assets that come from the same asset model. For more information, see [Asset hierarchies](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HierarchyLogicalId`  <a name="cfn-iotsitewise-assetmodel-variablevalue-hierarchylogicalid"></a>
The `LogicalID` of the hierarchy to query for the `PropertyLogicalID`.  
You use a `hierarchyLogicalID` instead of a model ID because you can have several hierarchies using the same model and therefore the same property. For example, you might have separately grouped assets that come from the same asset model. For more information, see [Defining relationships between asset models (hierarchies)](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\u0000-\u001F\u007F]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyExternalId`  <a name="cfn-iotsitewise-assetmodel-variablevalue-propertyexternalid"></a>
The external ID of the property being referenced. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`  
*Minimum*: `2`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyId`  <a name="cfn-iotsitewise-assetmodel-variablevalue-propertyid"></a>
The ID of the property to use as the variable. You can use the property `name` if it's from the same asset model. If the property has an external ID, you can specify `externalId:` followed by the external ID. For more information, see [Using external IDs](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) in the *AWS IoT SiteWise User Guide*.  
This is a return value and can't be set.
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyLogicalId`  <a name="cfn-iotsitewise-assetmodel-variablevalue-propertylogicalid"></a>
The `LogicalID` of the property that is being referenced.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\u0000-\u001F\u007F]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyPath`  <a name="cfn-iotsitewise-assetmodel-variablevalue-propertypath"></a>
The path of the property. Each step of the path is the name of the step. See the following example:  

```
PropertyPath:
  Name: AssetModelName
  Name: Composite1
  Name: NestedComposite
```
*Required*: No  
*Type*: Array of [PropertyPathDefinition](aws-properties-iotsitewise-assetmodel-propertypathdefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::ComputationModel
<a name="aws-resource-iotsitewise-computationmodel"></a>

Create a computation model with a configuration and data binding.

## Syntax
<a name="aws-resource-iotsitewise-computationmodel-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-computationmodel-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::ComputationModel",
  "Properties" : {
      "[ComputationModelConfiguration](#cfn-iotsitewise-computationmodel-computationmodelconfiguration)" : ComputationModelConfiguration,
      "[ComputationModelDataBinding](#cfn-iotsitewise-computationmodel-computationmodeldatabinding)" : {Key: Value, ...},
      "[ComputationModelDescription](#cfn-iotsitewise-computationmodel-computationmodeldescription)" : String,
      "[ComputationModelName](#cfn-iotsitewise-computationmodel-computationmodelname)" : String,
      "[Tags](#cfn-iotsitewise-computationmodel-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-computationmodel-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::ComputationModel
Properties:
  [ComputationModelConfiguration](#cfn-iotsitewise-computationmodel-computationmodelconfiguration): 
    ComputationModelConfiguration
  [ComputationModelDataBinding](#cfn-iotsitewise-computationmodel-computationmodeldatabinding): 
    Key: Value
  [ComputationModelDescription](#cfn-iotsitewise-computationmodel-computationmodeldescription): String
  [ComputationModelName](#cfn-iotsitewise-computationmodel-computationmodelname): String
  [Tags](#cfn-iotsitewise-computationmodel-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-computationmodel-properties"></a>

`ComputationModelConfiguration`  <a name="cfn-iotsitewise-computationmodel-computationmodelconfiguration"></a>
The configuration for the computation model.  
*Required*: Yes  
*Type*: [ComputationModelConfiguration](aws-properties-iotsitewise-computationmodel-computationmodelconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComputationModelDataBinding`  <a name="cfn-iotsitewise-computationmodel-computationmodeldatabinding"></a>
The data binding for the computation model. Key is a variable name defined in configuration. Value is a `ComputationModelDataBindingValue` referenced by the variable.  
*Required*: Yes  
*Type*: Object of [ComputationModelDataBindingValue](aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComputationModelDescription`  <a name="cfn-iotsitewise-computationmodel-computationmodeldescription"></a>
The description of the computation model.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9 _\-#$*!@]+$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComputationModelName`  <a name="cfn-iotsitewise-computationmodel-computationmodelname"></a>
The name of the computation model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9 _\-#$*!@]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotsitewise-computationmodel-tags"></a>
A list of key-value pairs that contain metadata for the asset. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-computationmodel-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-computationmodel-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-computationmodel-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `ComputationModelId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-computationmodel-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-computationmodel-return-values-fn--getatt-fn--getatt"></a>

`ComputationModelArn`  <a name="ComputationModelArn-fn::getatt"></a>
The ARN of the computation model, which has the following format.  
 `arn:${Partition}:iotsitewise:${Region}:${Account}:computation-model/${ComputationModelId}`   
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`ComputationModelId`  <a name="ComputationModelId-fn::getatt"></a>
The ID of the computation model.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::ComputationModel AnomalyDetectionComputationModelConfiguration
<a name="aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration"></a>

Contains the configuration for anomaly detection computation models.

## Syntax
<a name="aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-syntax.json"></a>

```
{
  "[InputProperties](#cfn-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-inputproperties)" : String,
  "[ResultProperty](#cfn-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-resultproperty)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-syntax.yaml"></a>

```
  [InputProperties](#cfn-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-inputproperties): String
  [ResultProperty](#cfn-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-resultproperty): String
```

## Properties
<a name="aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-properties"></a>

`InputProperties`  <a name="cfn-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-inputproperties"></a>
The list of input properties for the anomaly detection model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^\$\{[a-z][a-z0-9_]*\}$`  
*Minimum*: `4`  
*Maximum*: `67`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResultProperty`  <a name="cfn-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration-resultproperty"></a>
The property where the anomaly detection results will be stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^\$\{[a-z][a-z0-9_]*\}$`  
*Minimum*: `4`  
*Maximum*: `67`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::ComputationModel AssetModelPropertyBindingValue
<a name="aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue"></a>

Contains information about an `assetModelProperty` binding value.

## Syntax
<a name="aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue-syntax.json"></a>

```
{
  "[AssetModelId](#cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-assetmodelid)" : String,
  "[PropertyId](#cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-propertyid)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue-syntax.yaml"></a>

```
  [AssetModelId](#cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-assetmodelid): String
  [PropertyId](#cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-propertyid): String
```

## Properties
<a name="aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue-properties"></a>

`AssetModelId`  <a name="cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-assetmodelid"></a>
The ID of the asset model, in UUID format.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyId`  <a name="cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-propertyid"></a>
The ID of the asset model property used in data binding value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::ComputationModel AssetPropertyBindingValue
<a name="aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue"></a>

Represents a data binding value referencing a specific asset property. It's used to bind computation model variables to actual asset property values for processing.

## Syntax
<a name="aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue-syntax.json"></a>

```
{
  "[AssetId](#cfn-iotsitewise-computationmodel-assetpropertybindingvalue-assetid)" : String,
  "[PropertyId](#cfn-iotsitewise-computationmodel-assetpropertybindingvalue-propertyid)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue-syntax.yaml"></a>

```
  [AssetId](#cfn-iotsitewise-computationmodel-assetpropertybindingvalue-assetid): String
  [PropertyId](#cfn-iotsitewise-computationmodel-assetpropertybindingvalue-propertyid): String
```

## Properties
<a name="aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue-properties"></a>

`AssetId`  <a name="cfn-iotsitewise-computationmodel-assetpropertybindingvalue-assetid"></a>
The ID of the asset containing the property. This identifies the specific asset instance's property value used in the computation model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyId`  <a name="cfn-iotsitewise-computationmodel-assetpropertybindingvalue-propertyid"></a>
The ID of the property within the asset. This identifies the specific property's value used in the computation model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`  
*Minimum*: `36`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::ComputationModel ComputationModelConfiguration
<a name="aws-properties-iotsitewise-computationmodel-computationmodelconfiguration"></a>

The configuration for the computation model.

## Syntax
<a name="aws-properties-iotsitewise-computationmodel-computationmodelconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-computationmodel-computationmodelconfiguration-syntax.json"></a>

```
{
  "[AnomalyDetection](#cfn-iotsitewise-computationmodel-computationmodelconfiguration-anomalydetection)" : AnomalyDetectionComputationModelConfiguration
}
```

### YAML
<a name="aws-properties-iotsitewise-computationmodel-computationmodelconfiguration-syntax.yaml"></a>

```
  [AnomalyDetection](#cfn-iotsitewise-computationmodel-computationmodelconfiguration-anomalydetection): 
    AnomalyDetectionComputationModelConfiguration
```

## Properties
<a name="aws-properties-iotsitewise-computationmodel-computationmodelconfiguration-properties"></a>

`AnomalyDetection`  <a name="cfn-iotsitewise-computationmodel-computationmodelconfiguration-anomalydetection"></a>
The configuration for the anomaly detection type of computation model.  
*Required*: No  
*Type*: [AnomalyDetectionComputationModelConfiguration](aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::ComputationModel ComputationModelDataBindingValue
<a name="aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue"></a>

Contains computation model data binding value information, which can be one of `assetModelProperty`, `list`.

## Syntax
<a name="aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue-syntax.json"></a>

```
{
  "[AssetModelProperty](#cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-assetmodelproperty)" : AssetModelPropertyBindingValue,
  "[AssetProperty](#cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-assetproperty)" : AssetPropertyBindingValue,
  "[List](#cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-list)" : [ ComputationModelDataBindingValue, ... ]
}
```

### YAML
<a name="aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue-syntax.yaml"></a>

```
  [AssetModelProperty](#cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-assetmodelproperty): 
    AssetModelPropertyBindingValue
  [AssetProperty](#cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-assetproperty): 
    AssetPropertyBindingValue
  [List](#cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-list): 
    - ComputationModelDataBindingValue
```

## Properties
<a name="aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue-properties"></a>

`AssetModelProperty`  <a name="cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-assetmodelproperty"></a>
Specifies an asset model property data binding value.  
*Required*: No  
*Type*: [AssetModelPropertyBindingValue](aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AssetProperty`  <a name="cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-assetproperty"></a>
The asset property value used for computation model data binding.  
*Required*: No  
*Type*: [AssetPropertyBindingValue](aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`List`  <a name="cfn-iotsitewise-computationmodel-computationmodeldatabindingvalue-list"></a>
Specifies a list of data binding value.  
*Required*: No  
*Type*: Array of [ComputationModelDataBindingValue](#aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::ComputationModel Tag
<a name="aws-properties-iotsitewise-computationmodel-tag"></a>

Metadata assigned to an AWS IoT SiteWise resource that consists of a key-value pair.

## Syntax
<a name="aws-properties-iotsitewise-computationmodel-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-computationmodel-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-computationmodel-tag-key)" : String,
  "[Value](#cfn-iotsitewise-computationmodel-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-computationmodel-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-computationmodel-tag-key): String
  [Value](#cfn-iotsitewise-computationmodel-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-computationmodel-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-computationmodel-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-computationmodel-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Dashboard
<a name="aws-resource-iotsitewise-dashboard"></a>

**Important**  
The AWS IoT SiteWise Monitor feature will no longer be open to new customers starting November 7, 2025 . If you would like to use the AWS IoT SiteWise Monitor feature, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT SiteWise Monitor availability change](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/iotsitewise-monitor-availability-change.html).

Creates a dashboard in an AWS IoT SiteWise Monitor project.

## Syntax
<a name="aws-resource-iotsitewise-dashboard-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-dashboard-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::Dashboard",
  "Properties" : {
      "[DashboardDefinition](#cfn-iotsitewise-dashboard-dashboarddefinition)" : String,
      "[DashboardDescription](#cfn-iotsitewise-dashboard-dashboarddescription)" : String,
      "[DashboardName](#cfn-iotsitewise-dashboard-dashboardname)" : String,
      "[ProjectId](#cfn-iotsitewise-dashboard-projectid)" : String,
      "[Tags](#cfn-iotsitewise-dashboard-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-dashboard-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::Dashboard
Properties:
  [DashboardDefinition](#cfn-iotsitewise-dashboard-dashboarddefinition): String
  [DashboardDescription](#cfn-iotsitewise-dashboard-dashboarddescription): String
  [DashboardName](#cfn-iotsitewise-dashboard-dashboardname): String
  [ProjectId](#cfn-iotsitewise-dashboard-projectid): String
  [Tags](#cfn-iotsitewise-dashboard-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-dashboard-properties"></a>

`DashboardDefinition`  <a name="cfn-iotsitewise-dashboard-dashboarddefinition"></a>
The dashboard definition specified in a JSON literal.  
+ AWS IoT SiteWise Monitor (Classic) see [Create dashboards (AWS CLI)](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
+ AWS IoT SiteWise Monitor (AI-aware) see [Create dashboards (AWS CLI)](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-ai-dashboard-cli.html)
in the *AWS IoT SiteWise User Guide*  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DashboardDescription`  <a name="cfn-iotsitewise-dashboard-dashboarddescription"></a>
A description for the dashboard.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DashboardName`  <a name="cfn-iotsitewise-dashboard-dashboardname"></a>
A friendly name for the dashboard.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProjectId`  <a name="cfn-iotsitewise-dashboard-projectid"></a>
The ID of the project in which to create the dashboard.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-iotsitewise-dashboard-tags"></a>
A list of key-value pairs that contain metadata for the dashboard. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-dashboard-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-dashboard-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-dashboard-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `DashboardId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-dashboard-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-dashboard-return-values-fn--getatt-fn--getatt"></a>

`DashboardArn`  <a name="DashboardArn-fn::getatt"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the dashboard, which has the following format.  
 `arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}`   
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`DashboardId`  <a name="DashboardId-fn::getatt"></a>
The ID of the dashboard.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::Dashboard Tag
<a name="aws-properties-iotsitewise-dashboard-tag"></a>

A list of key-value pairs that contain metadata for the dashboard. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-dashboard-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-dashboard-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-dashboard-tag-key)" : String,
  "[Value](#cfn-iotsitewise-dashboard-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-dashboard-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-dashboard-tag-key): String
  [Value](#cfn-iotsitewise-dashboard-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-dashboard-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-dashboard-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-dashboard-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Dataset
<a name="aws-resource-iotsitewise-dataset"></a>

Creates a dataset to connect an external datasource.

## Syntax
<a name="aws-resource-iotsitewise-dataset-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-dataset-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::Dataset",
  "Properties" : {
      "[DatasetDescription](#cfn-iotsitewise-dataset-datasetdescription)" : String,
      "[DatasetName](#cfn-iotsitewise-dataset-datasetname)" : String,
      "[DatasetSource](#cfn-iotsitewise-dataset-datasetsource)" : DatasetSource,
      "[Tags](#cfn-iotsitewise-dataset-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-dataset-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::Dataset
Properties:
  [DatasetDescription](#cfn-iotsitewise-dataset-datasetdescription): String
  [DatasetName](#cfn-iotsitewise-dataset-datasetname): String
  [DatasetSource](#cfn-iotsitewise-dataset-datasetsource): 
    DatasetSource
  [Tags](#cfn-iotsitewise-dataset-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-dataset-properties"></a>

`DatasetDescription`  <a name="cfn-iotsitewise-dataset-datasetdescription"></a>
A description about the dataset, and its functionality.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatasetName`  <a name="cfn-iotsitewise-dataset-datasetname"></a>
The name of the dataset.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatasetSource`  <a name="cfn-iotsitewise-dataset-datasetsource"></a>
The data source for the dataset.  
*Required*: Yes  
*Type*: [DatasetSource](aws-properties-iotsitewise-dataset-datasetsource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotsitewise-dataset-tags"></a>
A list of key-value pairs that contain metadata for the access policy. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-dataset-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-dataset-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-dataset-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `DatasetId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-dataset-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-dataset-return-values-fn--getatt-fn--getatt"></a>

`DatasetArn`  <a name="DatasetArn-fn::getatt"></a>
The ARN of the dataset, which has the following format.  
 `arn:${Partition}:iotsitewise:${Region}:${Account}:dataset/${DatasetId}`   
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`DatasetId`  <a name="DatasetId-fn::getatt"></a>
The ID of the dataset.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::Dataset DatasetSource
<a name="aws-properties-iotsitewise-dataset-datasetsource"></a>

The data source for the dataset.

## Syntax
<a name="aws-properties-iotsitewise-dataset-datasetsource-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-dataset-datasetsource-syntax.json"></a>

```
{
  "[SourceDetail](#cfn-iotsitewise-dataset-datasetsource-sourcedetail)" : SourceDetail,
  "[SourceFormat](#cfn-iotsitewise-dataset-datasetsource-sourceformat)" : String,
  "[SourceType](#cfn-iotsitewise-dataset-datasetsource-sourcetype)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-dataset-datasetsource-syntax.yaml"></a>

```
  [SourceDetail](#cfn-iotsitewise-dataset-datasetsource-sourcedetail): 
    SourceDetail
  [SourceFormat](#cfn-iotsitewise-dataset-datasetsource-sourceformat): String
  [SourceType](#cfn-iotsitewise-dataset-datasetsource-sourcetype): String
```

## Properties
<a name="aws-properties-iotsitewise-dataset-datasetsource-properties"></a>

`SourceDetail`  <a name="cfn-iotsitewise-dataset-datasetsource-sourcedetail"></a>
The details of the dataset source associated with the dataset.  
*Required*: No  
*Type*: [SourceDetail](aws-properties-iotsitewise-dataset-sourcedetail.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceFormat`  <a name="cfn-iotsitewise-dataset-datasetsource-sourceformat"></a>
The format of the dataset source associated with the dataset.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `KNOWLEDGE_BASE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceType`  <a name="cfn-iotsitewise-dataset-datasetsource-sourcetype"></a>
The type of data source for the dataset.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `KENDRA`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Dataset KendraSourceDetail
<a name="aws-properties-iotsitewise-dataset-kendrasourcedetail"></a>

The source details for the Kendra dataset source.

## Syntax
<a name="aws-properties-iotsitewise-dataset-kendrasourcedetail-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-dataset-kendrasourcedetail-syntax.json"></a>

```
{
  "[KnowledgeBaseArn](#cfn-iotsitewise-dataset-kendrasourcedetail-knowledgebasearn)" : String,
  "[RoleArn](#cfn-iotsitewise-dataset-kendrasourcedetail-rolearn)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-dataset-kendrasourcedetail-syntax.yaml"></a>

```
  [KnowledgeBaseArn](#cfn-iotsitewise-dataset-kendrasourcedetail-knowledgebasearn): String
  [RoleArn](#cfn-iotsitewise-dataset-kendrasourcedetail-rolearn): String
```

## Properties
<a name="aws-properties-iotsitewise-dataset-kendrasourcedetail-properties"></a>

`KnowledgeBaseArn`  <a name="cfn-iotsitewise-dataset-kendrasourcedetail-knowledgebasearn"></a>
The `knowledgeBaseArn` details for the Kendra dataset source.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-iotsitewise-dataset-kendrasourcedetail-rolearn"></a>
The `roleARN` details for the Kendra dataset source.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Dataset SourceDetail
<a name="aws-properties-iotsitewise-dataset-sourcedetail"></a>

The details of the dataset source associated with the dataset.

## Syntax
<a name="aws-properties-iotsitewise-dataset-sourcedetail-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-dataset-sourcedetail-syntax.json"></a>

```
{
  "[Kendra](#cfn-iotsitewise-dataset-sourcedetail-kendra)" : KendraSourceDetail
}
```

### YAML
<a name="aws-properties-iotsitewise-dataset-sourcedetail-syntax.yaml"></a>

```
  [Kendra](#cfn-iotsitewise-dataset-sourcedetail-kendra): 
    KendraSourceDetail
```

## Properties
<a name="aws-properties-iotsitewise-dataset-sourcedetail-properties"></a>

`Kendra`  <a name="cfn-iotsitewise-dataset-sourcedetail-kendra"></a>
Contains details about the Kendra dataset source.  
*Required*: No  
*Type*: [KendraSourceDetail](aws-properties-iotsitewise-dataset-kendrasourcedetail.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Dataset Tag
<a name="aws-properties-iotsitewise-dataset-tag"></a>

Metadata assigned to an AWS IoT SiteWise resource that consists of a key-value pair.

## Syntax
<a name="aws-properties-iotsitewise-dataset-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-dataset-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-dataset-tag-key)" : String,
  "[Value](#cfn-iotsitewise-dataset-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-dataset-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-dataset-tag-key): String
  [Value](#cfn-iotsitewise-dataset-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-dataset-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-dataset-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-dataset-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Gateway
<a name="aws-resource-iotsitewise-gateway"></a>

Creates a gateway, which is a virtual or edge device that delivers industrial data streams from local servers to AWS IoT SiteWise. For more information, see [Ingesting data using a gateway](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-resource-iotsitewise-gateway-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-gateway-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::Gateway",
  "Properties" : {
      "[GatewayCapabilitySummaries](#cfn-iotsitewise-gateway-gatewaycapabilitysummaries)" : [ GatewayCapabilitySummary, ... ],
      "[GatewayName](#cfn-iotsitewise-gateway-gatewayname)" : String,
      "[GatewayPlatform](#cfn-iotsitewise-gateway-gatewayplatform)" : GatewayPlatform,
      "[GatewayVersion](#cfn-iotsitewise-gateway-gatewayversion)" : String,
      "[Tags](#cfn-iotsitewise-gateway-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-gateway-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::Gateway
Properties:
  [GatewayCapabilitySummaries](#cfn-iotsitewise-gateway-gatewaycapabilitysummaries): 
    - GatewayCapabilitySummary
  [GatewayName](#cfn-iotsitewise-gateway-gatewayname): String
  [GatewayPlatform](#cfn-iotsitewise-gateway-gatewayplatform): 
    GatewayPlatform
  [GatewayVersion](#cfn-iotsitewise-gateway-gatewayversion): String
  [Tags](#cfn-iotsitewise-gateway-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-gateway-properties"></a>

`GatewayCapabilitySummaries`  <a name="cfn-iotsitewise-gateway-gatewaycapabilitysummaries"></a>
A list of gateway capability summaries that each contain a namespace and status. Each gateway capability defines data sources for the gateway. To retrieve a capability configuration's definition, use [DescribeGatewayCapabilityConfiguration](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).  
*Required*: No  
*Type*: Array of [GatewayCapabilitySummary](aws-properties-iotsitewise-gateway-gatewaycapabilitysummary.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GatewayName`  <a name="cfn-iotsitewise-gateway-gatewayname"></a>
A unique name for the gateway.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GatewayPlatform`  <a name="cfn-iotsitewise-gateway-gatewayplatform"></a>
The gateway's platform. You can only specify one platform in a gateway.  
*Required*: Yes  
*Type*: [GatewayPlatform](aws-properties-iotsitewise-gateway-gatewayplatform.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`GatewayVersion`  <a name="cfn-iotsitewise-gateway-gatewayversion"></a>
The version of the gateway. A value of `3` indicates an MQTT-enabled, V3 gateway, while `2` indicates a Classic streams, V2 gateway.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-iotsitewise-gateway-tags"></a>
A list of key-value pairs that contain metadata for the gateway. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-gateway-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-gateway-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-gateway-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `GatewayId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-gateway-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-gateway-return-values-fn--getatt-fn--getatt"></a>

`GatewayId`  <a name="GatewayId-fn::getatt"></a>
The ID for the gateway.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::Gateway GatewayCapabilitySummary
<a name="aws-properties-iotsitewise-gateway-gatewaycapabilitysummary"></a>

Contains a summary of a gateway capability configuration.

## Syntax
<a name="aws-properties-iotsitewise-gateway-gatewaycapabilitysummary-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-gateway-gatewaycapabilitysummary-syntax.json"></a>

```
{
  "[CapabilityConfiguration](#cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilityconfiguration)" : String,
  "[CapabilityNamespace](#cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilitynamespace)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-gateway-gatewaycapabilitysummary-syntax.yaml"></a>

```
  [CapabilityConfiguration](#cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilityconfiguration): String
  [CapabilityNamespace](#cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilitynamespace): String
```

## Properties
<a name="aws-properties-iotsitewise-gateway-gatewaycapabilitysummary-properties"></a>

`CapabilityConfiguration`  <a name="cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilityconfiguration"></a>
The JSON document that defines the configuration for the gateway capability. For more information, see [Configuring data sources (CLI)](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CapabilityNamespace`  <a name="cfn-iotsitewise-gateway-gatewaycapabilitysummary-capabilitynamespace"></a>
The namespace of the capability configuration. For example, if you configure OPC UA sources for an MQTT-enabled gateway, your OPC-UA capability configuration has the namespace `iotsitewise:opcuacollector:3`.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Gateway GatewayPlatform
<a name="aws-properties-iotsitewise-gateway-gatewayplatform"></a>

The gateway's platform configuration. You can only specify one platform type in a gateway.

(Legacy only) For Greengrass V1 gateways, specify the `greengrass` parameter with a valid Greengrass group ARN.

For Greengrass V2 gateways, specify the `greengrassV2` parameter with a valid core device thing name. If creating a V3 gateway (`gatewayVersion=3`), you must also specify the `coreDeviceOperatingSystem`.

For Siemens Industrial Edge gateways, specify the `siemensIE` parameter with a valid IoT Core thing name.

## Syntax
<a name="aws-properties-iotsitewise-gateway-gatewayplatform-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-gateway-gatewayplatform-syntax.json"></a>

```
{
  "[GreengrassV2](#cfn-iotsitewise-gateway-gatewayplatform-greengrassv2)" : GreengrassV2,
  "[SiemensIE](#cfn-iotsitewise-gateway-gatewayplatform-siemensie)" : SiemensIE
}
```

### YAML
<a name="aws-properties-iotsitewise-gateway-gatewayplatform-syntax.yaml"></a>

```
  [GreengrassV2](#cfn-iotsitewise-gateway-gatewayplatform-greengrassv2): 
    GreengrassV2
  [SiemensIE](#cfn-iotsitewise-gateway-gatewayplatform-siemensie): 
    SiemensIE
```

## Properties
<a name="aws-properties-iotsitewise-gateway-gatewayplatform-properties"></a>

`GreengrassV2`  <a name="cfn-iotsitewise-gateway-gatewayplatform-greengrassv2"></a>
A gateway that runs on AWS IoT Greengrass V2.  
*Required*: No  
*Type*: [GreengrassV2](aws-properties-iotsitewise-gateway-greengrassv2.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SiemensIE`  <a name="cfn-iotsitewise-gateway-gatewayplatform-siemensie"></a>
An AWS IoT SiteWise Edge gateway that runs on a Siemens Industrial Edge Device.  
*Required*: No  
*Type*: [SiemensIE](aws-properties-iotsitewise-gateway-siemensie.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::IoTSiteWise::Gateway GreengrassV2
<a name="aws-properties-iotsitewise-gateway-greengrassv2"></a>

Contains details for a gateway that runs on AWS IoT Greengrass V2. To create a gateway that runs on AWS IoT Greengrass V2, you must deploy the IoT SiteWise Edge component to your gateway device. Your [Greengrass device role](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html) must use the `AWSIoTSiteWiseEdgeAccess` policy. For more information, see [Using AWS IoT SiteWise at the edge](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/sw-gateways.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-gateway-greengrassv2-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-gateway-greengrassv2-syntax.json"></a>

```
{
  "[CoreDeviceOperatingSystem](#cfn-iotsitewise-gateway-greengrassv2-coredeviceoperatingsystem)" : String,
  "[CoreDeviceThingName](#cfn-iotsitewise-gateway-greengrassv2-coredevicethingname)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-gateway-greengrassv2-syntax.yaml"></a>

```
  [CoreDeviceOperatingSystem](#cfn-iotsitewise-gateway-greengrassv2-coredeviceoperatingsystem): String
  [CoreDeviceThingName](#cfn-iotsitewise-gateway-greengrassv2-coredevicethingname): String
```

## Properties
<a name="aws-properties-iotsitewise-gateway-greengrassv2-properties"></a>

`CoreDeviceOperatingSystem`  <a name="cfn-iotsitewise-gateway-greengrassv2-coredeviceoperatingsystem"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Allowed values*: `LINUX_AARCH64 | LINUX_AMD64 | WINDOWS_AMD64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CoreDeviceThingName`  <a name="cfn-iotsitewise-gateway-greengrassv2-coredevicethingname"></a>
The name of the AWS IoT thing for your AWS IoT Greengrass V2 core device.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::IoTSiteWise::Gateway SiemensIE
<a name="aws-properties-iotsitewise-gateway-siemensie"></a>

Contains details for a AWS IoT SiteWise Edge gateway that runs on a Siemens Industrial Edge Device.

## Syntax
<a name="aws-properties-iotsitewise-gateway-siemensie-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-gateway-siemensie-syntax.json"></a>

```
{
  "[IotCoreThingName](#cfn-iotsitewise-gateway-siemensie-iotcorethingname)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-gateway-siemensie-syntax.yaml"></a>

```
  [IotCoreThingName](#cfn-iotsitewise-gateway-siemensie-iotcorethingname): String
```

## Properties
<a name="aws-properties-iotsitewise-gateway-siemensie-properties"></a>

`IotCoreThingName`  <a name="cfn-iotsitewise-gateway-siemensie-iotcorethingname"></a>
The name of the AWS IoT Thing for your AWS IoT SiteWise Edge gateway.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::IoTSiteWise::Gateway Tag
<a name="aws-properties-iotsitewise-gateway-tag"></a>

A list of key-value pairs that contain metadata for the gateway. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-gateway-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-gateway-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-gateway-tag-key)" : String,
  "[Value](#cfn-iotsitewise-gateway-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-gateway-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-gateway-tag-key): String
  [Value](#cfn-iotsitewise-gateway-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-gateway-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-gateway-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-gateway-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Portal
<a name="aws-resource-iotsitewise-portal"></a>

**Important**  
The AWS IoT SiteWise Monitor feature will no longer be open to new customers starting November 7, 2025 . If you would like to use the AWS IoT SiteWise Monitor feature, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT SiteWise Monitor availability change](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/iotsitewise-monitor-availability-change.html).

Creates a portal, which can contain projects and dashboards. AWS IoT SiteWise Monitor uses IAM Identity Center or IAM to authenticate portal users and manage user permissions.

**Note**  
Before you can sign in to a new portal, you must add at least one identity to that portal. For more information, see [Adding or removing portal administrators](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-resource-iotsitewise-portal-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-portal-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::Portal",
  "Properties" : {
      "[Alarms](#cfn-iotsitewise-portal-alarms)" : Alarms,
      "[NotificationSenderEmail](#cfn-iotsitewise-portal-notificationsenderemail)" : String,
      "[PortalAuthMode](#cfn-iotsitewise-portal-portalauthmode)" : String,
      "[PortalContactEmail](#cfn-iotsitewise-portal-portalcontactemail)" : String,
      "[PortalDescription](#cfn-iotsitewise-portal-portaldescription)" : String,
      "[PortalName](#cfn-iotsitewise-portal-portalname)" : String,
      "[PortalType](#cfn-iotsitewise-portal-portaltype)" : String,
      "[PortalTypeConfiguration](#cfn-iotsitewise-portal-portaltypeconfiguration)" : {Key: Value, ...},
      "[RoleArn](#cfn-iotsitewise-portal-rolearn)" : String,
      "[Tags](#cfn-iotsitewise-portal-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-portal-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::Portal
Properties:
  [Alarms](#cfn-iotsitewise-portal-alarms): 
    Alarms
  [NotificationSenderEmail](#cfn-iotsitewise-portal-notificationsenderemail): String
  [PortalAuthMode](#cfn-iotsitewise-portal-portalauthmode): String
  [PortalContactEmail](#cfn-iotsitewise-portal-portalcontactemail): String
  [PortalDescription](#cfn-iotsitewise-portal-portaldescription): String
  [PortalName](#cfn-iotsitewise-portal-portalname): String
  [PortalType](#cfn-iotsitewise-portal-portaltype): String
  [PortalTypeConfiguration](#cfn-iotsitewise-portal-portaltypeconfiguration): 
    Key: Value
  [RoleArn](#cfn-iotsitewise-portal-rolearn): String
  [Tags](#cfn-iotsitewise-portal-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-portal-properties"></a>

`Alarms`  <a name="cfn-iotsitewise-portal-alarms"></a>
Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. For more information, see [Monitoring with alarms](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html) in the *AWS IoT SiteWise Application Guide*.  
*Required*: No  
*Type*: [Alarms](aws-properties-iotsitewise-portal-alarms.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotificationSenderEmail`  <a name="cfn-iotsitewise-portal-notificationsenderemail"></a>
The email address that sends alarm notifications.  
If you use the [AWS IoT Events managed Lambda function](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) to manage your emails, you must [verify the sender email address in Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PortalAuthMode`  <a name="cfn-iotsitewise-portal-portalauthmode"></a>
The service to use to authenticate users to the portal. Choose from the following options:  
+ `SSO` – The portal uses AWS IAM Identity Center to authenticate users and manage user permissions. Before you can create a portal that uses IAM Identity Center, you must enable IAM Identity Center. For more information, see [Enabling IAM Identity Center](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso) in the *AWS IoT SiteWise User Guide*. This option is only available in AWS Regions other than the China Regions.
+ `IAM` – The portal uses AWS Identity and Access Management to authenticate users and manage user permissions.
You can't change this value after you create a portal.  
Default: `SSO`  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PortalContactEmail`  <a name="cfn-iotsitewise-portal-portalcontactemail"></a>
The AWS administrator's contact email address.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PortalDescription`  <a name="cfn-iotsitewise-portal-portaldescription"></a>
A description for the portal.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PortalName`  <a name="cfn-iotsitewise-portal-portalname"></a>
A friendly name for the portal.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PortalType`  <a name="cfn-iotsitewise-portal-portaltype"></a>
Define the type of portal. The value for AWS IoT SiteWise Monitor (Classic) is `SITEWISE_PORTAL_V1`. The value for AWS IoT SiteWise Monitor (AI-aware) is `SITEWISE_PORTAL_V2`.  
*Required*: No  
*Type*: String  
*Allowed values*: `SITEWISE_PORTAL_V1 | SITEWISE_PORTAL_V2`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PortalTypeConfiguration`  <a name="cfn-iotsitewise-portal-portaltypeconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: Object of [PortalTypeEntry](aws-properties-iotsitewise-portal-portaltypeentry.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-iotsitewise-portal-rolearn"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see [Using service roles for AWS IoT SiteWise Monitor](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotsitewise-portal-tags"></a>
A list of key-value pairs that contain metadata for the portal. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-portal-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-portal-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-portal-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `PortalId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-portal-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-portal-return-values-fn--getatt-fn--getatt"></a>

`PortalArn`  <a name="PortalArn-fn::getatt"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the portal, which has the following format.  
 `arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}`   
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`PortalClientId`  <a name="PortalClientId-fn::getatt"></a>
The IAM Identity Center application generated client ID (used with IAM Identity Center APIs).  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`PortalId`  <a name="PortalId-fn::getatt"></a>
The ID of the created portal.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`PortalStartUrl`  <a name="PortalStartUrl-fn::getatt"></a>
The public URL for the AWS IoT SiteWise Monitor portal.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::Portal Alarms
<a name="aws-properties-iotsitewise-portal-alarms"></a>

Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. For more information, see [Monitoring with alarms](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html) in the *AWS IoT SiteWise Application Guide*.

## Syntax
<a name="aws-properties-iotsitewise-portal-alarms-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-portal-alarms-syntax.json"></a>

```
{
  "[AlarmRoleArn](#cfn-iotsitewise-portal-alarms-alarmrolearn)" : String,
  "[NotificationLambdaArn](#cfn-iotsitewise-portal-alarms-notificationlambdaarn)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-portal-alarms-syntax.yaml"></a>

```
  [AlarmRoleArn](#cfn-iotsitewise-portal-alarms-alarmrolearn): String
  [NotificationLambdaArn](#cfn-iotsitewise-portal-alarms-notificationlambdaarn): String
```

## Properties
<a name="aws-properties-iotsitewise-portal-alarms-properties"></a>

`AlarmRoleArn`  <a name="cfn-iotsitewise-portal-alarms-alarmrolearn"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the IAM role that allows the alarm to perform actions and access AWS resources and services, such as AWS IoT Events.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotificationLambdaArn`  <a name="cfn-iotsitewise-portal-alarms-notificationlambdaarn"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the Lambda function that manages alarm notifications. For more information, see [Managing alarm notifications](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) in the *AWS IoT Events Developer Guide*.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Portal PortalTypeEntry
<a name="aws-properties-iotsitewise-portal-portaltypeentry"></a>

<a name="aws-properties-iotsitewise-portal-portaltypeentry-description"></a>The `PortalTypeEntry` property type specifies Property description not available. for an [AWS::IoTSiteWise::Portal](aws-resource-iotsitewise-portal.md).

## Syntax
<a name="aws-properties-iotsitewise-portal-portaltypeentry-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-portal-portaltypeentry-syntax.json"></a>

```
{
  "[PortalTools](#cfn-iotsitewise-portal-portaltypeentry-portaltools)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-iotsitewise-portal-portaltypeentry-syntax.yaml"></a>

```
  [PortalTools](#cfn-iotsitewise-portal-portaltypeentry-portaltools): 
    - String
```

## Properties
<a name="aws-properties-iotsitewise-portal-portaltypeentry-properties"></a>

`PortalTools`  <a name="cfn-iotsitewise-portal-portaltypeentry-portaltools"></a>
The array of tools associated with the specified portal type. The possible values are `ASSISTANT` and `DASHBOARD`.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Portal Tag
<a name="aws-properties-iotsitewise-portal-tag"></a>

A list of key-value pairs that contain metadata for the portal. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-portal-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-portal-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-portal-tag-key)" : String,
  "[Value](#cfn-iotsitewise-portal-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-portal-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-portal-tag-key): String
  [Value](#cfn-iotsitewise-portal-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-portal-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-portal-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-portal-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTSiteWise::Project
<a name="aws-resource-iotsitewise-project"></a>

**Important**  
The AWS IoT SiteWise Monitor feature will no longer be open to new customers starting November 7, 2025 . If you would like to use the AWS IoT SiteWise Monitor feature, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT SiteWise Monitor availability change](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/iotsitewise-monitor-availability-change.html).

Creates a project in the specified portal.

**Note**  
Make sure that the project name and description don't contain confidential information.

## Syntax
<a name="aws-resource-iotsitewise-project-syntax"></a>

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

### JSON
<a name="aws-resource-iotsitewise-project-syntax.json"></a>

```
{
  "Type" : "AWS::IoTSiteWise::Project",
  "Properties" : {
      "[AssetIds](#cfn-iotsitewise-project-assetids)" : [ String, ... ],
      "[PortalId](#cfn-iotsitewise-project-portalid)" : String,
      "[ProjectDescription](#cfn-iotsitewise-project-projectdescription)" : String,
      "[ProjectName](#cfn-iotsitewise-project-projectname)" : String,
      "[Tags](#cfn-iotsitewise-project-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotsitewise-project-syntax.yaml"></a>

```
Type: AWS::IoTSiteWise::Project
Properties:
  [AssetIds](#cfn-iotsitewise-project-assetids): 
    - String
  [PortalId](#cfn-iotsitewise-project-portalid): String
  [ProjectDescription](#cfn-iotsitewise-project-projectdescription): String
  [ProjectName](#cfn-iotsitewise-project-projectname): String
  [Tags](#cfn-iotsitewise-project-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotsitewise-project-properties"></a>

`AssetIds`  <a name="cfn-iotsitewise-project-assetids"></a>
A list that contains the IDs of each asset associated with the project.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PortalId`  <a name="cfn-iotsitewise-project-portalid"></a>
The ID of the portal in which to create the project.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProjectDescription`  <a name="cfn-iotsitewise-project-projectdescription"></a>
A description for the project.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProjectName`  <a name="cfn-iotsitewise-project-projectname"></a>
A friendly name for the project.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotsitewise-project-tags"></a>
A list of key-value pairs that contain metadata for the project. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotsitewise-project-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotsitewise-project-return-values"></a>

### Ref
<a name="aws-resource-iotsitewise-project-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `ProjectId`.

### Fn::GetAtt
<a name="aws-resource-iotsitewise-project-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotsitewise-project-return-values-fn--getatt-fn--getatt"></a>

`ProjectArn`  <a name="ProjectArn-fn::getatt"></a>
The [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the project, which has the following format.  
 `arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}`   
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

`ProjectId`  <a name="ProjectId-fn::getatt"></a>
The ID of the project.  
For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

# AWS::IoTSiteWise::Project Tag
<a name="aws-properties-iotsitewise-project-tag"></a>

A list of key-value pairs that contain metadata for the project. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide*.

## Syntax
<a name="aws-properties-iotsitewise-project-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotsitewise-project-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotsitewise-project-tag-key)" : String,
  "[Value](#cfn-iotsitewise-project-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotsitewise-project-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotsitewise-project-tag-key): String
  [Value](#cfn-iotsitewise-project-tag-value): String
```

## Properties
<a name="aws-properties-iotsitewise-project-tag-properties"></a>

`Key`  <a name="cfn-iotsitewise-project-tag-key"></a>
The key or name that identifies the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotsitewise-project-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)