# Copyright (c) 2012-2024, 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 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),
"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 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 Greengrass(AWSProperty):
"""
`Greengrass <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-greengrass.html>`__
"""
props: PropsDictType = {
"GroupArn": (str, True),
}
[docs]class GreengrassV2(AWSProperty):
"""
`GreengrassV2 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-greengrassv2.html>`__
"""
props: PropsDictType = {
"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),
"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 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),
"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),
}