# Copyright (c) 2012-2025, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
[docs]class IamRole(AWSProperty):
"""
`IamRole <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-iamrole.html>`__
"""
props: PropsDictType = {
"arn": (str, False),
}
[docs]class IamUser(AWSProperty):
"""
`IamUser <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-iamuser.html>`__
"""
props: PropsDictType = {
"arn": (str, False),
}
[docs]class User(AWSProperty):
"""
`User <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-user.html>`__
"""
props: PropsDictType = {
"id": (str, False),
}
[docs]class AccessPolicyIdentity(AWSProperty):
"""
`AccessPolicyIdentity <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyidentity.html>`__
"""
props: PropsDictType = {
"IamRole": (IamRole, False),
"IamUser": (IamUser, False),
"User": (User, False),
}
[docs]class PortalProperty(AWSProperty):
"""
`PortalProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-portal.html>`__
"""
props: PropsDictType = {
"id": (str, False),
}
[docs]class ProjectProperty(AWSProperty):
"""
`ProjectProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-project.html>`__
"""
props: PropsDictType = {
"id": (str, False),
}
[docs]class AccessPolicyResource(AWSProperty):
"""
`AccessPolicyResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyresource.html>`__
"""
props: PropsDictType = {
"Portal": (PortalProperty, False),
"Project": (ProjectProperty, False),
}
[docs]class AccessPolicy(AWSObject):
"""
`AccessPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html>`__
"""
resource_type = "AWS::IoTSiteWise::AccessPolicy"
props: PropsDictType = {
"AccessPolicyIdentity": (AccessPolicyIdentity, True),
"AccessPolicyPermission": (str, True),
"AccessPolicyResource": (AccessPolicyResource, True),
}
[docs]class AssetHierarchy(AWSProperty):
"""
`AssetHierarchy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assethierarchy.html>`__
"""
props: PropsDictType = {
"ChildAssetId": (str, True),
"ExternalId": (str, False),
"Id": (str, False),
"LogicalId": (str, False),
}
[docs]class AssetProperty(AWSProperty):
"""
`AssetProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-asset-assetproperty.html>`__
"""
props: PropsDictType = {
"Alias": (str, False),
"ExternalId": (str, False),
"Id": (str, False),
"LogicalId": (str, False),
"NotificationState": (str, False),
"Unit": (str, False),
}
[docs]class Asset(AWSObject):
"""
`Asset <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html>`__
"""
resource_type = "AWS::IoTSiteWise::Asset"
props: PropsDictType = {
"AssetDescription": (str, False),
"AssetExternalId": (str, False),
"AssetHierarchies": ([AssetHierarchy], False),
"AssetModelId": (str, True),
"AssetName": (str, True),
"AssetProperties": ([AssetProperty], False),
"Tags": (Tags, False),
}
[docs]class Attribute(AWSProperty):
"""
`Attribute <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-attribute.html>`__
"""
props: PropsDictType = {
"DefaultValue": (str, False),
}
[docs]class PropertyPathDefinition(AWSProperty):
"""
`PropertyPathDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertypathdefinition.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
}
[docs]class VariableValue(AWSProperty):
"""
`VariableValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-variablevalue.html>`__
"""
props: PropsDictType = {
"HierarchyExternalId": (str, False),
"HierarchyId": (str, False),
"HierarchyLogicalId": (str, False),
"PropertyExternalId": (str, False),
"PropertyId": (str, False),
"PropertyLogicalId": (str, False),
"PropertyPath": ([PropertyPathDefinition], False),
}
[docs]class ExpressionVariable(AWSProperty):
"""
`ExpressionVariable <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-expressionvariable.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
"Value": (VariableValue, True),
}
[docs]class TumblingWindow(AWSProperty):
"""
`TumblingWindow <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-tumblingwindow.html>`__
"""
props: PropsDictType = {
"Interval": (str, True),
"Offset": (str, False),
}
[docs]class MetricWindow(AWSProperty):
"""
`MetricWindow <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metricwindow.html>`__
"""
props: PropsDictType = {
"Tumbling": (TumblingWindow, False),
}
[docs]class Metric(AWSProperty):
"""
`Metric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html>`__
"""
props: PropsDictType = {
"Expression": (str, True),
"Variables": ([ExpressionVariable], True),
"Window": (MetricWindow, True),
}
[docs]class PropertyType(AWSProperty):
"""
`PropertyType <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertytype.html>`__
"""
props: PropsDictType = {
"Attribute": (Attribute, False),
"Metric": (Metric, False),
"Transform": (Transform, False),
"TypeName": (str, True),
}
[docs]class AssetModelProperty(AWSProperty):
"""
`AssetModelProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html>`__
"""
props: PropsDictType = {
"DataType": (str, True),
"DataTypeSpec": (str, False),
"ExternalId": (str, False),
"Id": (str, False),
"LogicalId": (str, False),
"Name": (str, True),
"Type": (PropertyType, True),
"Unit": (str, False),
}
[docs]class AssetModelCompositeModel(AWSProperty):
"""
`AssetModelCompositeModel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html>`__
"""
props: PropsDictType = {
"ComposedAssetModelId": (str, False),
"CompositeModelProperties": ([AssetModelProperty], False),
"Description": (str, False),
"ExternalId": (str, False),
"Id": (str, False),
"Name": (str, True),
"ParentAssetModelCompositeModelExternalId": (str, False),
"Path": ([str], False),
"Type": (str, True),
}
[docs]class AssetModelHierarchy(AWSProperty):
"""
`AssetModelHierarchy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelhierarchy.html>`__
"""
props: PropsDictType = {
"ChildAssetModelId": (str, True),
"ExternalId": (str, False),
"Id": (str, False),
"LogicalId": (str, False),
"Name": (str, True),
}
[docs]class EnforcedAssetModelInterfacePropertyMapping(AWSProperty):
"""
`EnforcedAssetModelInterfacePropertyMapping <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacepropertymapping.html>`__
"""
props: PropsDictType = {
"AssetModelPropertyExternalId": (str, False),
"AssetModelPropertyLogicalId": (str, False),
"InterfaceAssetModelPropertyExternalId": (str, True),
}
[docs]class EnforcedAssetModelInterfaceRelationship(AWSProperty):
"""
`EnforcedAssetModelInterfaceRelationship <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-enforcedassetmodelinterfacerelationship.html>`__
"""
props: PropsDictType = {
"InterfaceAssetModelId": (str, False),
"PropertyMappings": ([EnforcedAssetModelInterfacePropertyMapping], False),
}
[docs]class AssetModel(AWSObject):
"""
`AssetModel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html>`__
"""
resource_type = "AWS::IoTSiteWise::AssetModel"
props: PropsDictType = {
"AssetModelCompositeModels": ([AssetModelCompositeModel], False),
"AssetModelDescription": (str, False),
"AssetModelExternalId": (str, False),
"AssetModelHierarchies": ([AssetModelHierarchy], False),
"AssetModelName": (str, True),
"AssetModelProperties": ([AssetModelProperty], False),
"AssetModelType": (str, False),
"EnforcedAssetModelInterfaceRelationships": (
[EnforcedAssetModelInterfaceRelationship],
False,
),
"Tags": (Tags, False),
}
[docs]class AnomalyDetectionComputationModelConfiguration(AWSProperty):
"""
`AnomalyDetectionComputationModelConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-anomalydetectioncomputationmodelconfiguration.html>`__
"""
props: PropsDictType = {
"InputProperties": (str, True),
"ResultProperty": (str, True),
}
[docs]class ComputationModelConfiguration(AWSProperty):
"""
`ComputationModelConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-computationmodelconfiguration.html>`__
"""
props: PropsDictType = {
"AnomalyDetection": (AnomalyDetectionComputationModelConfiguration, False),
}
[docs]class AssetModelPropertyBindingValue(AWSProperty):
"""
`AssetModelPropertyBindingValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue.html>`__
"""
props: PropsDictType = {
"AssetModelId": (str, True),
"PropertyId": (str, True),
}
[docs]class AssetPropertyBindingValue(AWSProperty):
"""
`AssetPropertyBindingValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-assetpropertybindingvalue.html>`__
"""
props: PropsDictType = {
"AssetId": (str, True),
"PropertyId": (str, True),
}
[docs]class ComputationModelDataBindingValue(AWSProperty):
"""
`ComputationModelDataBindingValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-computationmodeldatabindingvalue.html>`__
"""
props: PropsDictType = {
"AssetModelProperty": (AssetModelPropertyBindingValue, False),
"AssetProperty": (AssetPropertyBindingValue, False),
"List": ([object], False),
}
[docs]class ComputationModel(AWSObject):
"""
`ComputationModel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-computationmodel.html>`__
"""
resource_type = "AWS::IoTSiteWise::ComputationModel"
props: PropsDictType = {
"ComputationModelConfiguration": (ComputationModelConfiguration, True),
"ComputationModelDataBinding": (dict, True),
"ComputationModelDescription": (str, False),
"ComputationModelName": (str, True),
"Tags": (Tags, False),
}
[docs]class Dashboard(AWSObject):
"""
`Dashboard <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html>`__
"""
resource_type = "AWS::IoTSiteWise::Dashboard"
props: PropsDictType = {
"DashboardDefinition": (str, True),
"DashboardDescription": (str, True),
"DashboardName": (str, True),
"ProjectId": (str, False),
"Tags": (Tags, False),
}
[docs]class KendraSourceDetail(AWSProperty):
"""
`KendraSourceDetail <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-dataset-kendrasourcedetail.html>`__
"""
props: PropsDictType = {
"KnowledgeBaseArn": (str, True),
"RoleArn": (str, True),
}
[docs]class SourceDetail(AWSProperty):
"""
`SourceDetail <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-dataset-sourcedetail.html>`__
"""
props: PropsDictType = {
"Kendra": (KendraSourceDetail, False),
}
[docs]class DatasetSource(AWSProperty):
"""
`DatasetSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-dataset-datasetsource.html>`__
"""
props: PropsDictType = {
"SourceDetail": (SourceDetail, False),
"SourceFormat": (str, True),
"SourceType": (str, True),
}
[docs]class Dataset(AWSObject):
"""
`Dataset <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dataset.html>`__
"""
resource_type = "AWS::IoTSiteWise::Dataset"
props: PropsDictType = {
"DatasetDescription": (str, False),
"DatasetName": (str, True),
"DatasetSource": (DatasetSource, True),
"Tags": (Tags, False),
}
[docs]class GatewayCapabilitySummary(AWSProperty):
"""
`GatewayCapabilitySummary <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewaycapabilitysummary.html>`__
"""
props: PropsDictType = {
"CapabilityConfiguration": (str, False),
"CapabilityNamespace": (str, True),
}
[docs]class GreengrassV2(AWSProperty):
"""
`GreengrassV2 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-greengrassv2.html>`__
"""
props: PropsDictType = {
"CoreDeviceOperatingSystem": (str, False),
"CoreDeviceThingName": (str, True),
}
[docs]class SiemensIE(AWSProperty):
"""
`SiemensIE <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-siemensie.html>`__
"""
props: PropsDictType = {
"IotCoreThingName": (str, True),
}
[docs]class Gateway(AWSObject):
"""
`Gateway <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html>`__
"""
resource_type = "AWS::IoTSiteWise::Gateway"
props: PropsDictType = {
"GatewayCapabilitySummaries": ([GatewayCapabilitySummary], False),
"GatewayName": (str, True),
"GatewayPlatform": (GatewayPlatform, True),
"GatewayVersion": (str, False),
"Tags": (Tags, False),
}
[docs]class Alarms(AWSProperty):
"""
`Alarms <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-portal-alarms.html>`__
"""
props: PropsDictType = {
"AlarmRoleArn": (str, False),
"NotificationLambdaArn": (str, False),
}
[docs]class PortalTypeEntry(AWSProperty):
"""
`PortalTypeEntry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-portal-portaltypeentry.html>`__
"""
props: PropsDictType = {
"PortalTools": ([str], True),
}
[docs]class Portal(AWSObject):
"""
`Portal <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html>`__
"""
resource_type = "AWS::IoTSiteWise::Portal"
props: PropsDictType = {
"Alarms": (Alarms, False),
"NotificationSenderEmail": (str, False),
"PortalAuthMode": (str, False),
"PortalContactEmail": (str, True),
"PortalDescription": (str, False),
"PortalName": (str, True),
"PortalType": (str, False),
"PortalTypeConfiguration": (dict, False),
"RoleArn": (str, True),
"Tags": (Tags, False),
}
[docs]class Project(AWSObject):
"""
`Project <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html>`__
"""
resource_type = "AWS::IoTSiteWise::Project"
props: PropsDictType = {
"AssetIds": ([str], False),
"PortalId": (str, True),
"ProjectDescription": (str, False),
"ProjectName": (str, True),
"Tags": (Tags, False),
}