Module: Aws::IoTSiteWise::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-iotsitewise/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

ARN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ARN')
AccessDeniedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessDeniedException')
AccessPolicySummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AccessPolicySummaries')
AccessPolicySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessPolicySummary')
ActionDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ActionDefinition')
ActionDefinitions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ActionDefinitions')
ActionPayload =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ActionPayload')
ActionPayloadString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ActionPayloadString')
ActionSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ActionSummaries')
ActionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ActionSummary')
AdaptiveIngestion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'AdaptiveIngestion')
AggregateType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AggregateType')
AggregateTypes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AggregateTypes')
AggregatedDoubleValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'AggregatedDoubleValue')
AggregatedValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AggregatedValue')
AggregatedValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AggregatedValues')
Aggregates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Aggregates')
Alarms =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Alarms')
AmazonResourceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AmazonResourceName')
AssetCompositeModel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetCompositeModel')
AssetCompositeModelPath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetCompositeModelPath')
AssetCompositeModelPathSegment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetCompositeModelPathSegment')
AssetCompositeModelSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetCompositeModelSummaries')
AssetCompositeModelSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetCompositeModelSummary')
AssetCompositeModels =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetCompositeModels')
AssetErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetErrorCode')
AssetErrorDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetErrorDetails')
AssetErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetErrorMessage')
AssetHierarchies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetHierarchies')
AssetHierarchy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetHierarchy')
AssetHierarchyInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetHierarchyInfo')
AssetIDs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetIDs')
AssetModelCompositeModel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelCompositeModel')
AssetModelCompositeModelDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelCompositeModelDefinition')
AssetModelCompositeModelDefinitions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelCompositeModelDefinitions')
AssetModelCompositeModelPath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelCompositeModelPath')
AssetModelCompositeModelPathSegment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelCompositeModelPathSegment')
AssetModelCompositeModelSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelCompositeModelSummaries')
AssetModelCompositeModelSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelCompositeModelSummary')
AssetModelCompositeModels =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelCompositeModels')
AssetModelHierarchies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelHierarchies')
AssetModelHierarchy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelHierarchy')
AssetModelHierarchyDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelHierarchyDefinition')
AssetModelHierarchyDefinitions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelHierarchyDefinitions')
AssetModelProperties =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelProperties')
AssetModelProperty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelProperty')
AssetModelPropertyDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelPropertyDefinition')
AssetModelPropertyDefinitions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelPropertyDefinitions')
AssetModelPropertyPath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelPropertyPath')
AssetModelPropertyPathSegment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelPropertyPathSegment')
AssetModelPropertySummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelPropertySummaries')
AssetModelPropertySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelPropertySummary')
AssetModelState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetModelState')
AssetModelStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelStatus')
AssetModelSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetModelSummaries')
AssetModelSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetModelSummary')
AssetModelType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetModelType')
AssetModelVersionFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetModelVersionFilter')
AssetModelVersionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetModelVersionType')
AssetProperties =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetProperties')
AssetProperty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetProperty')
AssetPropertyAlias =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetPropertyAlias')
AssetPropertyPath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetPropertyPath')
AssetPropertyPathSegment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetPropertyPathSegment')
AssetPropertySummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetPropertySummaries')
AssetPropertySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetPropertySummary')
AssetPropertyValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetPropertyValue')
AssetPropertyValueHistory =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetPropertyValueHistory')
AssetPropertyValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetPropertyValues')
AssetRelationshipSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetRelationshipSummaries')
AssetRelationshipSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetRelationshipSummary')
AssetRelationshipType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetRelationshipType')
AssetState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AssetState')
AssetStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetStatus')
AssetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssetSummaries')
AssetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssetSummary')
AssociateAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateAssetsRequest')
AssociateTimeSeriesToAssetPropertyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateTimeSeriesToAssetPropertyRequest')
AssociatedAssetsSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AssociatedAssetsSummaries')
AssociatedAssetsSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociatedAssetsSummary')
Attribute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Attribute')
AuthMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AuthMode')
BatchAssociateProjectAssetsErrors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchAssociateProjectAssetsErrors')
BatchAssociateProjectAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAssociateProjectAssetsRequest')
BatchAssociateProjectAssetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAssociateProjectAssetsResponse')
BatchDisassociateProjectAssetsErrors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchDisassociateProjectAssetsErrors')
BatchDisassociateProjectAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDisassociateProjectAssetsRequest')
BatchDisassociateProjectAssetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDisassociateProjectAssetsResponse')
BatchEntryCompletionStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchEntryCompletionStatus')
BatchGetAssetPropertyAggregatesEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyAggregatesEntries')
BatchGetAssetPropertyAggregatesEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesEntry')
BatchGetAssetPropertyAggregatesErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchGetAssetPropertyAggregatesErrorCode')
BatchGetAssetPropertyAggregatesErrorEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyAggregatesErrorEntries')
BatchGetAssetPropertyAggregatesErrorEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesErrorEntry')
BatchGetAssetPropertyAggregatesErrorInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesErrorInfo')
BatchGetAssetPropertyAggregatesMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'BatchGetAssetPropertyAggregatesMaxResults')
BatchGetAssetPropertyAggregatesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesRequest')
BatchGetAssetPropertyAggregatesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesResponse')
BatchGetAssetPropertyAggregatesSkippedEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyAggregatesSkippedEntries')
BatchGetAssetPropertyAggregatesSkippedEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesSkippedEntry')
BatchGetAssetPropertyAggregatesSuccessEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyAggregatesSuccessEntries')
BatchGetAssetPropertyAggregatesSuccessEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyAggregatesSuccessEntry')
BatchGetAssetPropertyValueEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueEntries')
BatchGetAssetPropertyValueEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueEntry')
BatchGetAssetPropertyValueErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchGetAssetPropertyValueErrorCode')
BatchGetAssetPropertyValueErrorEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueErrorEntries')
BatchGetAssetPropertyValueErrorEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueErrorEntry')
BatchGetAssetPropertyValueErrorInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueErrorInfo')
BatchGetAssetPropertyValueHistoryEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueHistoryEntries')
BatchGetAssetPropertyValueHistoryEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistoryEntry')
BatchGetAssetPropertyValueHistoryErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchGetAssetPropertyValueHistoryErrorCode')
BatchGetAssetPropertyValueHistoryErrorEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueHistoryErrorEntries')
BatchGetAssetPropertyValueHistoryErrorEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistoryErrorEntry')
BatchGetAssetPropertyValueHistoryErrorInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistoryErrorInfo')
BatchGetAssetPropertyValueHistoryMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'BatchGetAssetPropertyValueHistoryMaxResults')
BatchGetAssetPropertyValueHistoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistoryRequest')
BatchGetAssetPropertyValueHistoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistoryResponse')
BatchGetAssetPropertyValueHistorySkippedEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueHistorySkippedEntries')
BatchGetAssetPropertyValueHistorySkippedEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistorySkippedEntry')
BatchGetAssetPropertyValueHistorySuccessEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueHistorySuccessEntries')
BatchGetAssetPropertyValueHistorySuccessEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueHistorySuccessEntry')
BatchGetAssetPropertyValueRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueRequest')
BatchGetAssetPropertyValueResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueResponse')
BatchGetAssetPropertyValueSkippedEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueSkippedEntries')
BatchGetAssetPropertyValueSkippedEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueSkippedEntry')
BatchGetAssetPropertyValueSuccessEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetAssetPropertyValueSuccessEntries')
BatchGetAssetPropertyValueSuccessEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetAssetPropertyValueSuccessEntry')
BatchPutAssetPropertyError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutAssetPropertyError')
BatchPutAssetPropertyErrorEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchPutAssetPropertyErrorEntries')
BatchPutAssetPropertyErrorEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutAssetPropertyErrorEntry')
BatchPutAssetPropertyErrors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchPutAssetPropertyErrors')
BatchPutAssetPropertyValueErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchPutAssetPropertyValueErrorCode')
BatchPutAssetPropertyValueRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutAssetPropertyValueRequest')
BatchPutAssetPropertyValueResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchPutAssetPropertyValueResponse')
Bucket =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Bucket')
CapabilityConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CapabilityConfiguration')
CapabilityNamespace =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CapabilityNamespace')
CapabilitySyncStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CapabilitySyncStatus')
ClientToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ClientToken')
ColumnInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ColumnInfo')
ColumnName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ColumnName')
ColumnNames =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ColumnNames')
ColumnType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ColumnType')
ColumnsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ColumnsList')
CompositeModelProperty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CompositeModelProperty')
CompositionDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CompositionDetails')
CompositionRelationship =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CompositionRelationship')
CompositionRelationshipItem =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CompositionRelationshipItem')
CompositionRelationshipSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CompositionRelationshipSummaries')
CompositionRelationshipSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CompositionRelationshipSummary')
ComputeLocation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ComputeLocation')
ConfigurationErrorDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConfigurationErrorDetails')
ConfigurationState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ConfigurationState')
ConfigurationStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConfigurationStatus')
ConflictingOperationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConflictingOperationException')
CoreDeviceThingName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CoreDeviceThingName')
CreateAccessPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAccessPolicyRequest')
CreateAccessPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAccessPolicyResponse')
CreateAssetModelCompositeModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAssetModelCompositeModelRequest')
CreateAssetModelCompositeModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAssetModelCompositeModelResponse')
CreateAssetModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAssetModelRequest')
CreateAssetModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAssetModelResponse')
CreateAssetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAssetRequest')
CreateAssetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAssetResponse')
CreateBulkImportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateBulkImportJobRequest')
CreateBulkImportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateBulkImportJobResponse')
CreateDashboardRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDashboardRequest')
CreateDashboardResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDashboardResponse')
CreateGatewayRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGatewayRequest')
CreateGatewayResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGatewayResponse')
CreatePortalRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePortalRequest')
CreatePortalResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePortalResponse')
CreateProjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateProjectRequest')
CreateProjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateProjectResponse')
Csv =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Csv')
CustomID =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomID')
CustomerManagedS3Storage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomerManagedS3Storage')
DashboardDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DashboardDefinition')
DashboardSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DashboardSummaries')
DashboardSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DashboardSummary')
Datum =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Datum')
DatumList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DatumList')
DefaultValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DefaultValue')
DeleteAccessPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAccessPolicyRequest')
DeleteAccessPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAccessPolicyResponse')
DeleteAssetModelCompositeModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAssetModelCompositeModelRequest')
DeleteAssetModelCompositeModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAssetModelCompositeModelResponse')
DeleteAssetModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAssetModelRequest')
DeleteAssetModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAssetModelResponse')
DeleteAssetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAssetRequest')
DeleteAssetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAssetResponse')
DeleteDashboardRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDashboardRequest')
DeleteDashboardResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDashboardResponse')
DeleteFilesAfterImport =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'DeleteFilesAfterImport')
DeleteGatewayRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGatewayRequest')
DeletePortalRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePortalRequest')
DeletePortalResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePortalResponse')
DeleteProjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteProjectRequest')
DeleteProjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteProjectResponse')
DeleteTimeSeriesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteTimeSeriesRequest')
DescribeAccessPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAccessPolicyRequest')
DescribeAccessPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAccessPolicyResponse')
DescribeActionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeActionRequest')
DescribeActionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeActionResponse')
DescribeAssetCompositeModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetCompositeModelRequest')
DescribeAssetCompositeModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetCompositeModelResponse')
DescribeAssetModelCompositeModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetModelCompositeModelRequest')
DescribeAssetModelCompositeModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetModelCompositeModelResponse')
DescribeAssetModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetModelRequest')
DescribeAssetModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetModelResponse')
DescribeAssetPropertyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetPropertyRequest')
DescribeAssetPropertyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetPropertyResponse')
DescribeAssetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetRequest')
DescribeAssetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAssetResponse')
DescribeBulkImportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeBulkImportJobRequest')
DescribeBulkImportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeBulkImportJobResponse')
DescribeDashboardRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeDashboardRequest')
DescribeDashboardResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeDashboardResponse')
DescribeDefaultEncryptionConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeDefaultEncryptionConfigurationRequest')
DescribeDefaultEncryptionConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeDefaultEncryptionConfigurationResponse')
DescribeGatewayCapabilityConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGatewayCapabilityConfigurationRequest')
DescribeGatewayCapabilityConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGatewayCapabilityConfigurationResponse')
DescribeGatewayRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGatewayRequest')
DescribeGatewayResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGatewayResponse')
DescribeLoggingOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeLoggingOptionsRequest')
DescribeLoggingOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeLoggingOptionsResponse')
DescribePortalRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribePortalRequest')
DescribePortalResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribePortalResponse')
DescribeProjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeProjectRequest')
DescribeProjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeProjectResponse')
DescribeStorageConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeStorageConfigurationRequest')
DescribeStorageConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeStorageConfigurationResponse')
DescribeTimeSeriesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeTimeSeriesRequest')
DescribeTimeSeriesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeTimeSeriesResponse')
Description =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Description')
DetailedError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetailedError')
DetailedErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DetailedErrorCode')
DetailedErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DetailedErrorMessage')
DetailedErrors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DetailedErrors')
DisassociateAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateAssetsRequest')
DisassociateTimeSeriesFromAssetPropertyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateTimeSeriesFromAssetPropertyRequest')
DisassociatedDataStorageState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DisassociatedDataStorageState')
ETag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ETag')
Email =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Email')
EncryptionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EncryptionType')
EntryId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EntryId')
ErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ErrorCode')
ErrorDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ErrorDetails')
ErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ErrorMessage')
ErrorReportLocation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ErrorReportLocation')
ExceptionMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExceptionMessage')
ExcludeProperties =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'ExcludeProperties')
ExecuteActionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExecuteActionRequest')
ExecuteActionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExecuteActionResponse')
ExecuteQueryMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ExecuteQueryMaxResults')
ExecuteQueryNextToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExecuteQueryNextToken')
ExecuteQueryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExecuteQueryRequest')
ExecuteQueryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExecuteQueryResponse')
Expression =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Expression')
ExpressionVariable =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExpressionVariable')
ExpressionVariables =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ExpressionVariables')
ExternalId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExternalId')
File =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'File')
FileFormat =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FileFormat')
Files =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Files')
ForwardingConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForwardingConfig')
ForwardingConfigState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ForwardingConfigState')
GatewayCapabilitySummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GatewayCapabilitySummaries')
GatewayCapabilitySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayCapabilitySummary')
GatewayName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GatewayName')
GatewayPlatform =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayPlatform')
GatewaySummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GatewaySummaries')
GatewaySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewaySummary')
GetAssetPropertyAggregatesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssetPropertyAggregatesRequest')
GetAssetPropertyAggregatesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssetPropertyAggregatesResponse')
GetAssetPropertyValueAggregatesMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'GetAssetPropertyValueAggregatesMaxResults')
GetAssetPropertyValueHistoryMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'GetAssetPropertyValueHistoryMaxResults')
GetAssetPropertyValueHistoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssetPropertyValueHistoryRequest')
GetAssetPropertyValueHistoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssetPropertyValueHistoryResponse')
GetAssetPropertyValueRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssetPropertyValueRequest')
GetAssetPropertyValueResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssetPropertyValueResponse')
GetInterpolatedAssetPropertyValuesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetInterpolatedAssetPropertyValuesRequest')
GetInterpolatedAssetPropertyValuesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetInterpolatedAssetPropertyValuesResponse')
Greengrass =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Greengrass')
GreengrassV2 =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GreengrassV2')
GroupIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupIdentity')
IAMRoleIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IAMRoleIdentity')
IAMUserIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IAMUserIdentity')
ID =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ID')
IDs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IDs')
Identity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Identity')
IdentityId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IdentityId')
IdentityType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IdentityType')
Image =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Image')
ImageFile =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImageFile')
ImageFileData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'ImageFileData')
ImageFileType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ImageFileType')
ImageLocation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImageLocation')
InternalFailureException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalFailureException')
InterpolatedAssetPropertyValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InterpolatedAssetPropertyValue')
InterpolatedAssetPropertyValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'InterpolatedAssetPropertyValues')
InterpolationType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'InterpolationType')
Interval =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Interval')
IntervalInSeconds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'IntervalInSeconds')
IntervalWindowInSeconds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'IntervalWindowInSeconds')
InvalidRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidRequestException')
IotCoreThingName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IotCoreThingName')
JobConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'JobConfiguration')
JobStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'JobStatus')
JobSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'JobSummaries')
JobSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'JobSummary')
KmsKeyId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KmsKeyId')
LimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitExceededException')
ListAccessPoliciesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAccessPoliciesRequest')
ListAccessPoliciesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAccessPoliciesResponse')
ListActionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListActionsRequest')
ListActionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListActionsResponse')
ListAssetModelCompositeModelsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetModelCompositeModelsRequest')
ListAssetModelCompositeModelsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetModelCompositeModelsResponse')
ListAssetModelPropertiesFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListAssetModelPropertiesFilter')
ListAssetModelPropertiesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetModelPropertiesRequest')
ListAssetModelPropertiesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetModelPropertiesResponse')
ListAssetModelsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetModelsRequest')
ListAssetModelsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetModelsResponse')
ListAssetModelsTypeFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListAssetModelsTypeFilter')
ListAssetPropertiesFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListAssetPropertiesFilter')
ListAssetPropertiesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetPropertiesRequest')
ListAssetPropertiesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetPropertiesResponse')
ListAssetRelationshipsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetRelationshipsRequest')
ListAssetRelationshipsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetRelationshipsResponse')
ListAssetsFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListAssetsFilter')
ListAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetsRequest')
ListAssetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssetsResponse')
ListAssociatedAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssociatedAssetsRequest')
ListAssociatedAssetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAssociatedAssetsResponse')
ListBulkImportJobsFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListBulkImportJobsFilter')
ListBulkImportJobsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListBulkImportJobsRequest')
ListBulkImportJobsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListBulkImportJobsResponse')
ListCompositionRelationshipsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCompositionRelationshipsRequest')
ListCompositionRelationshipsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCompositionRelationshipsResponse')
ListDashboardsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDashboardsRequest')
ListDashboardsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDashboardsResponse')
ListGatewaysRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGatewaysRequest')
ListGatewaysResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGatewaysResponse')
ListPortalsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPortalsRequest')
ListPortalsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPortalsResponse')
ListProjectAssetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProjectAssetsRequest')
ListProjectAssetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProjectAssetsResponse')
ListProjectsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProjectsRequest')
ListProjectsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProjectsResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
ListTimeSeriesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTimeSeriesRequest')
ListTimeSeriesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTimeSeriesResponse')
ListTimeSeriesType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListTimeSeriesType')
LoggingLevel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LoggingLevel')
LoggingOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LoggingOptions')
Macro =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Macro')
MaxInterpolatedResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxInterpolatedResults')
MaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxResults')
Measurement =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Measurement')
MeasurementProcessingConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MeasurementProcessingConfig')
Metric =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Metric')
MetricProcessingConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MetricProcessingConfig')
MetricWindow =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MetricWindow')
MonitorErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MonitorErrorCode')
MonitorErrorDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MonitorErrorDetails')
MonitorErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MonitorErrorMessage')
MultiLayerStorage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MultiLayerStorage')
Name =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Name')
NextToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NextToken')
NullableBoolean =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'NullableBoolean')
NumberOfDays =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'NumberOfDays')
Offset =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Offset')
OffsetInNanos =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'OffsetInNanos')
Parquet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Parquet')
Permission =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Permission')
PortalClientId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PortalClientId')
PortalResource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PortalResource')
PortalState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PortalState')
PortalStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PortalStatus')
PortalSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PortalSummaries')
PortalSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PortalSummary')
PreconditionFailedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PreconditionFailedException')
ProjectResource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProjectResource')
ProjectSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProjectSummaries')
ProjectSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProjectSummary')
Property =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Property')
PropertyAlias =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyAlias')
PropertyDataType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyDataType')
PropertyNotification =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PropertyNotification')
PropertyNotificationState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyNotificationState')
PropertyNotificationTopic =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyNotificationTopic')
PropertyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PropertyType')
PropertyUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyUnit')
PropertyValueBooleanValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'PropertyValueBooleanValue')
PropertyValueDoubleValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'PropertyValueDoubleValue')
PropertyValueIntegerValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PropertyValueIntegerValue')
PropertyValueStringValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PropertyValueStringValue')
PutAssetPropertyValueEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PutAssetPropertyValueEntries')
PutAssetPropertyValueEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAssetPropertyValueEntry')
PutDefaultEncryptionConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDefaultEncryptionConfigurationRequest')
PutDefaultEncryptionConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDefaultEncryptionConfigurationResponse')
PutLoggingOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutLoggingOptionsRequest')
PutLoggingOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutLoggingOptionsResponse')
PutStorageConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutStorageConfigurationRequest')
PutStorageConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutStorageConfigurationResponse')
Qualities =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Qualities')
Quality =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Quality')
QueryStatement =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'QueryStatement')
QueryTimeoutException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryTimeoutException')
Resolution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Resolution')
Resource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Resource')
ResourceAlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
ResourceArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceArn')
ResourceId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceId')
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException')
ResourceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceType')
RetentionPeriod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RetentionPeriod')
Row =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Row')
Rows =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Rows')
SSOApplicationId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SSOApplicationId')
ScalarType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ScalarType')
ScalarValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ScalarValue')
SelectAll =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SelectAll')
ServiceUnavailableException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ServiceUnavailableException')
SiemensIE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SiemensIE')
StorageType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'StorageType')
String =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'String')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'TagMap')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
TargetResource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TargetResource')
TargetResourceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TargetResourceType')
ThrottlingException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ThrottlingException')
TimeInNanos =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TimeInNanos')
TimeInSeconds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'TimeInSeconds')
TimeOrdering =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TimeOrdering')
TimeSeriesId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TimeSeriesId')
TimeSeriesSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TimeSeriesSummaries')
TimeSeriesSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TimeSeriesSummary')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp')
Timestamps =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Timestamps')
TooManyTagsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyTagsException')
Transform =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Transform')
TransformProcessingConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TransformProcessingConfig')
TraversalDirection =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TraversalDirection')
TraversalType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TraversalType')
TumblingWindow =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TumblingWindow')
UnauthorizedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnauthorizedException')
Unlimited =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Unlimited')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UpdateAccessPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAccessPolicyRequest')
UpdateAccessPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAccessPolicyResponse')
UpdateAssetModelCompositeModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetModelCompositeModelRequest')
UpdateAssetModelCompositeModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetModelCompositeModelResponse')
UpdateAssetModelRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetModelRequest')
UpdateAssetModelResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetModelResponse')
UpdateAssetPropertyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetPropertyRequest')
UpdateAssetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetRequest')
UpdateAssetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAssetResponse')
UpdateDashboardRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateDashboardRequest')
UpdateDashboardResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateDashboardResponse')
UpdateGatewayCapabilityConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGatewayCapabilityConfigurationRequest')
UpdateGatewayCapabilityConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGatewayCapabilityConfigurationResponse')
UpdateGatewayRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGatewayRequest')
UpdatePortalRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePortalRequest')
UpdatePortalResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePortalResponse')
UpdateProjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateProjectRequest')
UpdateProjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateProjectResponse')
Url =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Url')
UserIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UserIdentity')
ValidationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ValidationException')
VariableName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VariableName')
VariableValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VariableValue')
Variant =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Variant')
Version =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Version')
WarmTierRetentionPeriod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WarmTierRetentionPeriod')
WarmTierState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WarmTierState')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2019-12-02"

  api. = {
    "apiVersion" => "2019-12-02",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "iotsitewise",
    "jsonVersion" => "1.1",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceFullName" => "AWS IoT SiteWise",
    "serviceId" => "IoTSiteWise",
    "signatureVersion" => "v4",
    "signingName" => "iotsitewise",
    "uid" => "iotsitewise-2019-12-02",
  }

  api.add_operation(:associate_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateAssets"
    o.http_method = "POST"
    o.http_request_uri = "/assets/{assetId}/associate"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: AssociateAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:associate_time_series_to_asset_property, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateTimeSeriesToAssetProperty"
    o.http_method = "POST"
    o.http_request_uri = "/timeseries/associate/"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: AssociateTimeSeriesToAssetPropertyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:batch_associate_project_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchAssociateProjectAssets"
    o.http_method = "POST"
    o.http_request_uri = "/projects/{projectId}/assets/associate"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchAssociateProjectAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchAssociateProjectAssetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:batch_disassociate_project_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchDisassociateProjectAssets"
    o.http_method = "POST"
    o.http_request_uri = "/projects/{projectId}/assets/disassociate"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchDisassociateProjectAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchDisassociateProjectAssetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_get_asset_property_aggregates, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchGetAssetPropertyAggregates"
    o.http_method = "POST"
    o.http_request_uri = "/properties/batch/aggregates"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchGetAssetPropertyAggregatesRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchGetAssetPropertyAggregatesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:batch_get_asset_property_value, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchGetAssetPropertyValue"
    o.http_method = "POST"
    o.http_request_uri = "/properties/batch/latest"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchGetAssetPropertyValueRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchGetAssetPropertyValueResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:batch_get_asset_property_value_history, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchGetAssetPropertyValueHistory"
    o.http_method = "POST"
    o.http_request_uri = "/properties/batch/history"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchGetAssetPropertyValueHistoryRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchGetAssetPropertyValueHistoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:batch_put_asset_property_value, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchPutAssetPropertyValue"
    o.http_method = "POST"
    o.http_request_uri = "/properties"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: BatchPutAssetPropertyValueRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchPutAssetPropertyValueResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:create_access_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAccessPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/access-policies"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateAccessPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateAccessPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_asset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAsset"
    o.http_method = "POST"
    o.http_request_uri = "/assets"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateAssetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateAssetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:create_asset_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAssetModel"
    o.http_method = "POST"
    o.http_request_uri = "/asset-models"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateAssetModelRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateAssetModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:create_asset_model_composite_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAssetModelCompositeModel"
    o.http_method = "POST"
    o.http_request_uri = "/asset-models/{assetModelId}/composite-models"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateAssetModelCompositeModelRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateAssetModelCompositeModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_bulk_import_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateBulkImportJob"
    o.http_method = "POST"
    o.http_request_uri = "/jobs"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateBulkImportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateBulkImportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:create_dashboard, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDashboard"
    o.http_method = "POST"
    o.http_request_uri = "/dashboards"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateDashboardRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDashboardResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGateway"
    o.http_method = "POST"
    o.http_request_uri = "/20200301/gateways"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateGatewayRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGatewayResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_portal, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreatePortal"
    o.http_method = "POST"
    o.http_request_uri = "/portals"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreatePortalRequest)
    o.output = Shapes::ShapeRef.new(shape: CreatePortalResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateProject"
    o.http_method = "POST"
    o.http_request_uri = "/projects"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: CreateProjectRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateProjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:delete_access_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAccessPolicy"
    o.http_method = "DELETE"
    o.http_request_uri = "/access-policies/{accessPolicyId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteAccessPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteAccessPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_asset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAsset"
    o.http_method = "DELETE"
    o.http_request_uri = "/assets/{assetId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteAssetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteAssetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:delete_asset_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAssetModel"
    o.http_method = "DELETE"
    o.http_request_uri = "/asset-models/{assetModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteAssetModelRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteAssetModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
  end)

  api.add_operation(:delete_asset_model_composite_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAssetModelCompositeModel"
    o.http_method = "DELETE"
    o.http_request_uri = "/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteAssetModelCompositeModelRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteAssetModelCompositeModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
  end)

  api.add_operation(:delete_dashboard, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDashboard"
    o.http_method = "DELETE"
    o.http_request_uri = "/dashboards/{dashboardId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteDashboardRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteDashboardResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteGateway"
    o.http_method = "DELETE"
    o.http_request_uri = "/20200301/gateways/{gatewayId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteGatewayRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_portal, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeletePortal"
    o.http_method = "DELETE"
    o.http_request_uri = "/portals/{portalId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeletePortalRequest)
    o.output = Shapes::ShapeRef.new(shape: DeletePortalResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:delete_project, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteProject"
    o.http_method = "DELETE"
    o.http_request_uri = "/projects/{projectId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteProjectRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteProjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_time_series, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteTimeSeries"
    o.http_method = "POST"
    o.http_request_uri = "/timeseries/delete/"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DeleteTimeSeriesRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:describe_access_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAccessPolicy"
    o.http_method = "GET"
    o.http_request_uri = "/access-policies/{accessPolicyId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeAccessPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAccessPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_action, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAction"
    o.http_method = "GET"
    o.http_request_uri = "/actions/{actionId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeActionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeActionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_asset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAsset"
    o.http_method = "GET"
    o.http_request_uri = "/assets/{assetId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeAssetRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAssetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_asset_composite_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAssetCompositeModel"
    o.http_method = "GET"
    o.http_request_uri = "/assets/{assetId}/composite-models/{assetCompositeModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeAssetCompositeModelRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAssetCompositeModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_asset_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAssetModel"
    o.http_method = "GET"
    o.http_request_uri = "/asset-models/{assetModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeAssetModelRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAssetModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_asset_model_composite_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAssetModelCompositeModel"
    o.http_method = "GET"
    o.http_request_uri = "/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeAssetModelCompositeModelRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAssetModelCompositeModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_asset_property, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAssetProperty"
    o.http_method = "GET"
    o.http_request_uri = "/assets/{assetId}/properties/{propertyId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeAssetPropertyRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAssetPropertyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_bulk_import_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeBulkImportJob"
    o.http_method = "GET"
    o.http_request_uri = "/jobs/{jobId}"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeBulkImportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeBulkImportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_dashboard, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeDashboard"
    o.http_method = "GET"
    o.http_request_uri = "/dashboards/{dashboardId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeDashboardRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeDashboardResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeDefaultEncryptionConfiguration"
    o.http_method = "GET"
    o.http_request_uri = "/configuration/account/encryption"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeDefaultEncryptionConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeDefaultEncryptionConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeGateway"
    o.http_method = "GET"
    o.http_request_uri = "/20200301/gateways/{gatewayId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeGatewayRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeGatewayResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_gateway_capability_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeGatewayCapabilityConfiguration"
    o.http_method = "GET"
    o.http_request_uri = "/20200301/gateways/{gatewayId}/capability/{capabilityNamespace}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeGatewayCapabilityConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeGatewayCapabilityConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_logging_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeLoggingOptions"
    o.http_method = "GET"
    o.http_request_uri = "/logging"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeLoggingOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeLoggingOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_portal, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribePortal"
    o.http_method = "GET"
    o.http_request_uri = "/portals/{portalId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribePortalRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribePortalResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_project, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeProject"
    o.http_method = "GET"
    o.http_request_uri = "/projects/{projectId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeProjectRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeProjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_storage_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeStorageConfiguration"
    o.http_method = "GET"
    o.http_request_uri = "/configuration/account/storage"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeStorageConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeStorageConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:describe_time_series, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeTimeSeries"
    o.http_method = "GET"
    o.http_request_uri = "/timeseries/describe/"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DescribeTimeSeriesRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeTimeSeriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:disassociate_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateAssets"
    o.http_method = "POST"
    o.http_request_uri = "/assets/{assetId}/disassociate"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DisassociateAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:disassociate_time_series_from_asset_property, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateTimeSeriesFromAssetProperty"
    o.http_method = "POST"
    o.http_request_uri = "/timeseries/disassociate/"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: DisassociateTimeSeriesFromAssetPropertyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:execute_action, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ExecuteAction"
    o.http_method = "POST"
    o.http_request_uri = "/actions"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ExecuteActionRequest)
    o.output = Shapes::ShapeRef.new(shape: ExecuteActionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:execute_query, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ExecuteQuery"
    o.http_method = "POST"
    o.http_request_uri = "/queries/execution"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: ExecuteQueryRequest)
    o.output = Shapes::ShapeRef.new(shape: ExecuteQueryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: QueryTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_asset_property_aggregates, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAssetPropertyAggregates"
    o.http_method = "GET"
    o.http_request_uri = "/properties/aggregates"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetAssetPropertyAggregatesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAssetPropertyAggregatesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_asset_property_value, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAssetPropertyValue"
    o.http_method = "GET"
    o.http_request_uri = "/properties/latest"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetAssetPropertyValueRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAssetPropertyValueResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
  end)

  api.add_operation(:get_asset_property_value_history, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAssetPropertyValueHistory"
    o.http_method = "GET"
    o.http_request_uri = "/properties/history"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetAssetPropertyValueHistoryRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAssetPropertyValueHistoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_interpolated_asset_property_values, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetInterpolatedAssetPropertyValues"
    o.http_method = "GET"
    o.http_request_uri = "/properties/interpolated"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: GetInterpolatedAssetPropertyValuesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetInterpolatedAssetPropertyValuesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_access_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAccessPolicies"
    o.http_method = "GET"
    o.http_request_uri = "/access-policies"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAccessPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAccessPoliciesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_actions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListActions"
    o.http_method = "GET"
    o.http_request_uri = "/actions"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListActionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListActionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_asset_model_composite_models, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssetModelCompositeModels"
    o.http_method = "GET"
    o.http_request_uri = "/asset-models/{assetModelId}/composite-models"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssetModelCompositeModelsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssetModelCompositeModelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_asset_model_properties, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssetModelProperties"
    o.http_method = "GET"
    o.http_request_uri = "/asset-models/{assetModelId}/properties"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssetModelPropertiesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssetModelPropertiesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_asset_models, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssetModels"
    o.http_method = "GET"
    o.http_request_uri = "/asset-models"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssetModelsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssetModelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_asset_properties, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssetProperties"
    o.http_method = "GET"
    o.http_request_uri = "/assets/{assetId}/properties"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssetPropertiesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssetPropertiesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_asset_relationships, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssetRelationships"
    o.http_method = "GET"
    o.http_request_uri = "/assets/{assetId}/assetRelationships"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssetRelationshipsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssetRelationshipsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssets"
    o.http_method = "GET"
    o.http_request_uri = "/assets"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_associated_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAssociatedAssets"
    o.http_method = "GET"
    o.http_request_uri = "/assets/{assetId}/hierarchies"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListAssociatedAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAssociatedAssetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_bulk_import_jobs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListBulkImportJobs"
    o.http_method = "GET"
    o.http_request_uri = "/jobs"
    o.endpoint_pattern = {
      "hostPrefix" => "data.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListBulkImportJobsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListBulkImportJobsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_composition_relationships, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCompositionRelationships"
    o.http_method = "GET"
    o.http_request_uri = "/asset-models/{assetModelId}/composition-relationships"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListCompositionRelationshipsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCompositionRelationshipsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_dashboards, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDashboards"
    o.http_method = "GET"
    o.http_request_uri = "/dashboards"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListDashboardsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDashboardsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_gateways, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGateways"
    o.http_method = "GET"
    o.http_request_uri = "/20200301/gateways"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListGatewaysRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGatewaysResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_portals, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPortals"
    o.http_method = "GET"
    o.http_request_uri = "/portals"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListPortalsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListPortalsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_project_assets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListProjectAssets"
    o.http_method = "GET"
    o.http_request_uri = "/projects/{projectId}/assets"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListProjectAssetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListProjectAssetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_projects, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListProjects"
    o.http_method = "GET"
    o.http_request_uri = "/projects"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListProjectsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListProjectsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "GET"
    o.http_request_uri = "/tags"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
  end)

  api.add_operation(:list_time_series, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTimeSeries"
    o.http_method = "GET"
    o.http_request_uri = "/timeseries/"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: ListTimeSeriesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTimeSeriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:put_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutDefaultEncryptionConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/configuration/account/encryption"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: PutDefaultEncryptionConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: PutDefaultEncryptionConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:put_logging_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutLoggingOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/logging"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: PutLoggingOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutLoggingOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:put_storage_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutStorageConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/configuration/account/storage"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: PutStorageConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: PutStorageConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/tags"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "DELETE"
    o.http_request_uri = "/tags"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
  end)

  api.add_operation(:update_access_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAccessPolicy"
    o.http_method = "PUT"
    o.http_request_uri = "/access-policies/{accessPolicyId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateAccessPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateAccessPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_asset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAsset"
    o.http_method = "PUT"
    o.http_request_uri = "/assets/{assetId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateAssetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateAssetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:update_asset_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAssetModel"
    o.http_method = "PUT"
    o.http_request_uri = "/asset-models/{assetModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateAssetModelRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateAssetModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
  end)

  api.add_operation(:update_asset_model_composite_model, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAssetModelCompositeModel"
    o.http_method = "PUT"
    o.http_request_uri = "/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateAssetModelCompositeModelRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateAssetModelCompositeModelResponse)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_asset_property, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAssetProperty"
    o.http_method = "PUT"
    o.http_request_uri = "/assets/{assetId}/properties/{propertyId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateAssetPropertyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:update_dashboard, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateDashboard"
    o.http_method = "PUT"
    o.http_request_uri = "/dashboards/{dashboardId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateDashboardRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateDashboardResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGateway"
    o.http_method = "PUT"
    o.http_request_uri = "/20200301/gateways/{gatewayId}"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateGatewayRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:update_gateway_capability_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGatewayCapabilityConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/20200301/gateways/{gatewayId}/capability"
    o.endpoint_pattern = {
      "hostPrefix" => "api.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateGatewayCapabilityConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateGatewayCapabilityConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_portal, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdatePortal"
    o.http_method = "PUT"
    o.http_request_uri = "/portals/{portalId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdatePortalRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdatePortalResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
  end)

  api.add_operation(:update_project, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateProject"
    o.http_method = "PUT"
    o.http_request_uri = "/projects/{projectId}"
    o.endpoint_pattern = {
      "hostPrefix" => "monitor.",
    }
    o.input = Shapes::ShapeRef.new(shape: UpdateProjectRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateProjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)
end