diff --git a/apis/iotsitewise/2019-12-02/api-2.json b/apis/iotsitewise/2019-12-02/api-2.json
index 85cfef09a7f..2d15d3e7940 100644
--- a/apis/iotsitewise/2019-12-02/api-2.json
+++ b/apis/iotsitewise/2019-12-02/api-2.json
@@ -219,6 +219,7 @@
"output":{"shape":"CreateAssetModelCompositeModelResponse"},
"errors":[
{"shape":"ConflictingOperationException"},
+ {"shape":"PreconditionFailedException"},
{"shape":"InternalFailureException"},
{"shape":"InvalidRequestException"},
{"shape":"ResourceAlreadyExistsException"},
@@ -369,7 +370,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"InternalFailureException"},
{"shape":"ThrottlingException"},
- {"shape":"ConflictingOperationException"}
+ {"shape":"ConflictingOperationException"},
+ {"shape":"PreconditionFailedException"}
],
"endpoint":{"hostPrefix":"api."}
},
@@ -387,7 +389,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"InternalFailureException"},
{"shape":"ThrottlingException"},
- {"shape":"ConflictingOperationException"}
+ {"shape":"ConflictingOperationException"},
+ {"shape":"PreconditionFailedException"}
],
"endpoint":{"hostPrefix":"api."}
},
@@ -1323,7 +1326,8 @@
{"shape":"InternalFailureException"},
{"shape":"LimitExceededException"},
{"shape":"ThrottlingException"},
- {"shape":"ConflictingOperationException"}
+ {"shape":"ConflictingOperationException"},
+ {"shape":"PreconditionFailedException"}
],
"endpoint":{"hostPrefix":"api."}
},
@@ -1338,6 +1342,7 @@
"output":{"shape":"UpdateAssetModelCompositeModelResponse"},
"errors":[
{"shape":"ConflictingOperationException"},
+ {"shape":"PreconditionFailedException"},
{"shape":"InternalFailureException"},
{"shape":"InvalidRequestException"},
{"shape":"ResourceAlreadyExistsException"},
@@ -1702,12 +1707,12 @@
"type"
],
"members":{
+ "id":{"shape":"ID"},
+ "externalId":{"shape":"ExternalId"},
"name":{"shape":"Name"},
"description":{"shape":"Description"},
"type":{"shape":"Name"},
- "properties":{"shape":"AssetModelPropertyDefinitions"},
- "id":{"shape":"ID"},
- "externalId":{"shape":"ExternalId"}
+ "properties":{"shape":"AssetModelPropertyDefinitions"}
}
},
"AssetModelCompositeModelDefinitions":{
@@ -1761,9 +1766,9 @@
],
"members":{
"id":{"shape":"CustomID"},
+ "externalId":{"shape":"ExternalId"},
"name":{"shape":"Name"},
- "childAssetModelId":{"shape":"CustomID"},
- "externalId":{"shape":"ExternalId"}
+ "childAssetModelId":{"shape":"CustomID"}
}
},
"AssetModelHierarchyDefinition":{
@@ -1773,10 +1778,10 @@
"childAssetModelId"
],
"members":{
- "name":{"shape":"Name"},
- "childAssetModelId":{"shape":"CustomID"},
"id":{"shape":"ID"},
- "externalId":{"shape":"ExternalId"}
+ "externalId":{"shape":"ExternalId"},
+ "name":{"shape":"Name"},
+ "childAssetModelId":{"shape":"CustomID"}
}
},
"AssetModelHierarchyDefinitions":{
@@ -1796,13 +1801,13 @@
],
"members":{
"id":{"shape":"CustomID"},
+ "externalId":{"shape":"ExternalId"},
"name":{"shape":"Name"},
"dataType":{"shape":"PropertyDataType"},
"dataTypeSpec":{"shape":"Name"},
"unit":{"shape":"PropertyUnit"},
"type":{"shape":"PropertyType"},
- "path":{"shape":"AssetModelPropertyPath"},
- "externalId":{"shape":"ExternalId"}
+ "path":{"shape":"AssetModelPropertyPath"}
}
},
"AssetModelPropertyDefinition":{
@@ -1813,13 +1818,13 @@
"type"
],
"members":{
+ "id":{"shape":"ID"},
+ "externalId":{"shape":"ExternalId"},
"name":{"shape":"Name"},
"dataType":{"shape":"PropertyDataType"},
"dataTypeSpec":{"shape":"Name"},
"unit":{"shape":"PropertyUnit"},
- "type":{"shape":"PropertyType"},
- "id":{"shape":"ID"},
- "externalId":{"shape":"ExternalId"}
+ "type":{"shape":"PropertyType"}
}
},
"AssetModelPropertyDefinitions":{
@@ -1850,14 +1855,14 @@
],
"members":{
"id":{"shape":"ID"},
+ "externalId":{"shape":"ExternalId"},
"name":{"shape":"Name"},
"dataType":{"shape":"PropertyDataType"},
"dataTypeSpec":{"shape":"Name"},
"unit":{"shape":"PropertyUnit"},
"type":{"shape":"PropertyType"},
"assetModelCompositeModelId":{"shape":"ID"},
- "path":{"shape":"AssetModelPropertyPath"},
- "externalId":{"shape":"ExternalId"}
+ "path":{"shape":"AssetModelPropertyPath"}
}
},
"AssetModelState":{
@@ -1896,14 +1901,15 @@
],
"members":{
"id":{"shape":"ID"},
+ "externalId":{"shape":"ExternalId"},
"arn":{"shape":"ARN"},
"name":{"shape":"Name"},
+ "assetModelType":{"shape":"AssetModelType"},
"description":{"shape":"Description"},
"creationDate":{"shape":"Timestamp"},
"lastUpdateDate":{"shape":"Timestamp"},
"status":{"shape":"AssetModelStatus"},
- "assetModelType":{"shape":"AssetModelType"},
- "externalId":{"shape":"ExternalId"}
+ "version":{"shape":"Version"}
}
},
"AssetModelType":{
@@ -1913,6 +1919,17 @@
"COMPONENT_MODEL"
]
},
+ "AssetModelVersionFilter":{
+ "type":"string",
+ "pattern":"^(LATEST|ACTIVE)$"
+ },
+ "AssetModelVersionType":{
+ "type":"string",
+ "enum":[
+ "LATEST",
+ "ACTIVE"
+ ]
+ },
"AssetProperties":{
"type":"list",
"member":{"shape":"AssetProperty"}
@@ -2813,8 +2830,8 @@
"location":"uri",
"locationName":"assetModelId"
},
- "parentAssetModelCompositeModelId":{"shape":"CustomID"},
"assetModelCompositeModelExternalId":{"shape":"ExternalId"},
+ "parentAssetModelCompositeModelId":{"shape":"CustomID"},
"assetModelCompositeModelId":{"shape":"ID"},
"assetModelCompositeModelDescription":{"shape":"Description"},
"assetModelCompositeModelName":{"shape":"Name"},
@@ -2824,7 +2841,22 @@
"idempotencyToken":true
},
"composedAssetModelId":{"shape":"CustomID"},
- "assetModelCompositeModelProperties":{"shape":"AssetModelPropertyDefinitions"}
+ "assetModelCompositeModelProperties":{"shape":"AssetModelPropertyDefinitions"},
+ "ifMatch":{
+ "shape":"ETag",
+ "location":"header",
+ "locationName":"If-Match"
+ },
+ "ifNoneMatch":{
+ "shape":"SelectAll",
+ "location":"header",
+ "locationName":"If-None-Match"
+ },
+ "matchForVersionType":{
+ "shape":"AssetModelVersionType",
+ "location":"header",
+ "locationName":"Match-For-Version-Type"
+ }
}
},
"CreateAssetModelCompositeModelResponse":{
@@ -2845,6 +2877,9 @@
"required":["assetModelName"],
"members":{
"assetModelName":{"shape":"Name"},
+ "assetModelType":{"shape":"AssetModelType"},
+ "assetModelId":{"shape":"ID"},
+ "assetModelExternalId":{"shape":"ExternalId"},
"assetModelDescription":{"shape":"Description"},
"assetModelProperties":{"shape":"AssetModelPropertyDefinitions"},
"assetModelHierarchies":{"shape":"AssetModelHierarchyDefinitions"},
@@ -2853,10 +2888,7 @@
"shape":"ClientToken",
"idempotencyToken":true
},
- "tags":{"shape":"TagMap"},
- "assetModelId":{"shape":"ID"},
- "assetModelExternalId":{"shape":"ExternalId"},
- "assetModelType":{"shape":"AssetModelType"}
+ "tags":{"shape":"TagMap"}
}
},
"CreateAssetModelResponse":{
@@ -3166,6 +3198,21 @@
"idempotencyToken":true,
"location":"querystring",
"locationName":"clientToken"
+ },
+ "ifMatch":{
+ "shape":"ETag",
+ "location":"header",
+ "locationName":"If-Match"
+ },
+ "ifNoneMatch":{
+ "shape":"SelectAll",
+ "location":"header",
+ "locationName":"If-None-Match"
+ },
+ "matchForVersionType":{
+ "shape":"AssetModelVersionType",
+ "location":"header",
+ "locationName":"Match-For-Version-Type"
}
}
},
@@ -3190,6 +3237,21 @@
"idempotencyToken":true,
"location":"querystring",
"locationName":"clientToken"
+ },
+ "ifMatch":{
+ "shape":"ETag",
+ "location":"header",
+ "locationName":"If-Match"
+ },
+ "ifNoneMatch":{
+ "shape":"SelectAll",
+ "location":"header",
+ "locationName":"If-None-Match"
+ },
+ "matchForVersionType":{
+ "shape":"AssetModelVersionType",
+ "location":"header",
+ "locationName":"Match-For-Version-Type"
}
}
},
@@ -3448,6 +3510,11 @@
"shape":"CustomID",
"location":"uri",
"locationName":"assetModelCompositeModelId"
+ },
+ "assetModelVersion":{
+ "shape":"AssetModelVersionFilter",
+ "location":"querystring",
+ "locationName":"assetModelVersion"
}
}
},
@@ -3490,6 +3557,11 @@
"shape":"ExcludeProperties",
"location":"querystring",
"locationName":"excludeProperties"
+ },
+ "assetModelVersion":{
+ "shape":"AssetModelVersionFilter",
+ "location":"querystring",
+ "locationName":"assetModelVersion"
}
}
},
@@ -3508,18 +3580,24 @@
],
"members":{
"assetModelId":{"shape":"ID"},
+ "assetModelExternalId":{"shape":"ExternalId"},
"assetModelArn":{"shape":"ARN"},
"assetModelName":{"shape":"Name"},
+ "assetModelType":{"shape":"AssetModelType"},
"assetModelDescription":{"shape":"Description"},
"assetModelProperties":{"shape":"AssetModelProperties"},
"assetModelHierarchies":{"shape":"AssetModelHierarchies"},
"assetModelCompositeModels":{"shape":"AssetModelCompositeModels"},
+ "assetModelCompositeModelSummaries":{"shape":"AssetModelCompositeModelSummaries"},
"assetModelCreationDate":{"shape":"Timestamp"},
"assetModelLastUpdateDate":{"shape":"Timestamp"},
"assetModelStatus":{"shape":"AssetModelStatus"},
- "assetModelType":{"shape":"AssetModelType"},
- "assetModelCompositeModelSummaries":{"shape":"AssetModelCompositeModelSummaries"},
- "assetModelExternalId":{"shape":"ExternalId"}
+ "assetModelVersion":{"shape":"Version"},
+ "eTag":{
+ "shape":"ETag",
+ "location":"header",
+ "locationName":"ETag"
+ }
}
},
"DescribeAssetPropertyRequest":{
@@ -3989,6 +4067,10 @@
"DISABLED"
]
},
+ "ETag":{
+ "type":"string",
+ "pattern":"^[\\w-]{43}$"
+ },
"Email":{
"type":"string",
"max":255,
@@ -4775,6 +4857,11 @@
"shape":"MaxResults",
"location":"querystring",
"locationName":"maxResults"
+ },
+ "assetModelVersion":{
+ "shape":"AssetModelVersionFilter",
+ "location":"querystring",
+ "locationName":"assetModelVersion"
}
}
},
@@ -4816,6 +4903,11 @@
"shape":"ListAssetModelPropertiesFilter",
"location":"querystring",
"locationName":"filter"
+ },
+ "assetModelVersion":{
+ "shape":"AssetModelVersionFilter",
+ "location":"querystring",
+ "locationName":"assetModelVersion"
}
}
},
@@ -4830,6 +4922,11 @@
"ListAssetModelsRequest":{
"type":"structure",
"members":{
+ "assetModelTypes":{
+ "shape":"ListAssetModelsTypeFilter",
+ "location":"querystring",
+ "locationName":"assetModelTypes"
+ },
"nextToken":{
"shape":"NextToken",
"location":"querystring",
@@ -4840,10 +4937,10 @@
"location":"querystring",
"locationName":"maxResults"
},
- "assetModelTypes":{
- "shape":"ListAssetModelsTypeFilter",
+ "assetModelVersion":{
+ "shape":"AssetModelVersionFilter",
"location":"querystring",
- "locationName":"assetModelTypes"
+ "locationName":"assetModelVersion"
}
}
},
@@ -5468,6 +5565,21 @@
"status":{"shape":"PortalStatus"}
}
},
+ "PreconditionFailedException":{
+ "type":"structure",
+ "required":[
+ "message",
+ "resourceId",
+ "resourceArn"
+ ],
+ "members":{
+ "message":{"shape":"ErrorMessage"},
+ "resourceId":{"shape":"ResourceId"},
+ "resourceArn":{"shape":"ResourceArn"}
+ },
+ "error":{"httpStatusCode":412},
+ "exception":true
+ },
"ProjectResource":{
"type":"structure",
"required":["id"],
@@ -5751,6 +5863,10 @@
]
},
"ScalarValue":{"type":"string"},
+ "SelectAll":{
+ "type":"string",
+ "pattern":"\\*"
+ },
"ServiceUnavailableException":{
"type":"structure",
"required":["message"],
@@ -6029,7 +6145,22 @@
"shape":"ClientToken",
"idempotencyToken":true
},
- "assetModelCompositeModelProperties":{"shape":"AssetModelProperties"}
+ "assetModelCompositeModelProperties":{"shape":"AssetModelProperties"},
+ "ifMatch":{
+ "shape":"ETag",
+ "location":"header",
+ "locationName":"If-Match"
+ },
+ "ifNoneMatch":{
+ "shape":"SelectAll",
+ "location":"header",
+ "locationName":"If-None-Match"
+ },
+ "matchForVersionType":{
+ "shape":"AssetModelVersionType",
+ "location":"header",
+ "locationName":"Match-For-Version-Type"
+ }
}
},
"UpdateAssetModelCompositeModelResponse":{
@@ -6055,6 +6186,7 @@
"location":"uri",
"locationName":"assetModelId"
},
+ "assetModelExternalId":{"shape":"ExternalId"},
"assetModelName":{"shape":"Name"},
"assetModelDescription":{"shape":"Description"},
"assetModelProperties":{"shape":"AssetModelProperties"},
@@ -6064,7 +6196,21 @@
"shape":"ClientToken",
"idempotencyToken":true
},
- "assetModelExternalId":{"shape":"ExternalId"}
+ "ifMatch":{
+ "shape":"ETag",
+ "location":"header",
+ "locationName":"If-Match"
+ },
+ "ifNoneMatch":{
+ "shape":"SelectAll",
+ "location":"header",
+ "locationName":"If-None-Match"
+ },
+ "matchForVersionType":{
+ "shape":"AssetModelVersionType",
+ "location":"header",
+ "locationName":"Match-For-Version-Type"
+ }
}
},
"UpdateAssetModelResponse":{
@@ -6301,6 +6447,12 @@
"booleanValue":{"shape":"PropertyValueBooleanValue"}
}
},
+ "Version":{
+ "type":"string",
+ "max":10,
+ "min":1,
+ "pattern":"^(0|([1-9]{1}\\d*))$"
+ },
"WarmTierRetentionPeriod":{
"type":"structure",
"members":{
diff --git a/apis/iotsitewise/2019-12-02/docs-2.json b/apis/iotsitewise/2019-12-02/docs-2.json
index 35c4f77276c..8380c439a4b 100644
--- a/apis/iotsitewise/2019-12-02/docs-2.json
+++ b/apis/iotsitewise/2019-12-02/docs-2.json
@@ -61,7 +61,7 @@
"ListAssetProperties": "
Retrieves a paginated list of properties associated with an asset. If you update properties associated with the model before you finish listing all the properties, you need to start all over again.
",
"ListAssetRelationships": "Retrieves a paginated list of asset relationships for an asset. You can use this operation to identify an asset's root asset and all associated assets between that asset and its root.
",
"ListAssets": "Retrieves a paginated list of asset summaries.
You can use this operation to do the following:
You can't use this operation to list all assets. To retrieve summaries for all of your assets, use ListAssetModels to get all of your asset model IDs. Then, use ListAssets to get all assets for each asset model.
",
- "ListAssociatedAssets": "Retrieves a paginated list of associated assets.
You can use this operation to do the following:
",
+ "ListAssociatedAssets": "Retrieves a paginated list of associated assets.
You can use this operation to do the following:
",
"ListBulkImportJobs": "Retrieves a paginated list of bulk import job requests. For more information, see List bulk import jobs (CLI) in the IoT SiteWise User Guide.
",
"ListCompositionRelationships": "Retrieves a paginated list of composition relationships for an asset model of type COMPONENT_MODEL
.
",
"ListDashboards": "Retrieves a paginated list of dashboards for an IoT SiteWise Monitor project.
",
@@ -508,6 +508,26 @@
"ListAssetModelsTypeFilter$member": null
}
},
+ "AssetModelVersionFilter": {
+ "base": null,
+ "refs": {
+ "DescribeAssetModelCompositeModelRequest$assetModelVersion": "The version alias that specifies the latest or active version of the asset model. The details are returned in the response. The default value is LATEST
. See Asset model versions in the IoT SiteWise User Guide.
",
+ "DescribeAssetModelRequest$assetModelVersion": "The version alias that specifies the latest or active version of the asset model. The details are returned in the response. The default value is LATEST
. See Asset model versions in the IoT SiteWise User Guide.
",
+ "ListAssetModelCompositeModelsRequest$assetModelVersion": "The version alias that specifies the latest or active version of the asset model. The details are returned in the response. The default value is LATEST
. See Asset model versions in the IoT SiteWise User Guide.
",
+ "ListAssetModelPropertiesRequest$assetModelVersion": "The version alias that specifies the latest or active version of the asset model. The details are returned in the response. The default value is LATEST
. See Asset model versions in the IoT SiteWise User Guide.
",
+ "ListAssetModelsRequest$assetModelVersion": "The version alias that specifies the latest or active version of the asset model. The details are returned in the response. The default value is LATEST
. See Asset model versions in the IoT SiteWise User Guide.
"
+ }
+ },
+ "AssetModelVersionType": {
+ "base": null,
+ "refs": {
+ "CreateAssetModelCompositeModelRequest$matchForVersionType": "Specifies the asset model version type (LATEST
or ACTIVE
) used in conjunction with If-Match
or If-None-Match
headers to determine the target ETag for the create operation.
",
+ "DeleteAssetModelCompositeModelRequest$matchForVersionType": "Specifies the asset model version type (LATEST
or ACTIVE
) used in conjunction with If-Match
or If-None-Match
headers to determine the target ETag for the delete operation.
",
+ "DeleteAssetModelRequest$matchForVersionType": "Specifies the asset model version type (LATEST
or ACTIVE
) used in conjunction with If-Match
or If-None-Match
headers to determine the target ETag for the delete operation.
",
+ "UpdateAssetModelCompositeModelRequest$matchForVersionType": "Specifies the asset model version type (LATEST
or ACTIVE
) used in conjunction with If-Match
or If-None-Match
headers to determine the target ETag for the update operation.
",
+ "UpdateAssetModelRequest$matchForVersionType": "Specifies the asset model version type (LATEST
or ACTIVE
) used in conjunction with If-Match
or If-None-Match
headers to determine the target ETag for the update operation.
"
+ }
+ },
"AssetProperties": {
"base": null,
"refs": {
@@ -1283,7 +1303,7 @@
"ListAssetRelationshipsRequest$assetId": "The ID of the asset. This can be either the actual ID in UUID format, or else externalId:
followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.
",
"ListAssetsRequest$assetModelId": "The ID of the asset model by which to filter the list of assets. This parameter is required if you choose ALL
for filter
. This can be either the actual ID in UUID format, or else externalId:
followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.
",
"ListAssociatedAssetsRequest$assetId": "The ID of the asset to query. This can be either the actual ID in UUID format, or else externalId:
followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.
",
- "ListAssociatedAssetsRequest$hierarchyId": "The ID of the hierarchy by which child assets are associated to the asset. (This can be either the actual ID in UUID format, or else externalId:
followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.) To find a hierarchy ID, use the DescribeAsset or DescribeAssetModel operations. This parameter is required if you choose CHILD
for traversalDirection
.
For more information, see Asset hierarchies in the IoT SiteWise User Guide.
",
+ "ListAssociatedAssetsRequest$hierarchyId": "(Optional) If you don't provide a hierarchyId
, all the immediate assets in the traversalDirection
will be returned.
The ID of the hierarchy by which child assets are associated to the asset. (This can be either the actual ID in UUID format, or else externalId:
followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.)
For more information, see Asset hierarchies in the IoT SiteWise User Guide.
",
"ListTimeSeriesRequest$assetId": "The ID of the asset in which the asset property was created. This can be either the actual ID in UUID format, or else externalId:
followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.
",
"TargetResource$assetId": "The ID of the asset, in UUID format.
",
"UpdateAssetModelCompositeModelRequest$assetModelId": "The ID of the asset model, in UUID format.
",
@@ -1673,6 +1693,17 @@
"PutStorageConfigurationResponse$disassociatedDataStorage": "Contains the storage configuration for time series (data streams) that aren't associated with asset properties. The disassociatedDataStorage
can be one of the following values:
For more information, see Data streams in the IoT SiteWise User Guide.
"
}
},
+ "ETag": {
+ "base": null,
+ "refs": {
+ "CreateAssetModelCompositeModelRequest$ifMatch": "The expected current entity tag (ETag) for the asset model’s latest or active version (specified using matchForVersionType
). The create request is rejected if the tag does not match the latest or active version's current entity tag. See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
",
+ "DeleteAssetModelCompositeModelRequest$ifMatch": "The expected current entity tag (ETag) for the asset model’s latest or active version (specified using matchForVersionType
). The delete request is rejected if the tag does not match the latest or active version's current entity tag. See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
",
+ "DeleteAssetModelRequest$ifMatch": "The expected current entity tag (ETag) for the asset model’s latest or active version (specified using matchForVersionType
). The delete request is rejected if the tag does not match the latest or active version's current entity tag. See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
",
+ "DescribeAssetModelResponse$eTag": "The entity tag (ETag) is a hash of the retrieved version of the asset model. It's used to make concurrent updates safely to the resource. See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
",
+ "UpdateAssetModelCompositeModelRequest$ifMatch": "The expected current entity tag (ETag) for the asset model’s latest or active version (specified using matchForVersionType
). The update request is rejected if the tag does not match the latest or active version's current entity tag. See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
",
+ "UpdateAssetModelRequest$ifMatch": "The expected current entity tag (ETag) for the asset model’s latest or active version (specified using matchForVersionType
). The update request is rejected if the tag does not match the latest or active version's current entity tag. See Optimistic locking for asset model writes in the IoT SiteWise User Guide.
"
+ }
+ },
"Email": {
"base": null,
"refs": {
@@ -1738,6 +1769,7 @@
"InternalFailureException$message": null,
"InvalidRequestException$message": null,
"LimitExceededException$message": null,
+ "PreconditionFailedException$message": null,
"ResourceAlreadyExistsException$message": null,
"ResourceNotFoundException$message": null,
"ServiceUnavailableException$message": null,
@@ -2349,7 +2381,7 @@
"ListAssetModelsTypeFilter": {
"base": null,
"refs": {
- "ListAssetModelsRequest$assetModelTypes": "The type of asset model.
-
ASSET_MODEL – (default) An asset model that you can use to create assets. Can't be included as a component in another asset model.
-
COMPONENT_MODEL – A reusable component that you can include in the composite models of other asset models. You can't create assets directly from this type of asset model.
"
+ "ListAssetModelsRequest$assetModelTypes": "The type of asset model. If you don't provide an assetModelTypes
, all types of asset models are returned.
-
ASSET_MODEL – An asset model that you can use to create assets. Can't be included as a component in another asset model.
-
COMPONENT_MODEL – A reusable component that you can include in the composite models of other asset models. You can't create assets directly from this type of asset model.
"
}
},
"ListAssetPropertiesFilter": {
@@ -2814,6 +2846,11 @@
"PortalSummaries$member": null
}
},
+ "PreconditionFailedException": {
+ "base": "The precondition in one or more of the request-header fields evaluated to FALSE
.
",
+ "refs": {
+ }
+ },
"ProjectResource": {
"base": "Identifies a specific IoT SiteWise Monitor project.
",
"refs": {
@@ -3029,6 +3066,7 @@
"base": null,
"refs": {
"ConflictingOperationException$resourceArn": "The ARN of the resource that conflicts with this operation.
",
+ "PreconditionFailedException$resourceArn": "The ARN of the resource on which precondition failed with this operation.
",
"ResourceAlreadyExistsException$resourceArn": "The ARN of the resource that already exists.
"
}
},
@@ -3036,6 +3074,7 @@
"base": null,
"refs": {
"ConflictingOperationException$resourceId": "The ID of the resource that conflicts with this operation.
",
+ "PreconditionFailedException$resourceId": "The ID of the resource on which precondition failed with this operation.
",
"ResourceAlreadyExistsException$resourceId": "The ID of the resource that already exists.
"
}
},
@@ -3089,6 +3128,16 @@
"Datum$scalarValue": "Indicates if the data point is a scalar value such as integer, string, double, or Boolean.
"
}
},
+ "SelectAll": {
+ "base": null,
+ "refs": {
+ "CreateAssetModelCompositeModelRequest$ifNoneMatch": "Accepts * to reject the create request if an active version (specified using matchForVersionType
as ACTIVE
) already exists for the asset model.
",
+ "DeleteAssetModelCompositeModelRequest$ifNoneMatch": "Accepts * to reject the delete request if an active version (specified using matchForVersionType
as ACTIVE
) already exists for the asset model.
",
+ "DeleteAssetModelRequest$ifNoneMatch": "Accepts * to reject the delete request if an active version (specified using matchForVersionType
as ACTIVE
) already exists for the asset model.
",
+ "UpdateAssetModelCompositeModelRequest$ifNoneMatch": "Accepts * to reject the update request if an active version (specified using matchForVersionType
as ACTIVE
) already exists for the asset model.
",
+ "UpdateAssetModelRequest$ifNoneMatch": "Accepts * to reject the update request if an active version (specified using matchForVersionType
as ACTIVE
) already exists for the asset model.
"
+ }
+ },
"ServiceUnavailableException": {
"base": "The requested service is unavailable.
",
"refs": {
@@ -3304,7 +3353,7 @@
"TraversalDirection": {
"base": null,
"refs": {
- "ListAssociatedAssetsRequest$traversalDirection": "The direction to list associated assets. Choose one of the following options:
Default: CHILD
"
+ "ListAssociatedAssetsRequest$traversalDirection": "The direction to list associated assets. Choose one of the following options:
Default: CHILD
"
}
},
"TraversalType": {
@@ -3470,6 +3519,13 @@
"InterpolatedAssetPropertyValue$value": null
}
},
+ "Version": {
+ "base": null,
+ "refs": {
+ "AssetModelSummary$version": "The version number of the asset model.
",
+ "DescribeAssetModelResponse$assetModelVersion": "The version of the asset model. See Asset model versions in the IoT SiteWise User Guide.
"
+ }
+ },
"WarmTierRetentionPeriod": {
"base": "Set this period to specify how long your data is stored in the warm tier before it is deleted. You can set this only if cold tier is enabled.
",
"refs": {
diff --git a/apis/workspaces/2015-04-08/api-2.json b/apis/workspaces/2015-04-08/api-2.json
index eb761672c1f..b4072770784 100644
--- a/apis/workspaces/2015-04-08/api-2.json
+++ b/apis/workspaces/2015-04-08/api-2.json
@@ -2631,13 +2631,48 @@
"NextToken":{"shape":"PaginationToken"}
}
},
+ "DescribeWorkspaceDirectoriesFilter":{
+ "type":"structure",
+ "required":[
+ "Name",
+ "Values"
+ ],
+ "members":{
+ "Name":{"shape":"DescribeWorkspaceDirectoriesFilterName"},
+ "Values":{"shape":"DescribeWorkspaceDirectoriesFilterValues"}
+ }
+ },
+ "DescribeWorkspaceDirectoriesFilterList":{
+ "type":"list",
+ "member":{"shape":"DescribeWorkspaceDirectoriesFilter"},
+ "max":25,
+ "min":1
+ },
+ "DescribeWorkspaceDirectoriesFilterName":{
+ "type":"string",
+ "enum":[
+ "USER_IDENTITY_TYPE",
+ "WORKSPACE_TYPE"
+ ]
+ },
+ "DescribeWorkspaceDirectoriesFilterValue":{
+ "type":"string",
+ "pattern":"^[0-9a-zA-Z\\*\\.\\\\/\\?-_]{0,64}$"
+ },
+ "DescribeWorkspaceDirectoriesFilterValues":{
+ "type":"list",
+ "member":{"shape":"DescribeWorkspaceDirectoriesFilterValue"},
+ "max":25,
+ "min":1
+ },
"DescribeWorkspaceDirectoriesRequest":{
"type":"structure",
"members":{
"DirectoryIds":{"shape":"DirectoryIdList"},
"WorkspaceDirectoryNames":{"shape":"WorkspaceDirectoryNameList"},
"Limit":{"shape":"Limit"},
- "NextToken":{"shape":"PaginationToken"}
+ "NextToken":{"shape":"PaginationToken"},
+ "Filters":{"shape":"DescribeWorkspaceDirectoriesFilterList"}
}
},
"DescribeWorkspaceDirectoriesResult":{
@@ -2968,6 +3003,13 @@
"AccountLink":{"shape":"AccountLink"}
}
},
+ "IDCConfig":{
+ "type":"structure",
+ "members":{
+ "InstanceArn":{"shape":"ARN"},
+ "ApplicationArn":{"shape":"ARN"}
+ }
+ },
"IdleDisconnectTimeoutInSeconds":{
"type":"integer",
"max":36000,
@@ -3234,6 +3276,17 @@
"type":"integer",
"min":0
},
+ "MicrosoftEntraConfig":{
+ "type":"structure",
+ "members":{
+ "TenantId":{"shape":"MicrosoftEntraConfigTenantId"},
+ "ApplicationConfigSecretArn":{"shape":"SecretsManagerArn"}
+ }
+ },
+ "MicrosoftEntraConfigTenantId":{
+ "type":"string",
+ "pattern":"^[a-zA-Z0-9-]{1,100}$"
+ },
"MigrateWorkspaceRequest":{
"type":"structure",
"required":[
@@ -3597,6 +3650,8 @@
"WorkspaceDirectoryName":{"shape":"WorkspaceDirectoryName"},
"WorkspaceDirectoryDescription":{"shape":"WorkspaceDirectoryDescription"},
"UserIdentityType":{"shape":"UserIdentityType"},
+ "IdcInstanceArn":{"shape":"ARN"},
+ "MicrosoftEntraConfig":{"shape":"MicrosoftEntraConfig"},
"WorkspaceType":{"shape":"WorkspaceType"},
"ActiveDirectoryConfig":{"shape":"ActiveDirectoryConfig"}
}
@@ -4214,7 +4269,8 @@
"type":"string",
"enum":[
"CUSTOMER_MANAGED",
- "AWS_DIRECTORY_SERVICE"
+ "AWS_DIRECTORY_SERVICE",
+ "AWS_IAM_IDENTITY_CENTER"
]
},
"UserName":{
@@ -4453,10 +4509,12 @@
"SelfservicePermissions":{"shape":"SelfservicePermissions"},
"SamlProperties":{"shape":"SamlProperties"},
"CertificateBasedAuthProperties":{"shape":"CertificateBasedAuthProperties"},
+ "MicrosoftEntraConfig":{"shape":"MicrosoftEntraConfig"},
"WorkspaceDirectoryName":{"shape":"WorkspaceDirectoryName"},
"WorkspaceDirectoryDescription":{"shape":"WorkspaceDirectoryDescription"},
"UserIdentityType":{"shape":"UserIdentityType"},
"WorkspaceType":{"shape":"WorkspaceType"},
+ "IDCConfig":{"shape":"IDCConfig"},
"ActiveDirectoryConfig":{"shape":"ActiveDirectoryConfig"},
"StreamingProperties":{"shape":"StreamingProperties"},
"ErrorMessage":{"shape":"Description"}
@@ -4491,7 +4549,8 @@
"enum":[
"SIMPLE_AD",
"AD_CONNECTOR",
- "CUSTOMER_MANAGED"
+ "CUSTOMER_MANAGED",
+ "AWS_IAM_IDENTITY_CENTER"
]
},
"WorkspaceErrorCode":{"type":"string"},
diff --git a/apis/workspaces/2015-04-08/docs-2.json b/apis/workspaces/2015-04-08/docs-2.json
index dfd206f6392..6293ee851bf 100644
--- a/apis/workspaces/2015-04-08/docs-2.json
+++ b/apis/workspaces/2015-04-08/docs-2.json
@@ -96,6 +96,9 @@
"base": null,
"refs": {
"DefaultWorkspaceCreationProperties$InstanceIamRoleArn": "Indicates the IAM role ARN of the instance.
",
+ "IDCConfig$InstanceArn": "The Amazon Resource Name (ARN) of the identity center instance.
",
+ "IDCConfig$ApplicationArn": "The Amazon Resource Name (ARN) of the application.
",
+ "RegisterWorkspaceDirectoryRequest$IdcInstanceArn": "The Amazon Resource Name (ARN) of the identity center instance.
",
"WorkspaceCreationProperties$InstanceIamRoleArn": "Indicates the IAM role ARN of the instance.
",
"WorkspaceDirectory$IamRoleId": "The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.
",
"WorkspacesPool$PoolArn": "The Amazon Resource Name (ARN) for the pool.
"
@@ -1204,6 +1207,36 @@
"refs": {
}
},
+ "DescribeWorkspaceDirectoriesFilter": {
+ "base": "Describes the filter conditions for the WorkSpaces to return.
",
+ "refs": {
+ "DescribeWorkspaceDirectoriesFilterList$member": null
+ }
+ },
+ "DescribeWorkspaceDirectoriesFilterList": {
+ "base": null,
+ "refs": {
+ "DescribeWorkspaceDirectoriesRequest$Filters": "The filter condition for the WorkSpaces.
"
+ }
+ },
+ "DescribeWorkspaceDirectoriesFilterName": {
+ "base": null,
+ "refs": {
+ "DescribeWorkspaceDirectoriesFilter$Name": "The name of the WorkSpaces to filter.
"
+ }
+ },
+ "DescribeWorkspaceDirectoriesFilterValue": {
+ "base": null,
+ "refs": {
+ "DescribeWorkspaceDirectoriesFilterValues$member": null
+ }
+ },
+ "DescribeWorkspaceDirectoriesFilterValues": {
+ "base": null,
+ "refs": {
+ "DescribeWorkspaceDirectoriesFilter$Values": "The values for filtering WorkSpaces
"
+ }
+ },
"DescribeWorkspaceDirectoriesRequest": {
"base": null,
"refs": {
@@ -1575,6 +1608,12 @@
"refs": {
}
},
+ "IDCConfig": {
+ "base": "Specifies the configurations of the identity center.
",
+ "refs": {
+ "WorkspaceDirectory$IDCConfig": "Specifies details about identity center configurations.
"
+ }
+ },
"IdleDisconnectTimeoutInSeconds": {
"base": null,
"refs": {
@@ -1869,6 +1908,19 @@
"UserSetting$MaximumLength": "Indicates the maximum character length for the specified user setting.
"
}
},
+ "MicrosoftEntraConfig": {
+ "base": "Specifies the configurations of the Microsoft Entra.
",
+ "refs": {
+ "RegisterWorkspaceDirectoryRequest$MicrosoftEntraConfig": "The details about Microsoft Entra config.
",
+ "WorkspaceDirectory$MicrosoftEntraConfig": "Specifies details about Microsoft Entra configurations.
"
+ }
+ },
+ "MicrosoftEntraConfigTenantId": {
+ "base": null,
+ "refs": {
+ "MicrosoftEntraConfig$TenantId": "The identifier of the tenant.
"
+ }
+ },
"MigrateWorkspaceRequest": {
"base": null,
"refs": {
@@ -2358,7 +2410,8 @@
"SecretsManagerArn": {
"base": null,
"refs": {
- "ActiveDirectoryConfig$ServiceAccountSecretArn": "Indicates the secret ARN on the service account.
"
+ "ActiveDirectoryConfig$ServiceAccountSecretArn": "Indicates the secret ARN on the service account.
",
+ "MicrosoftEntraConfig$ApplicationConfigSecretArn": "The Amazon Resource Name (ARN) of the application config.
"
}
},
"SecurityGroupId": {
diff --git a/gems/aws-sdk-iotsitewise/CHANGELOG.md b/gems/aws-sdk-iotsitewise/CHANGELOG.md
index 40ba5d1c528..5eb37629b1f 100644
--- a/gems/aws-sdk-iotsitewise/CHANGELOG.md
+++ b/gems/aws-sdk-iotsitewise/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+1.69.0 (2024-08-26)
+------------------
+
+* Feature - AWS IoT SiteWise now supports versioning for asset models. It enables users to retrieve active version of their asset model and perform asset model writes with optimistic lock.
+
1.68.0 (2024-07-24)
------------------
diff --git a/gems/aws-sdk-iotsitewise/VERSION b/gems/aws-sdk-iotsitewise/VERSION
index ee2f4ca9130..49349856550 100644
--- a/gems/aws-sdk-iotsitewise/VERSION
+++ b/gems/aws-sdk-iotsitewise/VERSION
@@ -1 +1 @@
-1.68.0
+1.69.0
diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise.rb
index 09a2c29cb8f..bc58ec2ac48 100644
--- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise.rb
+++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise.rb
@@ -53,6 +53,6 @@
# @!group service
module Aws::IoTSiteWise
- GEM_VERSION = '1.68.0'
+ GEM_VERSION = '1.69.0'
end
diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb
index f64ecff20ad..5c82d788a77 100644
--- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb
+++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb
@@ -1154,6 +1154,33 @@ def create_asset(params = {}, options = {})
# @option params [required, String] :asset_model_name
# A unique name for the asset model.
#
+ # @option params [String] :asset_model_type
+ # The type of asset model.
+ #
+ # * **ASSET\_MODEL** – (default) An asset model that you can use to
+ # create assets. Can't be included as a component in another asset
+ # model.
+ #
+ # * **COMPONENT\_MODEL** – A reusable component that you can include in
+ # the composite models of other asset models. You can't create assets
+ # directly from this type of asset model.
+ #
+ # @option params [String] :asset_model_id
+ # The ID to assign to the asset model, if desired. IoT SiteWise
+ # automatically generates a unique ID for you, so this parameter is
+ # never required. However, if you prefer to supply your own ID instead,
+ # you can specify it here in UUID format. If you specify your own ID, it
+ # must be globally unique.
+ #
+ # @option params [String] :asset_model_external_id
+ # An external ID to assign to the asset model. The external ID must be
+ # unique within your Amazon Web Services account. For more information,
+ # see [Using external IDs][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ #
# @option params [String] :asset_model_description
# A description for the asset model.
#
@@ -1220,33 +1247,6 @@ def create_asset(params = {}, options = {})
#
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
#
- # @option params [String] :asset_model_id
- # The ID to assign to the asset model, if desired. IoT SiteWise
- # automatically generates a unique ID for you, so this parameter is
- # never required. However, if you prefer to supply your own ID instead,
- # you can specify it here in UUID format. If you specify your own ID, it
- # must be globally unique.
- #
- # @option params [String] :asset_model_external_id
- # An external ID to assign to the asset model. The external ID must be
- # unique within your Amazon Web Services account. For more information,
- # see [Using external IDs][1] in the *IoT SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- #
- # @option params [String] :asset_model_type
- # The type of asset model.
- #
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
- # create assets. Can't be included as a component in another asset
- # model.
- #
- # * **COMPONENT\_MODEL** – A reusable component that you can include in
- # the composite models of other asset models. You can't create assets
- # directly from this type of asset model.
- #
# @return [Types::CreateAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateAssetModelResponse#asset_model_id #asset_model_id} => String
@@ -1257,9 +1257,14 @@ def create_asset(params = {}, options = {})
#
# resp = client.create_asset_model({
# asset_model_name: "Name", # required
+ # asset_model_type: "ASSET_MODEL", # accepts ASSET_MODEL, COMPONENT_MODEL
+ # asset_model_id: "ID",
+ # asset_model_external_id: "ExternalId",
# asset_model_description: "Description",
# asset_model_properties: [
# {
+ # id: "ID",
+ # external_id: "ExternalId",
# name: "Name", # required
# data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
# data_type_spec: "Name",
@@ -1327,25 +1332,27 @@ def create_asset(params = {}, options = {})
# },
# },
# },
- # id: "ID",
- # external_id: "ExternalId",
# },
# ],
# asset_model_hierarchies: [
# {
- # name: "Name", # required
- # child_asset_model_id: "CustomID", # required
# id: "ID",
# external_id: "ExternalId",
+ # name: "Name", # required
+ # child_asset_model_id: "CustomID", # required
# },
# ],
# asset_model_composite_models: [
# {
+ # id: "ID",
+ # external_id: "ExternalId",
# name: "Name", # required
# description: "Description",
# type: "Name", # required
# properties: [
# {
+ # id: "ID",
+ # external_id: "ExternalId",
# name: "Name", # required
# data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
# data_type_spec: "Name",
@@ -1413,21 +1420,14 @@ def create_asset(params = {}, options = {})
# },
# },
# },
- # id: "ID",
- # external_id: "ExternalId",
# },
# ],
- # id: "ID",
- # external_id: "ExternalId",
# },
# ],
# client_token: "ClientToken",
# tags: {
# "TagKey" => "TagValue",
# },
- # asset_model_id: "ID",
- # asset_model_external_id: "ExternalId",
- # asset_model_type: "ASSET_MODEL", # accepts ASSET_MODEL, COMPONENT_MODEL
# })
#
# @example Response structure
@@ -1481,9 +1481,6 @@ def create_asset_model(params = {}, options = {})
# @option params [required, String] :asset_model_id
# The ID of the asset model this composite model is a part of.
#
- # @option params [String] :parent_asset_model_composite_model_id
- # The ID of the parent composite model in this asset model relationship.
- #
# @option params [String] :asset_model_composite_model_external_id
# An external ID to assign to the composite model.
#
@@ -1492,6 +1489,9 @@ def create_asset_model(params = {}, options = {})
# `UpdateAssetModelCompositeModel` and specifying the derived ID of the
# model or property from the created model it's a part of.
#
+ # @option params [String] :parent_asset_model_composite_model_id
+ # The ID of the parent composite model in this asset model relationship.
+ #
# @option params [String] :asset_model_composite_model_id
# The ID of the composite model. IoT SiteWise automatically generates a
# unique ID for you, so this parameter is never required. However, if
@@ -1533,6 +1533,27 @@ def create_asset_model(params = {}, options = {})
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html#inline-composite-models
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
#
+ # @option params [String] :if_match
+ # The expected current entity tag (ETag) for the asset model’s latest or
+ # active version (specified using `matchForVersionType`). The create
+ # request is rejected if the tag does not match the latest or active
+ # version's current entity tag. See [Optimistic locking for asset model
+ # writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ #
+ # @option params [String] :if_none_match
+ # Accepts ***** to reject the create request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
+ # the asset model.
+ #
+ # @option params [String] :match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
+ # the target ETag for the create operation.
+ #
# @return [Types::CreateAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateAssetModelCompositeModelResponse#asset_model_composite_model_id #asset_model_composite_model_id} => String
@@ -1543,8 +1564,8 @@ def create_asset_model(params = {}, options = {})
#
# resp = client.create_asset_model_composite_model({
# asset_model_id: "CustomID", # required
- # parent_asset_model_composite_model_id: "CustomID",
# asset_model_composite_model_external_id: "ExternalId",
+ # parent_asset_model_composite_model_id: "CustomID",
# asset_model_composite_model_id: "ID",
# asset_model_composite_model_description: "Description",
# asset_model_composite_model_name: "Name", # required
@@ -1553,6 +1574,8 @@ def create_asset_model(params = {}, options = {})
# composed_asset_model_id: "CustomID",
# asset_model_composite_model_properties: [
# {
+ # id: "ID",
+ # external_id: "ExternalId",
# name: "Name", # required
# data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
# data_type_spec: "Name",
@@ -1620,10 +1643,11 @@ def create_asset_model(params = {}, options = {})
# },
# },
# },
- # id: "ID",
- # external_id: "ExternalId",
# },
# ],
+ # if_match: "ETag",
+ # if_none_match: "SelectAll",
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
# })
#
# @example Response structure
@@ -2198,6 +2222,27 @@ def delete_asset(params = {}, options = {})
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.**
#
+ # @option params [String] :if_match
+ # The expected current entity tag (ETag) for the asset model’s latest or
+ # active version (specified using `matchForVersionType`). The delete
+ # request is rejected if the tag does not match the latest or active
+ # version's current entity tag. See [Optimistic locking for asset model
+ # writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ #
+ # @option params [String] :if_none_match
+ # Accepts ***** to reject the delete request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
+ # the asset model.
+ #
+ # @option params [String] :match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
+ # the target ETag for the delete operation.
+ #
# @return [Types::DeleteAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
@@ -2207,6 +2252,9 @@ def delete_asset(params = {}, options = {})
# resp = client.delete_asset_model({
# asset_model_id: "CustomID", # required
# client_token: "ClientToken",
+ # if_match: "ETag",
+ # if_none_match: "SelectAll",
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
# })
#
# @example Response structure
@@ -2250,6 +2298,27 @@ def delete_asset_model(params = {}, options = {})
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.**
#
+ # @option params [String] :if_match
+ # The expected current entity tag (ETag) for the asset model’s latest or
+ # active version (specified using `matchForVersionType`). The delete
+ # request is rejected if the tag does not match the latest or active
+ # version's current entity tag. See [Optimistic locking for asset model
+ # writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ #
+ # @option params [String] :if_none_match
+ # Accepts ***** to reject the delete request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
+ # the asset model.
+ #
+ # @option params [String] :match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
+ # the target ETag for the delete operation.
+ #
# @return [Types::DeleteAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteAssetModelCompositeModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
@@ -2260,6 +2329,9 @@ def delete_asset_model(params = {}, options = {})
# asset_model_id: "CustomID", # required
# asset_model_composite_model_id: "CustomID", # required
# client_token: "ClientToken",
+ # if_match: "ETag",
+ # if_none_match: "SelectAll",
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
# })
#
# @example Response structure
@@ -2760,37 +2832,53 @@ def describe_asset_composite_model(params = {}, options = {})
# @option params [Boolean] :exclude_properties
# Whether or not to exclude asset model properties from the response.
#
+ # @option params [String] :asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
+ # User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ #
# @return [Types::DescribeAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeAssetModelResponse#asset_model_id #asset_model_id} => String
+ # * {Types::DescribeAssetModelResponse#asset_model_external_id #asset_model_external_id} => String
# * {Types::DescribeAssetModelResponse#asset_model_arn #asset_model_arn} => String
# * {Types::DescribeAssetModelResponse#asset_model_name #asset_model_name} => String
+ # * {Types::DescribeAssetModelResponse#asset_model_type #asset_model_type} => String
# * {Types::DescribeAssetModelResponse#asset_model_description #asset_model_description} => String
# * {Types::DescribeAssetModelResponse#asset_model_properties #asset_model_properties} => Array<Types::AssetModelProperty>
# * {Types::DescribeAssetModelResponse#asset_model_hierarchies #asset_model_hierarchies} => Array<Types::AssetModelHierarchy>
# * {Types::DescribeAssetModelResponse#asset_model_composite_models #asset_model_composite_models} => Array<Types::AssetModelCompositeModel>
+ # * {Types::DescribeAssetModelResponse#asset_model_composite_model_summaries #asset_model_composite_model_summaries} => Array<Types::AssetModelCompositeModelSummary>
# * {Types::DescribeAssetModelResponse#asset_model_creation_date #asset_model_creation_date} => Time
# * {Types::DescribeAssetModelResponse#asset_model_last_update_date #asset_model_last_update_date} => Time
# * {Types::DescribeAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
- # * {Types::DescribeAssetModelResponse#asset_model_type #asset_model_type} => String
- # * {Types::DescribeAssetModelResponse#asset_model_composite_model_summaries #asset_model_composite_model_summaries} => Array<Types::AssetModelCompositeModelSummary>
- # * {Types::DescribeAssetModelResponse#asset_model_external_id #asset_model_external_id} => String
+ # * {Types::DescribeAssetModelResponse#asset_model_version #asset_model_version} => String
+ # * {Types::DescribeAssetModelResponse#e_tag #e_tag} => String
#
# @example Request syntax with placeholder values
#
# resp = client.describe_asset_model({
# asset_model_id: "CustomID", # required
# exclude_properties: false,
+ # asset_model_version: "AssetModelVersionFilter",
# })
#
# @example Response structure
#
# resp.asset_model_id #=> String
+ # resp.asset_model_external_id #=> String
# resp.asset_model_arn #=> String
# resp.asset_model_name #=> String
+ # resp.asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
# resp.asset_model_description #=> String
# resp.asset_model_properties #=> Array
# resp.asset_model_properties[0].id #=> String
+ # resp.asset_model_properties[0].external_id #=> String
# resp.asset_model_properties[0].name #=> String
# resp.asset_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
# resp.asset_model_properties[0].data_type_spec #=> String
@@ -2821,18 +2909,18 @@ def describe_asset_composite_model(params = {}, options = {})
# resp.asset_model_properties[0].path #=> Array
# resp.asset_model_properties[0].path[0].id #=> String
# resp.asset_model_properties[0].path[0].name #=> String
- # resp.asset_model_properties[0].external_id #=> String
# resp.asset_model_hierarchies #=> Array
# resp.asset_model_hierarchies[0].id #=> String
+ # resp.asset_model_hierarchies[0].external_id #=> String
# resp.asset_model_hierarchies[0].name #=> String
# resp.asset_model_hierarchies[0].child_asset_model_id #=> String
- # resp.asset_model_hierarchies[0].external_id #=> String
# resp.asset_model_composite_models #=> Array
# resp.asset_model_composite_models[0].name #=> String
# resp.asset_model_composite_models[0].description #=> String
# resp.asset_model_composite_models[0].type #=> String
# resp.asset_model_composite_models[0].properties #=> Array
# resp.asset_model_composite_models[0].properties[0].id #=> String
+ # resp.asset_model_composite_models[0].properties[0].external_id #=> String
# resp.asset_model_composite_models[0].properties[0].name #=> String
# resp.asset_model_composite_models[0].properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
# resp.asset_model_composite_models[0].properties[0].data_type_spec #=> String
@@ -2863,18 +2951,8 @@ def describe_asset_composite_model(params = {}, options = {})
# resp.asset_model_composite_models[0].properties[0].path #=> Array
# resp.asset_model_composite_models[0].properties[0].path[0].id #=> String
# resp.asset_model_composite_models[0].properties[0].path[0].name #=> String
- # resp.asset_model_composite_models[0].properties[0].external_id #=> String
# resp.asset_model_composite_models[0].id #=> String
# resp.asset_model_composite_models[0].external_id #=> String
- # resp.asset_model_creation_date #=> Time
- # resp.asset_model_last_update_date #=> Time
- # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
- # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
- # resp.asset_model_status.error.message #=> String
- # resp.asset_model_status.error.details #=> Array
- # resp.asset_model_status.error.details[0].code #=> String, one of "INCOMPATIBLE_COMPUTE_LOCATION", "INCOMPATIBLE_FORWARDING_CONFIGURATION"
- # resp.asset_model_status.error.details[0].message #=> String
- # resp.asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
# resp.asset_model_composite_model_summaries #=> Array
# resp.asset_model_composite_model_summaries[0].id #=> String
# resp.asset_model_composite_model_summaries[0].external_id #=> String
@@ -2884,7 +2962,16 @@ def describe_asset_composite_model(params = {}, options = {})
# resp.asset_model_composite_model_summaries[0].path #=> Array
# resp.asset_model_composite_model_summaries[0].path[0].id #=> String
# resp.asset_model_composite_model_summaries[0].path[0].name #=> String
- # resp.asset_model_external_id #=> String
+ # resp.asset_model_creation_date #=> Time
+ # resp.asset_model_last_update_date #=> Time
+ # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
+ # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
+ # resp.asset_model_status.error.message #=> String
+ # resp.asset_model_status.error.details #=> Array
+ # resp.asset_model_status.error.details[0].code #=> String, one of "INCOMPATIBLE_COMPUTE_LOCATION", "INCOMPATIBLE_FORWARDING_CONFIGURATION"
+ # resp.asset_model_status.error.details[0].message #=> String
+ # resp.asset_model_version #=> String
+ # resp.e_tag #=> String
#
#
# The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2927,6 +3014,16 @@ def describe_asset_model(params = {}, options = {})
#
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
#
+ # @option params [String] :asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
+ # User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ #
# @return [Types::DescribeAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeAssetModelCompositeModelResponse#asset_model_id #asset_model_id} => String
@@ -2946,6 +3043,7 @@ def describe_asset_model(params = {}, options = {})
# resp = client.describe_asset_model_composite_model({
# asset_model_id: "CustomID", # required
# asset_model_composite_model_id: "CustomID", # required
+ # asset_model_version: "AssetModelVersionFilter",
# })
#
# @example Response structure
@@ -2961,6 +3059,7 @@ def describe_asset_model(params = {}, options = {})
# resp.asset_model_composite_model_type #=> String
# resp.asset_model_composite_model_properties #=> Array
# resp.asset_model_composite_model_properties[0].id #=> String
+ # resp.asset_model_composite_model_properties[0].external_id #=> String
# resp.asset_model_composite_model_properties[0].name #=> String
# resp.asset_model_composite_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
# resp.asset_model_composite_model_properties[0].data_type_spec #=> String
@@ -2991,7 +3090,6 @@ def describe_asset_model(params = {}, options = {})
# resp.asset_model_composite_model_properties[0].path #=> Array
# resp.asset_model_composite_model_properties[0].path[0].id #=> String
# resp.asset_model_composite_model_properties[0].path[0].name #=> String
- # resp.asset_model_composite_model_properties[0].external_id #=> String
# resp.composition_details.composition_relationship #=> Array
# resp.composition_details.composition_relationship[0].id #=> String
# resp.asset_model_composite_model_summaries #=> Array
@@ -4403,6 +4501,16 @@ def list_actions(params = {}, options = {})
#
# Default: 50
#
+ # @option params [String] :asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
+ # User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ #
# @return [Types::ListAssetModelCompositeModelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListAssetModelCompositeModelsResponse#asset_model_composite_model_summaries #asset_model_composite_model_summaries} => Array<Types::AssetModelCompositeModelSummary>
@@ -4416,6 +4524,7 @@ def list_actions(params = {}, options = {})
# asset_model_id: "CustomID", # required
# next_token: "NextToken",
# max_results: 1,
+ # asset_model_version: "AssetModelVersionFilter",
# })
#
# @example Response structure
@@ -4471,6 +4580,16 @@ def list_asset_model_composite_models(params = {}, options = {})
#
# Default: `BASE`
#
+ # @option params [String] :asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
+ # User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ #
# @return [Types::ListAssetModelPropertiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ListAssetModelPropertiesResponse#asset_model_property_summaries #asset_model_property_summaries} => Array<Types::AssetModelPropertySummary>
@@ -4485,12 +4604,14 @@ def list_asset_model_composite_models(params = {}, options = {})
# next_token: "NextToken",
# max_results: 1,
# filter: "ALL", # accepts ALL, BASE
+ # asset_model_version: "AssetModelVersionFilter",
# })
#
# @example Response structure
#
# resp.asset_model_property_summaries #=> Array
# resp.asset_model_property_summaries[0].id #=> String
+ # resp.asset_model_property_summaries[0].external_id #=> String
# resp.asset_model_property_summaries[0].name #=> String
# resp.asset_model_property_summaries[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN", "STRUCT"
# resp.asset_model_property_summaries[0].data_type_spec #=> String
@@ -4522,7 +4643,6 @@ def list_asset_model_composite_models(params = {}, options = {})
# resp.asset_model_property_summaries[0].path #=> Array
# resp.asset_model_property_summaries[0].path[0].id #=> String
# resp.asset_model_property_summaries[0].path[0].name #=> String
- # resp.asset_model_property_summaries[0].external_id #=> String
# resp.next_token #=> String
#
# @overload list_asset_model_properties(params = {})
@@ -4534,6 +4654,17 @@ def list_asset_model_properties(params = {}, options = {})
# Retrieves a paginated list of summaries of all asset models.
#
+ # @option params [Array] :asset_model_types
+ # The type of asset model. If you don't provide an `assetModelTypes`,
+ # all types of asset models are returned.
+ #
+ # * **ASSET\_MODEL** – An asset model that you can use to create assets.
+ # Can't be included as a component in another asset model.
+ #
+ # * **COMPONENT\_MODEL** – A reusable component that you can include in
+ # the composite models of other asset models. You can't create assets
+ # directly from this type of asset model.
+ #
# @option params [String] :next_token
# The token to be used for the next set of paginated results.
#
@@ -4542,16 +4673,15 @@ def list_asset_model_properties(params = {}, options = {})
#
# Default: 50
#
- # @option params [Array] :asset_model_types
- # The type of asset model.
+ # @option params [String] :asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT SiteWise
+ # User Guide*.
#
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
- # create assets. Can't be included as a component in another asset
- # model.
#
- # * **COMPONENT\_MODEL** – A reusable component that you can include in
- # the composite models of other asset models. You can't create assets
- # directly from this type of asset model.
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
#
# @return [Types::ListAssetModelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -4563,17 +4693,20 @@ def list_asset_model_properties(params = {}, options = {})
# @example Request syntax with placeholder values
#
# resp = client.list_asset_models({
+ # asset_model_types: ["ASSET_MODEL"], # accepts ASSET_MODEL, COMPONENT_MODEL
# next_token: "NextToken",
# max_results: 1,
- # asset_model_types: ["ASSET_MODEL"], # accepts ASSET_MODEL, COMPONENT_MODEL
+ # asset_model_version: "AssetModelVersionFilter",
# })
#
# @example Response structure
#
# resp.asset_model_summaries #=> Array
# resp.asset_model_summaries[0].id #=> String
+ # resp.asset_model_summaries[0].external_id #=> String
# resp.asset_model_summaries[0].arn #=> String
# resp.asset_model_summaries[0].name #=> String
+ # resp.asset_model_summaries[0].asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
# resp.asset_model_summaries[0].description #=> String
# resp.asset_model_summaries[0].creation_date #=> Time
# resp.asset_model_summaries[0].last_update_date #=> Time
@@ -4583,8 +4716,7 @@ def list_asset_model_properties(params = {}, options = {})
# resp.asset_model_summaries[0].status.error.details #=> Array
# resp.asset_model_summaries[0].status.error.details[0].code #=> String, one of "INCOMPATIBLE_COMPUTE_LOCATION", "INCOMPATIBLE_FORWARDING_CONFIGURATION"
# resp.asset_model_summaries[0].status.error.details[0].message #=> String
- # resp.asset_model_summaries[0].asset_model_type #=> String, one of "ASSET_MODEL", "COMPONENT_MODEL"
- # resp.asset_model_summaries[0].external_id #=> String
+ # resp.asset_model_summaries[0].version #=> String
# resp.next_token #=> String
#
# @overload list_asset_models(params = {})
@@ -4825,10 +4957,9 @@ def list_assets(params = {}, options = {})
#
# You can use this operation to do the following:
#
- # * List child assets associated to a parent asset by a hierarchy that
- # you specify.
+ # * `CHILD` - List all child assets associated to the asset.
#
- # * List an asset's parent asset.
+ # * `PARENT` - List the asset's parent asset.
#
# @option params [required, String] :asset_id
# The ID of the asset to query. This can be either the actual ID in UUID
@@ -4841,31 +4972,29 @@ def list_assets(params = {}, options = {})
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
#
# @option params [String] :hierarchy_id
+ # (Optional) If you don't provide a `hierarchyId`, all the immediate
+ # assets in the `traversalDirection` will be returned.
+ #
# The ID of the hierarchy by which child assets are associated to the
# asset. (This can be either the actual ID in UUID format, or else
# `externalId:` followed by the external ID, if it has one. For more
# information, see [Referencing objects with external IDs][1] in the
- # *IoT SiteWise User Guide*.) To find a hierarchy ID, use the
- # [DescribeAsset][2] or [DescribeAssetModel][3] operations. This
- # parameter is required if you choose `CHILD` for `traversalDirection`.
+ # *IoT SiteWise User Guide*.)
#
- # For more information, see [Asset hierarchies][4] in the *IoT SiteWise
+ # For more information, see [Asset hierarchies][2] in the *IoT SiteWise
# User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html
- # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html
- # [4]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
#
# @option params [String] :traversal_direction
# The direction to list associated assets. Choose one of the following
# options:
#
# * `CHILD` – The list includes all child assets associated to the
- # asset. The `hierarchyId` parameter is required if you choose
- # `CHILD`.
+ # asset.
#
# * `PARENT` – The list includes the asset's parent asset.
#
@@ -5758,6 +5887,16 @@ def update_asset(params = {}, options = {})
#
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
#
+ # @option params [String] :asset_model_external_id
+ # An external ID to assign to the asset model. The asset model must not
+ # already have an external ID. The external ID must be unique within
+ # your Amazon Web Services account. For more information, see [Using
+ # external IDs][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ #
# @option params [required, String] :asset_model_name
# A unique name for the asset model.
#
@@ -5819,15 +5958,26 @@ def update_asset(params = {}, options = {})
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.**
#
- # @option params [String] :asset_model_external_id
- # An external ID to assign to the asset model. The asset model must not
- # already have an external ID. The external ID must be unique within
- # your Amazon Web Services account. For more information, see [Using
- # external IDs][1] in the *IoT SiteWise User Guide*.
+ # @option params [String] :if_match
+ # The expected current entity tag (ETag) for the asset model’s latest or
+ # active version (specified using `matchForVersionType`). The update
+ # request is rejected if the tag does not match the latest or active
+ # version's current entity tag. See [Optimistic locking for asset model
+ # writes][1] in the *IoT SiteWise User Guide*.
#
#
#
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ #
+ # @option params [String] :if_none_match
+ # Accepts ***** to reject the update request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
+ # the asset model.
+ #
+ # @option params [String] :match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
+ # the target ETag for the update operation.
#
# @return [Types::UpdateAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
@@ -5837,11 +5987,13 @@ def update_asset(params = {}, options = {})
#
# resp = client.update_asset_model({
# asset_model_id: "CustomID", # required
+ # asset_model_external_id: "ExternalId",
# asset_model_name: "Name", # required
# asset_model_description: "Description",
# asset_model_properties: [
# {
# id: "CustomID",
+ # external_id: "ExternalId",
# name: "Name", # required
# data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
# data_type_spec: "Name",
@@ -5915,15 +6067,14 @@ def update_asset(params = {}, options = {})
# name: "Name",
# },
# ],
- # external_id: "ExternalId",
# },
# ],
# asset_model_hierarchies: [
# {
# id: "CustomID",
+ # external_id: "ExternalId",
# name: "Name", # required
# child_asset_model_id: "CustomID", # required
- # external_id: "ExternalId",
# },
# ],
# asset_model_composite_models: [
@@ -5934,6 +6085,7 @@ def update_asset(params = {}, options = {})
# properties: [
# {
# id: "CustomID",
+ # external_id: "ExternalId",
# name: "Name", # required
# data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
# data_type_spec: "Name",
@@ -6007,7 +6159,6 @@ def update_asset(params = {}, options = {})
# name: "Name",
# },
# ],
- # external_id: "ExternalId",
# },
# ],
# id: "CustomID",
@@ -6015,7 +6166,9 @@ def update_asset(params = {}, options = {})
# },
# ],
# client_token: "ClientToken",
- # asset_model_external_id: "ExternalId",
+ # if_match: "ETag",
+ # if_none_match: "SelectAll",
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
# })
#
# @example Response structure
@@ -6098,6 +6251,27 @@ def update_asset_model(params = {}, options = {})
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html#inline-composite-models
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
#
+ # @option params [String] :if_match
+ # The expected current entity tag (ETag) for the asset model’s latest or
+ # active version (specified using `matchForVersionType`). The update
+ # request is rejected if the tag does not match the latest or active
+ # version's current entity tag. See [Optimistic locking for asset model
+ # writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ #
+ # @option params [String] :if_none_match
+ # Accepts ***** to reject the update request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists for
+ # the asset model.
+ #
+ # @option params [String] :match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used in
+ # conjunction with `If-Match` or `If-None-Match` headers to determine
+ # the target ETag for the update operation.
+ #
# @return [Types::UpdateAssetModelCompositeModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateAssetModelCompositeModelResponse#asset_model_composite_model_path #asset_model_composite_model_path} => Array<Types::AssetModelCompositeModelPathSegment>
@@ -6115,6 +6289,7 @@ def update_asset_model(params = {}, options = {})
# asset_model_composite_model_properties: [
# {
# id: "CustomID",
+ # external_id: "ExternalId",
# name: "Name", # required
# data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN, STRUCT
# data_type_spec: "Name",
@@ -6188,9 +6363,11 @@ def update_asset_model(params = {}, options = {})
# name: "Name",
# },
# ],
- # external_id: "ExternalId",
# },
# ],
+ # if_match: "ETag",
+ # if_none_match: "SelectAll",
+ # match_for_version_type: "LATEST", # accepts LATEST, ACTIVE
# })
#
# @example Response structure
@@ -6576,7 +6753,7 @@ def build_request(operation_name, params = {})
params: params,
config: config)
context[:gem_name] = 'aws-sdk-iotsitewise'
- context[:gem_version] = '1.68.0'
+ context[:gem_version] = '1.69.0'
Seahorse::Client::Request.new(handlers, context)
end
diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client_api.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client_api.rb
index 0f05e0f2c59..fa8801f6755 100644
--- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client_api.rb
+++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client_api.rb
@@ -70,6 +70,8 @@ module ClientApi
AssetModelSummaries = Shapes::ListShape.new(name: 'AssetModelSummaries')
AssetModelSummary = Shapes::StructureShape.new(name: 'AssetModelSummary')
AssetModelType = Shapes::StringShape.new(name: 'AssetModelType')
+ AssetModelVersionFilter = Shapes::StringShape.new(name: 'AssetModelVersionFilter')
+ AssetModelVersionType = Shapes::StringShape.new(name: 'AssetModelVersionType')
AssetProperties = Shapes::ListShape.new(name: 'AssetProperties')
AssetProperty = Shapes::StructureShape.new(name: 'AssetProperty')
AssetPropertyAlias = Shapes::StringShape.new(name: 'AssetPropertyAlias')
@@ -253,6 +255,7 @@ module ClientApi
DisassociateAssetsRequest = Shapes::StructureShape.new(name: 'DisassociateAssetsRequest')
DisassociateTimeSeriesFromAssetPropertyRequest = Shapes::StructureShape.new(name: 'DisassociateTimeSeriesFromAssetPropertyRequest')
DisassociatedDataStorageState = Shapes::StringShape.new(name: 'DisassociatedDataStorageState')
+ ETag = Shapes::StringShape.new(name: 'ETag')
Email = Shapes::StringShape.new(name: 'Email')
EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
EntryId = Shapes::StringShape.new(name: 'EntryId')
@@ -393,6 +396,7 @@ module ClientApi
PortalStatus = Shapes::StructureShape.new(name: 'PortalStatus')
PortalSummaries = Shapes::ListShape.new(name: 'PortalSummaries')
PortalSummary = Shapes::StructureShape.new(name: 'PortalSummary')
+ PreconditionFailedException = Shapes::StructureShape.new(name: 'PreconditionFailedException')
ProjectResource = Shapes::StructureShape.new(name: 'ProjectResource')
ProjectSummaries = Shapes::ListShape.new(name: 'ProjectSummaries')
ProjectSummary = Shapes::StructureShape.new(name: 'ProjectSummary')
@@ -433,6 +437,7 @@ module ClientApi
SSOApplicationId = Shapes::StringShape.new(name: 'SSOApplicationId')
ScalarType = Shapes::StringShape.new(name: 'ScalarType')
ScalarValue = Shapes::StringShape.new(name: 'ScalarValue')
+ SelectAll = Shapes::StringShape.new(name: 'SelectAll')
ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
SiemensIE = Shapes::StructureShape.new(name: 'SiemensIE')
StorageType = Shapes::StringShape.new(name: 'StorageType')
@@ -488,6 +493,7 @@ module ClientApi
VariableName = Shapes::StringShape.new(name: 'VariableName')
VariableValue = Shapes::StructureShape.new(name: 'VariableValue')
Variant = Shapes::StructureShape.new(name: 'Variant')
+ Version = Shapes::StringShape.new(name: 'Version')
WarmTierRetentionPeriod = Shapes::StructureShape.new(name: 'WarmTierRetentionPeriod')
WarmTierState = Shapes::StringShape.new(name: 'WarmTierState')
errorMessage = Shapes::StringShape.new(name: 'errorMessage')
@@ -595,12 +601,12 @@ module ClientApi
AssetModelCompositeModel.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelCompositeModel.struct_class = Types::AssetModelCompositeModel
+ AssetModelCompositeModelDefinition.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
+ AssetModelCompositeModelDefinition.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelCompositeModelDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
AssetModelCompositeModelDefinition.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
AssetModelCompositeModelDefinition.add_member(:type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "type"))
AssetModelCompositeModelDefinition.add_member(:properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "properties"))
- AssetModelCompositeModelDefinition.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
- AssetModelCompositeModelDefinition.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelCompositeModelDefinition.struct_class = Types::AssetModelCompositeModelDefinition
AssetModelCompositeModelDefinitions.member = Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinition)
@@ -626,15 +632,15 @@ module ClientApi
AssetModelHierarchies.member = Shapes::ShapeRef.new(shape: AssetModelHierarchy)
AssetModelHierarchy.add_member(:id, Shapes::ShapeRef.new(shape: CustomID, location_name: "id"))
+ AssetModelHierarchy.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelHierarchy.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
AssetModelHierarchy.add_member(:child_asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location_name: "childAssetModelId"))
- AssetModelHierarchy.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelHierarchy.struct_class = Types::AssetModelHierarchy
- AssetModelHierarchyDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
- AssetModelHierarchyDefinition.add_member(:child_asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location_name: "childAssetModelId"))
AssetModelHierarchyDefinition.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
AssetModelHierarchyDefinition.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
+ AssetModelHierarchyDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
+ AssetModelHierarchyDefinition.add_member(:child_asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location_name: "childAssetModelId"))
AssetModelHierarchyDefinition.struct_class = Types::AssetModelHierarchyDefinition
AssetModelHierarchyDefinitions.member = Shapes::ShapeRef.new(shape: AssetModelHierarchyDefinition)
@@ -642,22 +648,22 @@ module ClientApi
AssetModelProperties.member = Shapes::ShapeRef.new(shape: AssetModelProperty)
AssetModelProperty.add_member(:id, Shapes::ShapeRef.new(shape: CustomID, location_name: "id"))
+ AssetModelProperty.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelProperty.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
AssetModelProperty.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
AssetModelProperty.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
AssetModelProperty.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
AssetModelProperty.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
AssetModelProperty.add_member(:path, Shapes::ShapeRef.new(shape: AssetModelPropertyPath, location_name: "path"))
- AssetModelProperty.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelProperty.struct_class = Types::AssetModelProperty
+ AssetModelPropertyDefinition.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
+ AssetModelPropertyDefinition.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelPropertyDefinition.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
AssetModelPropertyDefinition.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
AssetModelPropertyDefinition.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
AssetModelPropertyDefinition.add_member(:unit, Shapes::ShapeRef.new(shape: PropertyUnit, location_name: "unit"))
AssetModelPropertyDefinition.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
- AssetModelPropertyDefinition.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
- AssetModelPropertyDefinition.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelPropertyDefinition.struct_class = Types::AssetModelPropertyDefinition
AssetModelPropertyDefinitions.member = Shapes::ShapeRef.new(shape: AssetModelPropertyDefinition)
@@ -671,6 +677,7 @@ module ClientApi
AssetModelPropertySummaries.member = Shapes::ShapeRef.new(shape: AssetModelPropertySummary)
AssetModelPropertySummary.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
+ AssetModelPropertySummary.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelPropertySummary.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
AssetModelPropertySummary.add_member(:data_type, Shapes::ShapeRef.new(shape: PropertyDataType, required: true, location_name: "dataType"))
AssetModelPropertySummary.add_member(:data_type_spec, Shapes::ShapeRef.new(shape: Name, location_name: "dataTypeSpec"))
@@ -678,7 +685,6 @@ module ClientApi
AssetModelPropertySummary.add_member(:type, Shapes::ShapeRef.new(shape: PropertyType, required: true, location_name: "type"))
AssetModelPropertySummary.add_member(:asset_model_composite_model_id, Shapes::ShapeRef.new(shape: ID, location_name: "assetModelCompositeModelId"))
AssetModelPropertySummary.add_member(:path, Shapes::ShapeRef.new(shape: AssetModelPropertyPath, location_name: "path"))
- AssetModelPropertySummary.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelPropertySummary.struct_class = Types::AssetModelPropertySummary
AssetModelStatus.add_member(:state, Shapes::ShapeRef.new(shape: AssetModelState, required: true, location_name: "state"))
@@ -688,14 +694,15 @@ module ClientApi
AssetModelSummaries.member = Shapes::ShapeRef.new(shape: AssetModelSummary)
AssetModelSummary.add_member(:id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "id"))
+ AssetModelSummary.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
AssetModelSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "arn"))
AssetModelSummary.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
+ AssetModelSummary.add_member(:asset_model_type, Shapes::ShapeRef.new(shape: AssetModelType, location_name: "assetModelType"))
AssetModelSummary.add_member(:description, Shapes::ShapeRef.new(shape: Description, required: true, location_name: "description"))
AssetModelSummary.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "creationDate"))
AssetModelSummary.add_member(:last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "lastUpdateDate"))
AssetModelSummary.add_member(:status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "status"))
- AssetModelSummary.add_member(:asset_model_type, Shapes::ShapeRef.new(shape: AssetModelType, location_name: "assetModelType"))
- AssetModelSummary.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "externalId"))
+ AssetModelSummary.add_member(:version, Shapes::ShapeRef.new(shape: Version, location_name: "version"))
AssetModelSummary.struct_class = Types::AssetModelSummary
AssetProperties.member = Shapes::ShapeRef.new(shape: AssetProperty)
@@ -1025,8 +1032,8 @@ module ClientApi
CreateAccessPolicyResponse.struct_class = Types::CreateAccessPolicyResponse
CreateAssetModelCompositeModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
- CreateAssetModelCompositeModelRequest.add_member(:parent_asset_model_composite_model_id, Shapes::ShapeRef.new(shape: CustomID, location_name: "parentAssetModelCompositeModelId"))
CreateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelCompositeModelExternalId"))
+ CreateAssetModelCompositeModelRequest.add_member(:parent_asset_model_composite_model_id, Shapes::ShapeRef.new(shape: CustomID, location_name: "parentAssetModelCompositeModelId"))
CreateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_id, Shapes::ShapeRef.new(shape: ID, location_name: "assetModelCompositeModelId"))
CreateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelCompositeModelDescription"))
CreateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetModelCompositeModelName"))
@@ -1034,6 +1041,9 @@ module ClientApi
CreateAssetModelCompositeModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
CreateAssetModelCompositeModelRequest.add_member(:composed_asset_model_id, Shapes::ShapeRef.new(shape: CustomID, location_name: "composedAssetModelId"))
CreateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "assetModelCompositeModelProperties"))
+ CreateAssetModelCompositeModelRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "If-Match"))
+ CreateAssetModelCompositeModelRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: SelectAll, location: "header", location_name: "If-None-Match"))
+ CreateAssetModelCompositeModelRequest.add_member(:match_for_version_type, Shapes::ShapeRef.new(shape: AssetModelVersionType, location: "header", location_name: "Match-For-Version-Type"))
CreateAssetModelCompositeModelRequest.struct_class = Types::CreateAssetModelCompositeModelRequest
CreateAssetModelCompositeModelResponse.add_member(:asset_model_composite_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelCompositeModelId"))
@@ -1042,15 +1052,15 @@ module ClientApi
CreateAssetModelCompositeModelResponse.struct_class = Types::CreateAssetModelCompositeModelResponse
CreateAssetModelRequest.add_member(:asset_model_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetModelName"))
+ CreateAssetModelRequest.add_member(:asset_model_type, Shapes::ShapeRef.new(shape: AssetModelType, location_name: "assetModelType"))
+ CreateAssetModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, location_name: "assetModelId"))
+ CreateAssetModelRequest.add_member(:asset_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelExternalId"))
CreateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
CreateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelPropertyDefinitions, location_name: "assetModelProperties"))
CreateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchyDefinitions, location_name: "assetModelHierarchies"))
CreateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModelDefinitions, location_name: "assetModelCompositeModels"))
CreateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
CreateAssetModelRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
- CreateAssetModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, location_name: "assetModelId"))
- CreateAssetModelRequest.add_member(:asset_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelExternalId"))
- CreateAssetModelRequest.add_member(:asset_model_type, Shapes::ShapeRef.new(shape: AssetModelType, location_name: "assetModelType"))
CreateAssetModelRequest.struct_class = Types::CreateAssetModelRequest
CreateAssetModelResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
@@ -1170,6 +1180,9 @@ module ClientApi
DeleteAssetModelCompositeModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
DeleteAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelCompositeModelId"))
DeleteAssetModelCompositeModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "querystring", location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
+ DeleteAssetModelCompositeModelRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "If-Match"))
+ DeleteAssetModelCompositeModelRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: SelectAll, location: "header", location_name: "If-None-Match"))
+ DeleteAssetModelCompositeModelRequest.add_member(:match_for_version_type, Shapes::ShapeRef.new(shape: AssetModelVersionType, location: "header", location_name: "Match-For-Version-Type"))
DeleteAssetModelCompositeModelRequest.struct_class = Types::DeleteAssetModelCompositeModelRequest
DeleteAssetModelCompositeModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
@@ -1177,6 +1190,9 @@ module ClientApi
DeleteAssetModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
DeleteAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "querystring", location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
+ DeleteAssetModelRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "If-Match"))
+ DeleteAssetModelRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: SelectAll, location: "header", location_name: "If-None-Match"))
+ DeleteAssetModelRequest.add_member(:match_for_version_type, Shapes::ShapeRef.new(shape: AssetModelVersionType, location: "header", location_name: "Match-For-Version-Type"))
DeleteAssetModelRequest.struct_class = Types::DeleteAssetModelRequest
DeleteAssetModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
@@ -1257,6 +1273,7 @@ module ClientApi
DescribeAssetModelCompositeModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
DescribeAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelCompositeModelId"))
+ DescribeAssetModelCompositeModelRequest.add_member(:asset_model_version, Shapes::ShapeRef.new(shape: AssetModelVersionFilter, location: "querystring", location_name: "assetModelVersion"))
DescribeAssetModelCompositeModelRequest.struct_class = Types::DescribeAssetModelCompositeModelRequest
DescribeAssetModelCompositeModelResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
@@ -1274,21 +1291,24 @@ module ClientApi
DescribeAssetModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
DescribeAssetModelRequest.add_member(:exclude_properties, Shapes::ShapeRef.new(shape: ExcludeProperties, location: "querystring", location_name: "excludeProperties"))
+ DescribeAssetModelRequest.add_member(:asset_model_version, Shapes::ShapeRef.new(shape: AssetModelVersionFilter, location: "querystring", location_name: "assetModelVersion"))
DescribeAssetModelRequest.struct_class = Types::DescribeAssetModelRequest
DescribeAssetModelResponse.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "assetModelId"))
+ DescribeAssetModelResponse.add_member(:asset_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelExternalId"))
DescribeAssetModelResponse.add_member(:asset_model_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "assetModelArn"))
DescribeAssetModelResponse.add_member(:asset_model_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetModelName"))
+ DescribeAssetModelResponse.add_member(:asset_model_type, Shapes::ShapeRef.new(shape: AssetModelType, location_name: "assetModelType"))
DescribeAssetModelResponse.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, required: true, location_name: "assetModelDescription"))
DescribeAssetModelResponse.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, required: true, location_name: "assetModelProperties"))
DescribeAssetModelResponse.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, required: true, location_name: "assetModelHierarchies"))
DescribeAssetModelResponse.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
+ DescribeAssetModelResponse.add_member(:asset_model_composite_model_summaries, Shapes::ShapeRef.new(shape: AssetModelCompositeModelSummaries, location_name: "assetModelCompositeModelSummaries"))
DescribeAssetModelResponse.add_member(:asset_model_creation_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelCreationDate"))
DescribeAssetModelResponse.add_member(:asset_model_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "assetModelLastUpdateDate"))
DescribeAssetModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
- DescribeAssetModelResponse.add_member(:asset_model_type, Shapes::ShapeRef.new(shape: AssetModelType, location_name: "assetModelType"))
- DescribeAssetModelResponse.add_member(:asset_model_composite_model_summaries, Shapes::ShapeRef.new(shape: AssetModelCompositeModelSummaries, location_name: "assetModelCompositeModelSummaries"))
- DescribeAssetModelResponse.add_member(:asset_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelExternalId"))
+ DescribeAssetModelResponse.add_member(:asset_model_version, Shapes::ShapeRef.new(shape: Version, location_name: "assetModelVersion"))
+ DescribeAssetModelResponse.add_member(:e_tag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
DescribeAssetModelResponse.struct_class = Types::DescribeAssetModelResponse
DescribeAssetPropertyRequest.add_member(:asset_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetId"))
@@ -1677,6 +1697,7 @@ module ClientApi
ListAssetModelCompositeModelsRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
ListAssetModelCompositeModelsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
ListAssetModelCompositeModelsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
+ ListAssetModelCompositeModelsRequest.add_member(:asset_model_version, Shapes::ShapeRef.new(shape: AssetModelVersionFilter, location: "querystring", location_name: "assetModelVersion"))
ListAssetModelCompositeModelsRequest.struct_class = Types::ListAssetModelCompositeModelsRequest
ListAssetModelCompositeModelsResponse.add_member(:asset_model_composite_model_summaries, Shapes::ShapeRef.new(shape: AssetModelCompositeModelSummaries, required: true, location_name: "assetModelCompositeModelSummaries"))
@@ -1687,15 +1708,17 @@ module ClientApi
ListAssetModelPropertiesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
ListAssetModelPropertiesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
ListAssetModelPropertiesRequest.add_member(:filter, Shapes::ShapeRef.new(shape: ListAssetModelPropertiesFilter, location: "querystring", location_name: "filter"))
+ ListAssetModelPropertiesRequest.add_member(:asset_model_version, Shapes::ShapeRef.new(shape: AssetModelVersionFilter, location: "querystring", location_name: "assetModelVersion"))
ListAssetModelPropertiesRequest.struct_class = Types::ListAssetModelPropertiesRequest
ListAssetModelPropertiesResponse.add_member(:asset_model_property_summaries, Shapes::ShapeRef.new(shape: AssetModelPropertySummaries, required: true, location_name: "assetModelPropertySummaries"))
ListAssetModelPropertiesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
ListAssetModelPropertiesResponse.struct_class = Types::ListAssetModelPropertiesResponse
+ ListAssetModelsRequest.add_member(:asset_model_types, Shapes::ShapeRef.new(shape: ListAssetModelsTypeFilter, location: "querystring", location_name: "assetModelTypes"))
ListAssetModelsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
ListAssetModelsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
- ListAssetModelsRequest.add_member(:asset_model_types, Shapes::ShapeRef.new(shape: ListAssetModelsTypeFilter, location: "querystring", location_name: "assetModelTypes"))
+ ListAssetModelsRequest.add_member(:asset_model_version, Shapes::ShapeRef.new(shape: AssetModelVersionFilter, location: "querystring", location_name: "assetModelVersion"))
ListAssetModelsRequest.struct_class = Types::ListAssetModelsRequest
ListAssetModelsResponse.add_member(:asset_model_summaries, Shapes::ShapeRef.new(shape: AssetModelSummaries, required: true, location_name: "assetModelSummaries"))
@@ -1872,6 +1895,11 @@ module ClientApi
PortalSummary.add_member(:status, Shapes::ShapeRef.new(shape: PortalStatus, required: true, location_name: "status"))
PortalSummary.struct_class = Types::PortalSummary
+ PreconditionFailedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
+ PreconditionFailedException.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "resourceId"))
+ PreconditionFailedException.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
+ PreconditionFailedException.struct_class = Types::PreconditionFailedException
+
ProjectResource.add_member(:id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "id"))
ProjectResource.struct_class = Types::ProjectResource
@@ -2055,6 +2083,9 @@ module ClientApi
UpdateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetModelCompositeModelName"))
UpdateAssetModelCompositeModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
UpdateAssetModelCompositeModelRequest.add_member(:asset_model_composite_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "assetModelCompositeModelProperties"))
+ UpdateAssetModelCompositeModelRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "If-Match"))
+ UpdateAssetModelCompositeModelRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: SelectAll, location: "header", location_name: "If-None-Match"))
+ UpdateAssetModelCompositeModelRequest.add_member(:match_for_version_type, Shapes::ShapeRef.new(shape: AssetModelVersionType, location: "header", location_name: "Match-For-Version-Type"))
UpdateAssetModelCompositeModelRequest.struct_class = Types::UpdateAssetModelCompositeModelRequest
UpdateAssetModelCompositeModelResponse.add_member(:asset_model_composite_model_path, Shapes::ShapeRef.new(shape: AssetModelCompositeModelPath, required: true, location_name: "assetModelCompositeModelPath"))
@@ -2062,13 +2093,16 @@ module ClientApi
UpdateAssetModelCompositeModelResponse.struct_class = Types::UpdateAssetModelCompositeModelResponse
UpdateAssetModelRequest.add_member(:asset_model_id, Shapes::ShapeRef.new(shape: CustomID, required: true, location: "uri", location_name: "assetModelId"))
+ UpdateAssetModelRequest.add_member(:asset_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelExternalId"))
UpdateAssetModelRequest.add_member(:asset_model_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "assetModelName"))
UpdateAssetModelRequest.add_member(:asset_model_description, Shapes::ShapeRef.new(shape: Description, location_name: "assetModelDescription"))
UpdateAssetModelRequest.add_member(:asset_model_properties, Shapes::ShapeRef.new(shape: AssetModelProperties, location_name: "assetModelProperties"))
UpdateAssetModelRequest.add_member(:asset_model_hierarchies, Shapes::ShapeRef.new(shape: AssetModelHierarchies, location_name: "assetModelHierarchies"))
UpdateAssetModelRequest.add_member(:asset_model_composite_models, Shapes::ShapeRef.new(shape: AssetModelCompositeModels, location_name: "assetModelCompositeModels"))
UpdateAssetModelRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
- UpdateAssetModelRequest.add_member(:asset_model_external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "assetModelExternalId"))
+ UpdateAssetModelRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "If-Match"))
+ UpdateAssetModelRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: SelectAll, location: "header", location_name: "If-None-Match"))
+ UpdateAssetModelRequest.add_member(:match_for_version_type, Shapes::ShapeRef.new(shape: AssetModelVersionType, location: "header", location_name: "Match-For-Version-Type"))
UpdateAssetModelRequest.struct_class = Types::UpdateAssetModelRequest
UpdateAssetModelResponse.add_member(:asset_model_status, Shapes::ShapeRef.new(shape: AssetModelStatus, required: true, location_name: "assetModelStatus"))
@@ -2384,6 +2418,7 @@ module ClientApi
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)
@@ -2519,6 +2554,7 @@ module ClientApi
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|
@@ -2535,6 +2571,7 @@ module ClientApi
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|
@@ -3529,6 +3566,7 @@ module ClientApi
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|
@@ -3541,6 +3579,7 @@ module ClientApi
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)
diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/errors.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/errors.rb
index b6411b60d83..b23db3fcf85 100644
--- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/errors.rb
+++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/errors.rb
@@ -32,6 +32,7 @@ module Aws::IoTSiteWise
# * {InternalFailureException}
# * {InvalidRequestException}
# * {LimitExceededException}
+ # * {PreconditionFailedException}
# * {QueryTimeoutException}
# * {ResourceAlreadyExistsException}
# * {ResourceNotFoundException}
@@ -132,6 +133,31 @@ def message
end
end
+ class PreconditionFailedException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::IoTSiteWise::Types::PreconditionFailedException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def resource_id
+ @data[:resource_id]
+ end
+
+ # @return [String]
+ def resource_arn
+ @data[:resource_arn]
+ end
+ end
+
class QueryTimeoutException < ServiceError
# @param [Seahorse::Client::RequestContext] context
diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/types.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/types.rb
index a489b23e2d5..3b694012d51 100644
--- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/types.rb
+++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/types.rb
@@ -459,23 +459,6 @@ class AssetModelCompositeModel < Struct.new(
# composite model definition is applied to all assets created from the
# asset model.
#
- # @!attribute [rw] name
- # The name of the composite model.
- # @return [String]
- #
- # @!attribute [rw] description
- # The description of the composite model.
- # @return [String]
- #
- # @!attribute [rw] type
- # The type of the composite model. For alarm composite models, this
- # type is `AWS/ALARM`.
- # @return [String]
- #
- # @!attribute [rw] properties
- # The asset property definitions for this composite model.
- # @return [Array]
- #
# @!attribute [rw] id
# The ID to assign to the composite model, if desired. IoT SiteWise
# automatically generates a unique ID for you, so this parameter is
@@ -495,13 +478,30 @@ class AssetModelCompositeModel < Struct.new(
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
# @return [String]
#
+ # @!attribute [rw] name
+ # The name of the composite model.
+ # @return [String]
+ #
+ # @!attribute [rw] description
+ # The description of the composite model.
+ # @return [String]
+ #
+ # @!attribute [rw] type
+ # The type of the composite model. For alarm composite models, this
+ # type is `AWS/ALARM`.
+ # @return [String]
+ #
+ # @!attribute [rw] properties
+ # The asset property definitions for this composite model.
+ # @return [Array]
+ #
class AssetModelCompositeModelDefinition < Struct.new(
+ :id,
+ :external_id,
:name,
:description,
:type,
- :properties,
- :id,
- :external_id)
+ :properties)
SENSITIVE = []
include Aws::Structure
end
@@ -595,6 +595,21 @@ class AssetModelCompositeModelSummary < Struct.new(
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
# @return [String]
#
+ # @!attribute [rw] external_id
+ # The external ID (if any) provided in the [CreateAssetModel][1] or
+ # [UpdateAssetModel][2] operation. You can assign an external ID by
+ # specifying this value as part of a call to [UpdateAssetModel][2].
+ # However, you can't change the external ID if one is already
+ # assigned. For more information, see [Using external IDs][3] in the
+ # *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
+ # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] name
# The name of the asset model hierarchy that you specify by using the
# [CreateAssetModel][1] or [UpdateAssetModel][2] API operation.
@@ -621,26 +636,11 @@ class AssetModelCompositeModelSummary < Struct.new(
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
# @return [String]
#
- # @!attribute [rw] external_id
- # The external ID (if any) provided in the [CreateAssetModel][1] or
- # [UpdateAssetModel][2] operation. You can assign an external ID by
- # specifying this value as part of a call to [UpdateAssetModel][2].
- # However, you can't change the external ID if one is already
- # assigned. For more information, see [Using external IDs][3] in the
- # *IoT SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
- # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- # @return [String]
- #
class AssetModelHierarchy < Struct.new(
:id,
+ :external_id,
:name,
- :child_asset_model_id,
- :external_id)
+ :child_asset_model_id)
SENSITIVE = []
include Aws::Structure
end
@@ -649,6 +649,25 @@ class AssetModelHierarchy < Struct.new(
# asset model hierarchy determines the kind (or type) of asset that can
# belong to a hierarchy.
#
+ # @!attribute [rw] id
+ # The ID to assign to the asset model hierarchy, if desired. IoT
+ # SiteWise automatically generates a unique ID for you, so this
+ # parameter is never required. However, if you prefer to supply your
+ # own ID instead, you can specify it here in UUID format. If you
+ # specify your own ID, it must be globally unique.
+ # @return [String]
+ #
+ # @!attribute [rw] external_id
+ # An external ID to assign to the asset model hierarchy. The external
+ # ID must be unique among asset model hierarchies within this asset
+ # model. For more information, see [Using external IDs][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] name
# The name of the asset model hierarchy definition (as specified in
# the [CreateAssetModel][1] or [UpdateAssetModel][2] API operation).
@@ -670,30 +689,11 @@ class AssetModelHierarchy < Struct.new(
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
# @return [String]
#
- # @!attribute [rw] id
- # The ID to assign to the asset model hierarchy, if desired. IoT
- # SiteWise automatically generates a unique ID for you, so this
- # parameter is never required. However, if you prefer to supply your
- # own ID instead, you can specify it here in UUID format. If you
- # specify your own ID, it must be globally unique.
- # @return [String]
- #
- # @!attribute [rw] external_id
- # An external ID to assign to the asset model hierarchy. The external
- # ID must be unique among asset model hierarchies within this asset
- # model. For more information, see [Using external IDs][1] in the *IoT
- # SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- # @return [String]
- #
class AssetModelHierarchyDefinition < Struct.new(
- :name,
- :child_asset_model_id,
:id,
- :external_id)
+ :external_id,
+ :name,
+ :child_asset_model_id)
SENSITIVE = []
include Aws::Structure
end
@@ -722,6 +722,21 @@ class AssetModelHierarchyDefinition < Struct.new(
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
# @return [String]
#
+ # @!attribute [rw] external_id
+ # The external ID (if any) provided in the [CreateAssetModel][1] or
+ # [UpdateAssetModel][2] operation. You can assign an external ID by
+ # specifying this value as part of a call to [UpdateAssetModel][2].
+ # However, you can't change the external ID if one is already
+ # assigned. For more information, see [Using external IDs][3] in the
+ # *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
+ # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] name
# The name of the asset model property.
# @return [String]
@@ -748,30 +763,15 @@ class AssetModelHierarchyDefinition < Struct.new(
# model.
# @return [Array]
#
- # @!attribute [rw] external_id
- # The external ID (if any) provided in the [CreateAssetModel][1] or
- # [UpdateAssetModel][2] operation. You can assign an external ID by
- # specifying this value as part of a call to [UpdateAssetModel][2].
- # However, you can't change the external ID if one is already
- # assigned. For more information, see [Using external IDs][3] in the
- # *IoT SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html
- # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- # @return [String]
- #
class AssetModelProperty < Struct.new(
:id,
+ :external_id,
:name,
:data_type,
:data_type_spec,
:unit,
:type,
- :path,
- :external_id)
+ :path)
SENSITIVE = []
include Aws::Structure
end
@@ -779,6 +779,25 @@ class AssetModelProperty < Struct.new(
# Contains an asset model property definition. This property definition
# is applied to all assets created from the asset model.
#
+ # @!attribute [rw] id
+ # The ID to assign to the asset model property, if desired. IoT
+ # SiteWise automatically generates a unique ID for you, so this
+ # parameter is never required. However, if you prefer to supply your
+ # own ID instead, you can specify it here in UUID format. If you
+ # specify your own ID, it must be globally unique.
+ # @return [String]
+ #
+ # @!attribute [rw] external_id
+ # An external ID to assign to the property definition. The external ID
+ # must be unique among property definitions within this asset model.
+ # For more information, see [Using external IDs][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] name
# The name of the property definition.
# @return [String]
@@ -808,33 +827,14 @@ class AssetModelProperty < Struct.new(
# specify one type in a property definition.
# @return [Types::PropertyType]
#
- # @!attribute [rw] id
- # The ID to assign to the asset model property, if desired. IoT
- # SiteWise automatically generates a unique ID for you, so this
- # parameter is never required. However, if you prefer to supply your
- # own ID instead, you can specify it here in UUID format. If you
- # specify your own ID, it must be globally unique.
- # @return [String]
- #
- # @!attribute [rw] external_id
- # An external ID to assign to the property definition. The external ID
- # must be unique among property definitions within this asset model.
- # For more information, see [Using external IDs][1] in the *IoT
- # SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- # @return [String]
- #
class AssetModelPropertyDefinition < Struct.new(
+ :id,
+ :external_id,
:name,
:data_type,
:data_type_spec,
:unit,
- :type,
- :id,
- :external_id)
+ :type)
SENSITIVE = []
include Aws::Structure
end
@@ -863,6 +863,15 @@ class AssetModelPropertyPathSegment < Struct.new(
# The ID of the property.
# @return [String]
#
+ # @!attribute [rw] external_id
+ # The external ID of the property. For more information, see [Using
+ # external IDs][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] name
# The name of the property.
# @return [String]
@@ -895,25 +904,16 @@ class AssetModelPropertyPathSegment < Struct.new(
# model.
# @return [Array]
#
- # @!attribute [rw] external_id
- # The external ID of the property. For more information, see [Using
- # external IDs][1] in the *IoT SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- # @return [String]
- #
class AssetModelPropertySummary < Struct.new(
:id,
+ :external_id,
:name,
:data_type,
:data_type_spec,
:unit,
:type,
:asset_model_composite_model_id,
- :path,
- :external_id)
+ :path)
SENSITIVE = []
include Aws::Structure
end
@@ -947,6 +947,15 @@ class AssetModelStatus < Struct.new(
# The ID of the asset model (used with IoT SiteWise API operations).
# @return [String]
#
+ # @!attribute [rw] external_id
+ # The external ID of the asset model. For more information, see [Using
+ # external IDs][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] arn
# The [ARN][1] of the asset model, which has the following format.
#
@@ -961,6 +970,18 @@ class AssetModelStatus < Struct.new(
# The name of the asset model.
# @return [String]
#
+ # @!attribute [rw] asset_model_type
+ # The type of asset model.
+ #
+ # * **ASSET\_MODEL** – (default) An asset model that you can use to
+ # create assets. Can't be included as a component in another asset
+ # model.
+ #
+ # * **COMPONENT\_MODEL** – A reusable component that you can include
+ # in the composite models of other asset models. You can't create
+ # assets directly from this type of asset model.
+ # @return [String]
+ #
# @!attribute [rw] description
# The asset model description.
# @return [String]
@@ -977,37 +998,21 @@ class AssetModelStatus < Struct.new(
# The current status of the asset model.
# @return [Types::AssetModelStatus]
#
- # @!attribute [rw] asset_model_type
- # The type of asset model.
- #
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
- # create assets. Can't be included as a component in another asset
- # model.
- #
- # * **COMPONENT\_MODEL** – A reusable component that you can include
- # in the composite models of other asset models. You can't create
- # assets directly from this type of asset model.
- # @return [String]
- #
- # @!attribute [rw] external_id
- # The external ID of the asset model. For more information, see [Using
- # external IDs][1] in the *IoT SiteWise User Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @!attribute [rw] version
+ # The version number of the asset model.
# @return [String]
#
class AssetModelSummary < Struct.new(
:id,
+ :external_id,
:arn,
:name,
+ :asset_model_type,
:description,
:creation_date,
:last_update_date,
:status,
- :asset_model_type,
- :external_id)
+ :version)
SENSITIVE = []
include Aws::Structure
end
@@ -2547,12 +2552,7 @@ class CreateAccessPolicyResponse < Struct.new(
end
# @!attribute [rw] asset_model_id
- # The ID of the asset model this composite model is a part of.
- # @return [String]
- #
- # @!attribute [rw] parent_asset_model_composite_model_id
- # The ID of the parent composite model in this asset model
- # relationship.
+ # The ID of the asset model this composite model is a part of.
# @return [String]
#
# @!attribute [rw] asset_model_composite_model_external_id
@@ -2564,6 +2564,11 @@ class CreateAccessPolicyResponse < Struct.new(
# the model or property from the created model it's a part of.
# @return [String]
#
+ # @!attribute [rw] parent_asset_model_composite_model_id
+ # The ID of the parent composite model in this asset model
+ # relationship.
+ # @return [String]
+ #
# @!attribute [rw] asset_model_composite_model_id
# The ID of the composite model. IoT SiteWise automatically generates
# a unique ID for you, so this parameter is never required. However,
@@ -2613,17 +2618,44 @@ class CreateAccessPolicyResponse < Struct.new(
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
# @return [Array]
#
+ # @!attribute [rw] if_match
+ # The expected current entity tag (ETag) for the asset model’s latest
+ # or active version (specified using `matchForVersionType`). The
+ # create request is rejected if the tag does not match the latest or
+ # active version's current entity tag. See [Optimistic locking for
+ # asset model writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ # @return [String]
+ #
+ # @!attribute [rw] if_none_match
+ # Accepts ***** to reject the create request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists
+ # for the asset model.
+ # @return [String]
+ #
+ # @!attribute [rw] match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used
+ # in conjunction with `If-Match` or `If-None-Match` headers to
+ # determine the target ETag for the create operation.
+ # @return [String]
+ #
class CreateAssetModelCompositeModelRequest < Struct.new(
:asset_model_id,
- :parent_asset_model_composite_model_id,
:asset_model_composite_model_external_id,
+ :parent_asset_model_composite_model_id,
:asset_model_composite_model_id,
:asset_model_composite_model_description,
:asset_model_composite_model_name,
:asset_model_composite_model_type,
:client_token,
:composed_asset_model_id,
- :asset_model_composite_model_properties)
+ :asset_model_composite_model_properties,
+ :if_match,
+ :if_none_match,
+ :match_for_version_type)
SENSITIVE = []
include Aws::Structure
end
@@ -2659,6 +2691,37 @@ class CreateAssetModelCompositeModelResponse < Struct.new(
# A unique name for the asset model.
# @return [String]
#
+ # @!attribute [rw] asset_model_type
+ # The type of asset model.
+ #
+ # * **ASSET\_MODEL** – (default) An asset model that you can use to
+ # create assets. Can't be included as a component in another asset
+ # model.
+ #
+ # * **COMPONENT\_MODEL** – A reusable component that you can include
+ # in the composite models of other asset models. You can't create
+ # assets directly from this type of asset model.
+ # @return [String]
+ #
+ # @!attribute [rw] asset_model_id
+ # The ID to assign to the asset model, if desired. IoT SiteWise
+ # automatically generates a unique ID for you, so this parameter is
+ # never required. However, if you prefer to supply your own ID
+ # instead, you can specify it here in UUID format. If you specify your
+ # own ID, it must be globally unique.
+ # @return [String]
+ #
+ # @!attribute [rw] asset_model_external_id
+ # An external ID to assign to the asset model. The external ID must be
+ # unique within your Amazon Web Services account. For more
+ # information, see [Using external IDs][1] in the *IoT SiteWise User
+ # Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] asset_model_description
# A description for the asset model.
# @return [String]
@@ -2731,48 +2794,17 @@ class CreateAssetModelCompositeModelResponse < Struct.new(
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
# @return [Hash]
#
- # @!attribute [rw] asset_model_id
- # The ID to assign to the asset model, if desired. IoT SiteWise
- # automatically generates a unique ID for you, so this parameter is
- # never required. However, if you prefer to supply your own ID
- # instead, you can specify it here in UUID format. If you specify your
- # own ID, it must be globally unique.
- # @return [String]
- #
- # @!attribute [rw] asset_model_external_id
- # An external ID to assign to the asset model. The external ID must be
- # unique within your Amazon Web Services account. For more
- # information, see [Using external IDs][1] in the *IoT SiteWise User
- # Guide*.
- #
- #
- #
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
- # @return [String]
- #
- # @!attribute [rw] asset_model_type
- # The type of asset model.
- #
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
- # create assets. Can't be included as a component in another asset
- # model.
- #
- # * **COMPONENT\_MODEL** – A reusable component that you can include
- # in the composite models of other asset models. You can't create
- # assets directly from this type of asset model.
- # @return [String]
- #
class CreateAssetModelRequest < Struct.new(
:asset_model_name,
+ :asset_model_type,
+ :asset_model_id,
+ :asset_model_external_id,
:asset_model_description,
:asset_model_properties,
:asset_model_hierarchies,
:asset_model_composite_models,
:client_token,
- :tags,
- :asset_model_id,
- :asset_model_external_id,
- :asset_model_type)
+ :tags)
SENSITIVE = []
include Aws::Structure
end
@@ -3471,10 +3503,37 @@ class DeleteAccessPolicyResponse < Aws::EmptyStructure; end
# not need to pass this option.
# @return [String]
#
+ # @!attribute [rw] if_match
+ # The expected current entity tag (ETag) for the asset model’s latest
+ # or active version (specified using `matchForVersionType`). The
+ # delete request is rejected if the tag does not match the latest or
+ # active version's current entity tag. See [Optimistic locking for
+ # asset model writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ # @return [String]
+ #
+ # @!attribute [rw] if_none_match
+ # Accepts ***** to reject the delete request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists
+ # for the asset model.
+ # @return [String]
+ #
+ # @!attribute [rw] match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used
+ # in conjunction with `If-Match` or `If-None-Match` headers to
+ # determine the target ETag for the delete operation.
+ # @return [String]
+ #
class DeleteAssetModelCompositeModelRequest < Struct.new(
:asset_model_id,
:asset_model_composite_model_id,
- :client_token)
+ :client_token,
+ :if_match,
+ :if_none_match,
+ :match_for_version_type)
SENSITIVE = []
include Aws::Structure
end
@@ -3515,9 +3574,36 @@ class DeleteAssetModelCompositeModelResponse < Struct.new(
# not need to pass this option.
# @return [String]
#
+ # @!attribute [rw] if_match
+ # The expected current entity tag (ETag) for the asset model’s latest
+ # or active version (specified using `matchForVersionType`). The
+ # delete request is rejected if the tag does not match the latest or
+ # active version's current entity tag. See [Optimistic locking for
+ # asset model writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ # @return [String]
+ #
+ # @!attribute [rw] if_none_match
+ # Accepts ***** to reject the delete request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists
+ # for the asset model.
+ # @return [String]
+ #
+ # @!attribute [rw] match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used
+ # in conjunction with `If-Match` or `If-None-Match` headers to
+ # determine the target ETag for the delete operation.
+ # @return [String]
+ #
class DeleteAssetModelRequest < Struct.new(
:asset_model_id,
- :client_token)
+ :client_token,
+ :if_match,
+ :if_none_match,
+ :match_for_version_type)
SENSITIVE = []
include Aws::Structure
end
@@ -3915,9 +4001,21 @@ class DescribeAssetCompositeModelResponse < Struct.new(
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
# @return [String]
#
+ # @!attribute [rw] asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ # @return [String]
+ #
class DescribeAssetModelCompositeModelRequest < Struct.new(
:asset_model_id,
- :asset_model_composite_model_id)
+ :asset_model_composite_model_id,
+ :asset_model_version)
SENSITIVE = []
include Aws::Structure
end
@@ -4005,9 +4103,21 @@ class DescribeAssetModelCompositeModelResponse < Struct.new(
# Whether or not to exclude asset model properties from the response.
# @return [Boolean]
#
+ # @!attribute [rw] asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ # @return [String]
+ #
class DescribeAssetModelRequest < Struct.new(
:asset_model_id,
- :exclude_properties)
+ :exclude_properties,
+ :asset_model_version)
SENSITIVE = []
include Aws::Structure
end
@@ -4016,6 +4126,10 @@ class DescribeAssetModelRequest < Struct.new(
# The ID of the asset model, in UUID format.
# @return [String]
#
+ # @!attribute [rw] asset_model_external_id
+ # The external ID of the asset model, if any.
+ # @return [String]
+ #
# @!attribute [rw] asset_model_arn
# The [ARN][1] of the asset model, which has the following format.
#
@@ -4030,6 +4144,18 @@ class DescribeAssetModelRequest < Struct.new(
# The name of the asset model.
# @return [String]
#
+ # @!attribute [rw] asset_model_type
+ # The type of asset model.
+ #
+ # * **ASSET\_MODEL** – (default) An asset model that you can use to
+ # create assets. Can't be included as a component in another asset
+ # model.
+ #
+ # * **COMPONENT\_MODEL** – A reusable component that you can include
+ # in the composite models of other asset models. You can't create
+ # assets directly from this type of asset model.
+ # @return [String]
+ #
# @!attribute [rw] asset_model_description
# The asset model's description.
# @return [String]
@@ -4054,6 +4180,11 @@ class DescribeAssetModelRequest < Struct.new(
# those with those of type `AWS/ALARMS`.
# @return [Array]
#
+ # @!attribute [rw] asset_model_composite_model_summaries
+ # The list of the immediate child custom composite model summaries for
+ # the asset model.
+ # @return [Array]
+ #
# @!attribute [rw] asset_model_creation_date
# The date the asset model was created, in Unix epoch time.
# @return [Time]
@@ -4067,41 +4198,45 @@ class DescribeAssetModelRequest < Struct.new(
# any error message.
# @return [Types::AssetModelStatus]
#
- # @!attribute [rw] asset_model_type
- # The type of asset model.
+ # @!attribute [rw] asset_model_version
+ # The version of the asset model. See [ Asset model versions][1] in
+ # the *IoT SiteWise User Guide*.
#
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
- # create assets. Can't be included as a component in another asset
- # model.
#
- # * **COMPONENT\_MODEL** – A reusable component that you can include
- # in the composite models of other asset models. You can't create
- # assets directly from this type of asset model.
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
# @return [String]
#
- # @!attribute [rw] asset_model_composite_model_summaries
- # The list of the immediate child custom composite model summaries for
- # the asset model.
- # @return [Array]
+ # @!attribute [rw] e_tag
+ # The entity tag (ETag) is a hash of the retrieved version of the
+ # asset model. It's used to make concurrent updates safely to the
+ # resource. See [Optimistic locking for asset model writes][1] in the
+ # *IoT SiteWise User Guide*.
#
- # @!attribute [rw] asset_model_external_id
- # The external ID of the asset model, if any.
+ # See [ Optimistic locking for asset model writes][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
# @return [String]
#
class DescribeAssetModelResponse < Struct.new(
:asset_model_id,
+ :asset_model_external_id,
:asset_model_arn,
:asset_model_name,
+ :asset_model_type,
:asset_model_description,
:asset_model_properties,
:asset_model_hierarchies,
:asset_model_composite_models,
+ :asset_model_composite_model_summaries,
:asset_model_creation_date,
:asset_model_last_update_date,
:asset_model_status,
- :asset_model_type,
- :asset_model_composite_model_summaries,
- :asset_model_external_id)
+ :asset_model_version,
+ :e_tag)
SENSITIVE = []
include Aws::Structure
end
@@ -6204,10 +6339,22 @@ class ListActionsResponse < Struct.new(
# Default: 50
# @return [Integer]
#
+ # @!attribute [rw] asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ # @return [String]
+ #
class ListAssetModelCompositeModelsRequest < Struct.new(
:asset_model_id,
:next_token,
- :max_results)
+ :max_results,
+ :asset_model_version)
SENSITIVE = []
include Aws::Structure
end
@@ -6261,11 +6408,23 @@ class ListAssetModelCompositeModelsResponse < Struct.new(
# Default: `BASE`
# @return [String]
#
+ # @!attribute [rw] asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT
+ # SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ # @return [String]
+ #
class ListAssetModelPropertiesRequest < Struct.new(
:asset_model_id,
:next_token,
:max_results,
- :filter)
+ :filter,
+ :asset_model_version)
SENSITIVE = []
include Aws::Structure
end
@@ -6287,6 +6446,18 @@ class ListAssetModelPropertiesResponse < Struct.new(
include Aws::Structure
end
+ # @!attribute [rw] asset_model_types
+ # The type of asset model. If you don't provide an `assetModelTypes`,
+ # all types of asset models are returned.
+ #
+ # * **ASSET\_MODEL** – An asset model that you can use to create
+ # assets. Can't be included as a component in another asset model.
+ #
+ # * **COMPONENT\_MODEL** – A reusable component that you can include
+ # in the composite models of other asset models. You can't create
+ # assets directly from this type of asset model.
+ # @return [Array]
+ #
# @!attribute [rw] next_token
# The token to be used for the next set of paginated results.
# @return [String]
@@ -6297,22 +6468,22 @@ class ListAssetModelPropertiesResponse < Struct.new(
# Default: 50
# @return [Integer]
#
- # @!attribute [rw] asset_model_types
- # The type of asset model.
+ # @!attribute [rw] asset_model_version
+ # The version alias that specifies the latest or active version of the
+ # asset model. The details are returned in the response. The default
+ # value is `LATEST`. See [ Asset model versions][1] in the *IoT
+ # SiteWise User Guide*.
#
- # * **ASSET\_MODEL** – (default) An asset model that you can use to
- # create assets. Can't be included as a component in another asset
- # model.
#
- # * **COMPONENT\_MODEL** – A reusable component that you can include
- # in the composite models of other asset models. You can't create
- # assets directly from this type of asset model.
- # @return [Array]
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/model-active-version.html
+ # @return [String]
#
class ListAssetModelsRequest < Struct.new(
+ :asset_model_types,
:next_token,
:max_results,
- :asset_model_types)
+ :asset_model_version)
SENSITIVE = []
include Aws::Structure
end
@@ -6521,24 +6692,22 @@ class ListAssetsResponse < Struct.new(
# @return [String]
#
# @!attribute [rw] hierarchy_id
+ # (Optional) If you don't provide a `hierarchyId`, all the immediate
+ # assets in the `traversalDirection` will be returned.
+ #
# The ID of the hierarchy by which child assets are associated to the
# asset. (This can be either the actual ID in UUID format, or else
# `externalId:` followed by the external ID, if it has one. For more
# information, see [Referencing objects with external IDs][1] in the
- # *IoT SiteWise User Guide*.) To find a hierarchy ID, use the
- # [DescribeAsset][2] or [DescribeAssetModel][3] operations. This
- # parameter is required if you choose `CHILD` for
- # `traversalDirection`.
+ # *IoT SiteWise User Guide*.)
#
- # For more information, see [Asset hierarchies][4] in the *IoT
+ # For more information, see [Asset hierarchies][2] in the *IoT
# SiteWise User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html
- # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html
- # [4]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
# @return [String]
#
# @!attribute [rw] traversal_direction
@@ -6546,8 +6715,7 @@ class ListAssetsResponse < Struct.new(
# options:
#
# * `CHILD` – The list includes all child assets associated to the
- # asset. The `hierarchyId` parameter is required if you choose
- # `CHILD`.
+ # asset.
#
# * `PARENT` – The list includes the asset's parent asset.
#
@@ -7196,6 +7364,30 @@ class PortalSummary < Struct.new(
include Aws::Structure
end
+ # The precondition in one or more of the request-header fields evaluated
+ # to `FALSE`.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] resource_id
+ # The ID of the resource on which precondition failed with this
+ # operation.
+ # @return [String]
+ #
+ # @!attribute [rw] resource_arn
+ # The ARN of the resource on which precondition failed with this
+ # operation.
+ # @return [String]
+ #
+ class PreconditionFailedException < Struct.new(
+ :message,
+ :resource_id,
+ :resource_arn)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
# Identifies a specific IoT SiteWise Monitor project.
#
# @!attribute [rw] id
@@ -8181,6 +8373,30 @@ class UpdateAccessPolicyResponse < Aws::EmptyStructure; end
# [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
# @return [Array]
#
+ # @!attribute [rw] if_match
+ # The expected current entity tag (ETag) for the asset model’s latest
+ # or active version (specified using `matchForVersionType`). The
+ # update request is rejected if the tag does not match the latest or
+ # active version's current entity tag. See [Optimistic locking for
+ # asset model writes][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ # @return [String]
+ #
+ # @!attribute [rw] if_none_match
+ # Accepts ***** to reject the update request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists
+ # for the asset model.
+ # @return [String]
+ #
+ # @!attribute [rw] match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used
+ # in conjunction with `If-Match` or `If-None-Match` headers to
+ # determine the target ETag for the update operation.
+ # @return [String]
+ #
class UpdateAssetModelCompositeModelRequest < Struct.new(
:asset_model_id,
:asset_model_composite_model_id,
@@ -8188,7 +8404,10 @@ class UpdateAssetModelCompositeModelRequest < Struct.new(
:asset_model_composite_model_description,
:asset_model_composite_model_name,
:client_token,
- :asset_model_composite_model_properties)
+ :asset_model_composite_model_properties,
+ :if_match,
+ :if_none_match,
+ :match_for_version_type)
SENSITIVE = []
include Aws::Structure
end
@@ -8225,6 +8444,17 @@ class UpdateAssetModelCompositeModelResponse < Struct.new(
# [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references
# @return [String]
#
+ # @!attribute [rw] asset_model_external_id
+ # An external ID to assign to the asset model. The asset model must
+ # not already have an external ID. The external ID must be unique
+ # within your Amazon Web Services account. For more information, see
+ # [Using external IDs][1] in the *IoT SiteWise User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # @return [String]
+ #
# @!attribute [rw] asset_model_name
# A unique name for the asset model.
# @return [String]
@@ -8292,26 +8522,42 @@ class UpdateAssetModelCompositeModelResponse < Struct.new(
# not need to pass this option.
# @return [String]
#
- # @!attribute [rw] asset_model_external_id
- # An external ID to assign to the asset model. The asset model must
- # not already have an external ID. The external ID must be unique
- # within your Amazon Web Services account. For more information, see
- # [Using external IDs][1] in the *IoT SiteWise User Guide*.
+ # @!attribute [rw] if_match
+ # The expected current entity tag (ETag) for the asset model’s latest
+ # or active version (specified using `matchForVersionType`). The
+ # update request is rejected if the tag does not match the latest or
+ # active version's current entity tag. See [Optimistic locking for
+ # asset model writes][1] in the *IoT SiteWise User Guide*.
#
#
#
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/opt-locking-for-model.html
+ # @return [String]
+ #
+ # @!attribute [rw] if_none_match
+ # Accepts ***** to reject the update request if an active version
+ # (specified using `matchForVersionType` as `ACTIVE`) already exists
+ # for the asset model.
+ # @return [String]
+ #
+ # @!attribute [rw] match_for_version_type
+ # Specifies the asset model version type (`LATEST` or `ACTIVE`) used
+ # in conjunction with `If-Match` or `If-None-Match` headers to
+ # determine the target ETag for the update operation.
# @return [String]
#
class UpdateAssetModelRequest < Struct.new(
:asset_model_id,
+ :asset_model_external_id,
:asset_model_name,
:asset_model_description,
:asset_model_properties,
:asset_model_hierarchies,
:asset_model_composite_models,
:client_token,
- :asset_model_external_id)
+ :if_match,
+ :if_none_match,
+ :match_for_version_type)
SENSITIVE = []
include Aws::Structure
end
diff --git a/gems/aws-sdk-iotsitewise/sig/client.rbs b/gems/aws-sdk-iotsitewise/sig/client.rbs
index 9ef728cb435..38673b48753 100644
--- a/gems/aws-sdk-iotsitewise/sig/client.rbs
+++ b/gems/aws-sdk-iotsitewise/sig/client.rbs
@@ -284,9 +284,14 @@ module Aws
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#create_asset_model-instance_method
def create_asset_model: (
asset_model_name: ::String,
+ ?asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL"),
+ ?asset_model_id: ::String,
+ ?asset_model_external_id: ::String,
?asset_model_description: ::String,
?asset_model_properties: Array[
{
+ id: ::String?,
+ external_id: ::String?,
name: ::String,
data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT"),
data_type_spec: ::String?,
@@ -353,26 +358,28 @@ module Aws
compute_location: ("EDGE" | "CLOUD")
}?
}?
- },
- id: ::String?,
- external_id: ::String?
+ }
},
],
?asset_model_hierarchies: Array[
{
- name: ::String,
- child_asset_model_id: ::String,
id: ::String?,
- external_id: ::String?
+ external_id: ::String?,
+ name: ::String,
+ child_asset_model_id: ::String
},
],
?asset_model_composite_models: Array[
{
+ id: ::String?,
+ external_id: ::String?,
name: ::String,
description: ::String?,
type: ::String,
properties: Array[
{
+ id: ::String?,
+ external_id: ::String?,
name: ::String,
data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT"),
data_type_spec: ::String?,
@@ -439,20 +446,13 @@ module Aws
compute_location: ("EDGE" | "CLOUD")
}?
}?
- },
- id: ::String?,
- external_id: ::String?
+ }
},
- ]?,
- id: ::String?,
- external_id: ::String?
+ ]?
},
],
?client_token: ::String,
- ?tags: Hash[::String, ::String],
- ?asset_model_id: ::String,
- ?asset_model_external_id: ::String,
- ?asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
+ ?tags: Hash[::String, ::String]
) -> _CreateAssetModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateAssetModelResponseSuccess
@@ -465,8 +465,8 @@ module Aws
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#create_asset_model_composite_model-instance_method
def create_asset_model_composite_model: (
asset_model_id: ::String,
- ?parent_asset_model_composite_model_id: ::String,
?asset_model_composite_model_external_id: ::String,
+ ?parent_asset_model_composite_model_id: ::String,
?asset_model_composite_model_id: ::String,
?asset_model_composite_model_description: ::String,
asset_model_composite_model_name: ::String,
@@ -475,6 +475,8 @@ module Aws
?composed_asset_model_id: ::String,
?asset_model_composite_model_properties: Array[
{
+ id: ::String?,
+ external_id: ::String?,
name: ::String,
data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT"),
data_type_spec: ::String?,
@@ -541,11 +543,12 @@ module Aws
compute_location: ("EDGE" | "CLOUD")
}?
}?
- },
- id: ::String?,
- external_id: ::String?
+ }
},
- ]
+ ],
+ ?if_match: ::String,
+ ?if_none_match: ::String,
+ ?match_for_version_type: ("LATEST" | "ACTIVE")
) -> _CreateAssetModelCompositeModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateAssetModelCompositeModelResponseSuccess
@@ -695,7 +698,10 @@ module Aws
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#delete_asset_model-instance_method
def delete_asset_model: (
asset_model_id: ::String,
- ?client_token: ::String
+ ?client_token: ::String,
+ ?if_match: ::String,
+ ?if_none_match: ::String,
+ ?match_for_version_type: ("LATEST" | "ACTIVE")
) -> _DeleteAssetModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteAssetModelResponseSuccess
@@ -707,7 +713,10 @@ module Aws
def delete_asset_model_composite_model: (
asset_model_id: ::String,
asset_model_composite_model_id: ::String,
- ?client_token: ::String
+ ?client_token: ::String,
+ ?if_match: ::String,
+ ?if_none_match: ::String,
+ ?match_for_version_type: ("LATEST" | "ACTIVE")
) -> _DeleteAssetModelCompositeModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteAssetModelCompositeModelResponseSuccess
@@ -833,23 +842,26 @@ module Aws
interface _DescribeAssetModelResponseSuccess
include ::Seahorse::Client::_ResponseSuccess[Types::DescribeAssetModelResponse]
def asset_model_id: () -> ::String
+ def asset_model_external_id: () -> ::String
def asset_model_arn: () -> ::String
def asset_model_name: () -> ::String
+ def asset_model_type: () -> ("ASSET_MODEL" | "COMPONENT_MODEL")
def asset_model_description: () -> ::String
def asset_model_properties: () -> ::Array[Types::AssetModelProperty]
def asset_model_hierarchies: () -> ::Array[Types::AssetModelHierarchy]
def asset_model_composite_models: () -> ::Array[Types::AssetModelCompositeModel]
+ def asset_model_composite_model_summaries: () -> ::Array[Types::AssetModelCompositeModelSummary]
def asset_model_creation_date: () -> ::Time
def asset_model_last_update_date: () -> ::Time
def asset_model_status: () -> Types::AssetModelStatus
- def asset_model_type: () -> ("ASSET_MODEL" | "COMPONENT_MODEL")
- def asset_model_composite_model_summaries: () -> ::Array[Types::AssetModelCompositeModelSummary]
- def asset_model_external_id: () -> ::String
+ def asset_model_version: () -> ::String
+ def e_tag: () -> ::String
end
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#describe_asset_model-instance_method
def describe_asset_model: (
asset_model_id: ::String,
- ?exclude_properties: bool
+ ?exclude_properties: bool,
+ ?asset_model_version: ::String
) -> _DescribeAssetModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeAssetModelResponseSuccess
@@ -870,7 +882,8 @@ module Aws
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#describe_asset_model_composite_model-instance_method
def describe_asset_model_composite_model: (
asset_model_id: ::String,
- asset_model_composite_model_id: ::String
+ asset_model_composite_model_id: ::String,
+ ?asset_model_version: ::String
) -> _DescribeAssetModelCompositeModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeAssetModelCompositeModelResponseSuccess
@@ -1217,7 +1230,8 @@ module Aws
def list_asset_model_composite_models: (
asset_model_id: ::String,
?next_token: ::String,
- ?max_results: ::Integer
+ ?max_results: ::Integer,
+ ?asset_model_version: ::String
) -> _ListAssetModelCompositeModelsResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAssetModelCompositeModelsResponseSuccess
@@ -1231,7 +1245,8 @@ module Aws
asset_model_id: ::String,
?next_token: ::String,
?max_results: ::Integer,
- ?filter: ("ALL" | "BASE")
+ ?filter: ("ALL" | "BASE"),
+ ?asset_model_version: ::String
) -> _ListAssetModelPropertiesResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAssetModelPropertiesResponseSuccess
@@ -1242,9 +1257,10 @@ module Aws
end
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#list_asset_models-instance_method
def list_asset_models: (
+ ?asset_model_types: Array[("ASSET_MODEL" | "COMPONENT_MODEL")],
?next_token: ::String,
?max_results: ::Integer,
- ?asset_model_types: Array[("ASSET_MODEL" | "COMPONENT_MODEL")]
+ ?asset_model_version: ::String
) -> _ListAssetModelsResponseSuccess
| (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAssetModelsResponseSuccess
@@ -1549,11 +1565,13 @@ module Aws
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTSiteWise/Client.html#update_asset_model-instance_method
def update_asset_model: (
asset_model_id: ::String,
+ ?asset_model_external_id: ::String,
asset_model_name: ::String,
?asset_model_description: ::String,
?asset_model_properties: Array[
{
id: ::String?,
+ external_id: ::String?,
name: ::String,
data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT"),
data_type_spec: ::String?,
@@ -1626,16 +1644,15 @@ module Aws
id: ::String?,
name: ::String?
},
- ]?,
- external_id: ::String?
+ ]?
},
],
?asset_model_hierarchies: Array[
{
id: ::String?,
+ external_id: ::String?,
name: ::String,
- child_asset_model_id: ::String,
- external_id: ::String?
+ child_asset_model_id: ::String
},
],
?asset_model_composite_models: Array[
@@ -1646,6 +1663,7 @@ module Aws
properties: Array[
{
id: ::String?,
+ external_id: ::String?,
name: ::String,
data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT"),
data_type_spec: ::String?,
@@ -1718,8 +1736,7 @@ module Aws
id: ::String?,
name: ::String?
},
- ]?,
- external_id: ::String?
+ ]?
},
]?,
id: ::String?,
@@ -1727,7 +1744,9 @@ module Aws
},
],
?client_token: ::String,
- ?asset_model_external_id: ::String
+ ?if_match: ::String,
+ ?if_none_match: ::String,
+ ?match_for_version_type: ("LATEST" | "ACTIVE")
) -> _UpdateAssetModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateAssetModelResponseSuccess
@@ -1747,6 +1766,7 @@ module Aws
?asset_model_composite_model_properties: Array[
{
id: ::String?,
+ external_id: ::String?,
name: ::String,
data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT"),
data_type_spec: ::String?,
@@ -1819,10 +1839,12 @@ module Aws
id: ::String?,
name: ::String?
},
- ]?,
- external_id: ::String?
+ ]?
},
- ]
+ ],
+ ?if_match: ::String,
+ ?if_none_match: ::String,
+ ?match_for_version_type: ("LATEST" | "ACTIVE")
) -> _UpdateAssetModelCompositeModelResponseSuccess
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateAssetModelCompositeModelResponseSuccess
@@ -1917,12 +1939,14 @@ module Aws
| (:asset_active waiter_name, Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> Client::_DescribeAssetResponseSuccess
| (:asset_model_active waiter_name,
asset_model_id: ::String,
- ?exclude_properties: bool
+ ?exclude_properties: bool,
+ ?asset_model_version: ::String
) -> Client::_DescribeAssetModelResponseSuccess
| (:asset_model_active waiter_name, Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> Client::_DescribeAssetModelResponseSuccess
| (:asset_model_not_exists waiter_name,
asset_model_id: ::String,
- ?exclude_properties: bool
+ ?exclude_properties: bool,
+ ?asset_model_version: ::String
) -> Client::_DescribeAssetModelResponseSuccess
| (:asset_model_not_exists waiter_name, Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> Client::_DescribeAssetModelResponseSuccess
| (:asset_not_exists waiter_name,
diff --git a/gems/aws-sdk-iotsitewise/sig/errors.rbs b/gems/aws-sdk-iotsitewise/sig/errors.rbs
index 63c40a3f71e..d2ff5e4900b 100644
--- a/gems/aws-sdk-iotsitewise/sig/errors.rbs
+++ b/gems/aws-sdk-iotsitewise/sig/errors.rbs
@@ -28,6 +28,11 @@ module Aws
class LimitExceededException < ::Aws::Errors::ServiceError
def message: () -> ::String
end
+ class PreconditionFailedException < ::Aws::Errors::ServiceError
+ def message: () -> ::String
+ def resource_id: () -> ::String
+ def resource_arn: () -> ::String
+ end
class QueryTimeoutException < ::Aws::Errors::ServiceError
def message: () -> ::String
end
diff --git a/gems/aws-sdk-iotsitewise/sig/types.rbs b/gems/aws-sdk-iotsitewise/sig/types.rbs
index 78de868074b..743ddf63cd9 100644
--- a/gems/aws-sdk-iotsitewise/sig/types.rbs
+++ b/gems/aws-sdk-iotsitewise/sig/types.rbs
@@ -122,12 +122,12 @@ module Aws::IoTSiteWise
end
class AssetModelCompositeModelDefinition
+ attr_accessor id: ::String
+ attr_accessor external_id: ::String
attr_accessor name: ::String
attr_accessor description: ::String
attr_accessor type: ::String
attr_accessor properties: ::Array[Types::AssetModelPropertyDefinition]
- attr_accessor id: ::String
- attr_accessor external_id: ::String
SENSITIVE: []
end
@@ -149,40 +149,40 @@ module Aws::IoTSiteWise
class AssetModelHierarchy
attr_accessor id: ::String
+ attr_accessor external_id: ::String
attr_accessor name: ::String
attr_accessor child_asset_model_id: ::String
- attr_accessor external_id: ::String
SENSITIVE: []
end
class AssetModelHierarchyDefinition
- attr_accessor name: ::String
- attr_accessor child_asset_model_id: ::String
attr_accessor id: ::String
attr_accessor external_id: ::String
+ attr_accessor name: ::String
+ attr_accessor child_asset_model_id: ::String
SENSITIVE: []
end
class AssetModelProperty
attr_accessor id: ::String
+ attr_accessor external_id: ::String
attr_accessor name: ::String
attr_accessor data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT")
attr_accessor data_type_spec: ::String
attr_accessor unit: ::String
attr_accessor type: Types::PropertyType
attr_accessor path: ::Array[Types::AssetModelPropertyPathSegment]
- attr_accessor external_id: ::String
SENSITIVE: []
end
class AssetModelPropertyDefinition
+ attr_accessor id: ::String
+ attr_accessor external_id: ::String
attr_accessor name: ::String
attr_accessor data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT")
attr_accessor data_type_spec: ::String
attr_accessor unit: ::String
attr_accessor type: Types::PropertyType
- attr_accessor id: ::String
- attr_accessor external_id: ::String
SENSITIVE: []
end
@@ -194,6 +194,7 @@ module Aws::IoTSiteWise
class AssetModelPropertySummary
attr_accessor id: ::String
+ attr_accessor external_id: ::String
attr_accessor name: ::String
attr_accessor data_type: ("STRING" | "INTEGER" | "DOUBLE" | "BOOLEAN" | "STRUCT")
attr_accessor data_type_spec: ::String
@@ -201,7 +202,6 @@ module Aws::IoTSiteWise
attr_accessor type: Types::PropertyType
attr_accessor asset_model_composite_model_id: ::String
attr_accessor path: ::Array[Types::AssetModelPropertyPathSegment]
- attr_accessor external_id: ::String
SENSITIVE: []
end
@@ -213,14 +213,15 @@ module Aws::IoTSiteWise
class AssetModelSummary
attr_accessor id: ::String
+ attr_accessor external_id: ::String
attr_accessor arn: ::String
attr_accessor name: ::String
+ attr_accessor asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
attr_accessor description: ::String
attr_accessor creation_date: ::Time
attr_accessor last_update_date: ::Time
attr_accessor status: Types::AssetModelStatus
- attr_accessor asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
- attr_accessor external_id: ::String
+ attr_accessor version: ::String
SENSITIVE: []
end
@@ -598,8 +599,8 @@ module Aws::IoTSiteWise
class CreateAssetModelCompositeModelRequest
attr_accessor asset_model_id: ::String
- attr_accessor parent_asset_model_composite_model_id: ::String
attr_accessor asset_model_composite_model_external_id: ::String
+ attr_accessor parent_asset_model_composite_model_id: ::String
attr_accessor asset_model_composite_model_id: ::String
attr_accessor asset_model_composite_model_description: ::String
attr_accessor asset_model_composite_model_name: ::String
@@ -607,6 +608,9 @@ module Aws::IoTSiteWise
attr_accessor client_token: ::String
attr_accessor composed_asset_model_id: ::String
attr_accessor asset_model_composite_model_properties: ::Array[Types::AssetModelPropertyDefinition]
+ attr_accessor if_match: ::String
+ attr_accessor if_none_match: ::String
+ attr_accessor match_for_version_type: ("LATEST" | "ACTIVE")
SENSITIVE: []
end
@@ -619,15 +623,15 @@ module Aws::IoTSiteWise
class CreateAssetModelRequest
attr_accessor asset_model_name: ::String
+ attr_accessor asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
+ attr_accessor asset_model_id: ::String
+ attr_accessor asset_model_external_id: ::String
attr_accessor asset_model_description: ::String
attr_accessor asset_model_properties: ::Array[Types::AssetModelPropertyDefinition]
attr_accessor asset_model_hierarchies: ::Array[Types::AssetModelHierarchyDefinition]
attr_accessor asset_model_composite_models: ::Array[Types::AssetModelCompositeModelDefinition]
attr_accessor client_token: ::String
attr_accessor tags: ::Hash[::String, ::String]
- attr_accessor asset_model_id: ::String
- attr_accessor asset_model_external_id: ::String
- attr_accessor asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
SENSITIVE: []
end
@@ -782,6 +786,9 @@ module Aws::IoTSiteWise
attr_accessor asset_model_id: ::String
attr_accessor asset_model_composite_model_id: ::String
attr_accessor client_token: ::String
+ attr_accessor if_match: ::String
+ attr_accessor if_none_match: ::String
+ attr_accessor match_for_version_type: ("LATEST" | "ACTIVE")
SENSITIVE: []
end
@@ -793,6 +800,9 @@ module Aws::IoTSiteWise
class DeleteAssetModelRequest
attr_accessor asset_model_id: ::String
attr_accessor client_token: ::String
+ attr_accessor if_match: ::String
+ attr_accessor if_none_match: ::String
+ attr_accessor match_for_version_type: ("LATEST" | "ACTIVE")
SENSITIVE: []
end
@@ -907,6 +917,7 @@ module Aws::IoTSiteWise
class DescribeAssetModelCompositeModelRequest
attr_accessor asset_model_id: ::String
attr_accessor asset_model_composite_model_id: ::String
+ attr_accessor asset_model_version: ::String
SENSITIVE: []
end
@@ -928,23 +939,26 @@ module Aws::IoTSiteWise
class DescribeAssetModelRequest
attr_accessor asset_model_id: ::String
attr_accessor exclude_properties: bool
+ attr_accessor asset_model_version: ::String
SENSITIVE: []
end
class DescribeAssetModelResponse
attr_accessor asset_model_id: ::String
+ attr_accessor asset_model_external_id: ::String
attr_accessor asset_model_arn: ::String
attr_accessor asset_model_name: ::String
+ attr_accessor asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
attr_accessor asset_model_description: ::String
attr_accessor asset_model_properties: ::Array[Types::AssetModelProperty]
attr_accessor asset_model_hierarchies: ::Array[Types::AssetModelHierarchy]
attr_accessor asset_model_composite_models: ::Array[Types::AssetModelCompositeModel]
+ attr_accessor asset_model_composite_model_summaries: ::Array[Types::AssetModelCompositeModelSummary]
attr_accessor asset_model_creation_date: ::Time
attr_accessor asset_model_last_update_date: ::Time
attr_accessor asset_model_status: Types::AssetModelStatus
- attr_accessor asset_model_type: ("ASSET_MODEL" | "COMPONENT_MODEL")
- attr_accessor asset_model_composite_model_summaries: ::Array[Types::AssetModelCompositeModelSummary]
- attr_accessor asset_model_external_id: ::String
+ attr_accessor asset_model_version: ::String
+ attr_accessor e_tag: ::String
SENSITIVE: []
end
@@ -1450,6 +1464,7 @@ module Aws::IoTSiteWise
attr_accessor asset_model_id: ::String
attr_accessor next_token: ::String
attr_accessor max_results: ::Integer
+ attr_accessor asset_model_version: ::String
SENSITIVE: []
end
@@ -1464,6 +1479,7 @@ module Aws::IoTSiteWise
attr_accessor next_token: ::String
attr_accessor max_results: ::Integer
attr_accessor filter: ("ALL" | "BASE")
+ attr_accessor asset_model_version: ::String
SENSITIVE: []
end
@@ -1474,9 +1490,10 @@ module Aws::IoTSiteWise
end
class ListAssetModelsRequest
+ attr_accessor asset_model_types: ::Array[("ASSET_MODEL" | "COMPONENT_MODEL")]
attr_accessor next_token: ::String
attr_accessor max_results: ::Integer
- attr_accessor asset_model_types: ::Array[("ASSET_MODEL" | "COMPONENT_MODEL")]
+ attr_accessor asset_model_version: ::String
SENSITIVE: []
end
@@ -1727,6 +1744,13 @@ module Aws::IoTSiteWise
SENSITIVE: []
end
+ class PreconditionFailedException
+ attr_accessor message: ::String
+ attr_accessor resource_id: ::String
+ attr_accessor resource_arn: ::String
+ SENSITIVE: []
+ end
+
class ProjectResource
attr_accessor id: ::String
SENSITIVE: []
@@ -1960,6 +1984,9 @@ module Aws::IoTSiteWise
attr_accessor asset_model_composite_model_name: ::String
attr_accessor client_token: ::String
attr_accessor asset_model_composite_model_properties: ::Array[Types::AssetModelProperty]
+ attr_accessor if_match: ::String
+ attr_accessor if_none_match: ::String
+ attr_accessor match_for_version_type: ("LATEST" | "ACTIVE")
SENSITIVE: []
end
@@ -1971,13 +1998,16 @@ module Aws::IoTSiteWise
class UpdateAssetModelRequest
attr_accessor asset_model_id: ::String
+ attr_accessor asset_model_external_id: ::String
attr_accessor asset_model_name: ::String
attr_accessor asset_model_description: ::String
attr_accessor asset_model_properties: ::Array[Types::AssetModelProperty]
attr_accessor asset_model_hierarchies: ::Array[Types::AssetModelHierarchy]
attr_accessor asset_model_composite_models: ::Array[Types::AssetModelCompositeModel]
attr_accessor client_token: ::String
- attr_accessor asset_model_external_id: ::String
+ attr_accessor if_match: ::String
+ attr_accessor if_none_match: ::String
+ attr_accessor match_for_version_type: ("LATEST" | "ACTIVE")
SENSITIVE: []
end
diff --git a/gems/aws-sdk-iotsitewise/sig/waiters.rbs b/gems/aws-sdk-iotsitewise/sig/waiters.rbs
index 9510d58cf3b..f412f899a8e 100644
--- a/gems/aws-sdk-iotsitewise/sig/waiters.rbs
+++ b/gems/aws-sdk-iotsitewise/sig/waiters.rbs
@@ -26,7 +26,8 @@ module Aws
def wait: (
asset_model_id: ::String,
- ?exclude_properties: bool
+ ?exclude_properties: bool,
+ ?asset_model_version: ::String
) -> Client::_DescribeAssetModelResponseSuccess
| (Hash[Symbol, untyped]) -> Client::_DescribeAssetModelResponseSuccess
end
@@ -37,7 +38,8 @@ module Aws
def wait: (
asset_model_id: ::String,
- ?exclude_properties: bool
+ ?exclude_properties: bool,
+ ?asset_model_version: ::String
) -> Client::_DescribeAssetModelResponseSuccess
| (Hash[Symbol, untyped]) -> Client::_DescribeAssetModelResponseSuccess
end
diff --git a/gems/aws-sdk-workspaces/CHANGELOG.md b/gems/aws-sdk-workspaces/CHANGELOG.md
index 8a7a9847922..d972abc25e6 100644
--- a/gems/aws-sdk-workspaces/CHANGELOG.md
+++ b/gems/aws-sdk-workspaces/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+1.113.0 (2024-08-26)
+------------------
+
+* Feature - This release adds support for creating and managing directories that use AWS IAM Identity Center as user identity source. Such directories can be used to create non-Active Directory domain joined WorkSpaces Personal.Updated RegisterWorkspaceDirectory and DescribeWorkspaceDirectories APIs.
+
1.112.0 (2024-08-06)
------------------
diff --git a/gems/aws-sdk-workspaces/VERSION b/gems/aws-sdk-workspaces/VERSION
index 628cac6f078..7bd0f252f61 100644
--- a/gems/aws-sdk-workspaces/VERSION
+++ b/gems/aws-sdk-workspaces/VERSION
@@ -1 +1 @@
-1.112.0
+1.113.0
diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb
index 97d49a1fdb2..495db1c6542 100644
--- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb
+++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces.rb
@@ -52,6 +52,6 @@
# @!group service
module Aws::WorkSpaces
- GEM_VERSION = '1.112.0'
+ GEM_VERSION = '1.113.0'
end
diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb
index 4bac2182a8a..feb7dc0dd06 100644
--- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb
+++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client.rb
@@ -2476,6 +2476,9 @@ def describe_workspace_bundles(params = {}, options = {})
# If you received a `NextToken` from a previous call that was paginated,
# provide this token to receive the next set of results.
#
+ # @option params [Array] :filters
+ # The filter condition for the WorkSpaces.
+ #
# @return [Types::DescribeWorkspaceDirectoriesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeWorkspaceDirectoriesResult#directories #directories} => Array<Types::WorkspaceDirectory>
@@ -2490,6 +2493,12 @@ def describe_workspace_bundles(params = {}, options = {})
# workspace_directory_names: ["WorkspaceDirectoryName"],
# limit: 1,
# next_token: "PaginationToken",
+ # filters: [
+ # {
+ # name: "USER_IDENTITY_TYPE", # required, accepts USER_IDENTITY_TYPE, WORKSPACE_TYPE
+ # values: ["DescribeWorkspaceDirectoriesFilterValue"], # required
+ # },
+ # ],
# })
#
# @example Response structure
@@ -2505,7 +2514,7 @@ def describe_workspace_bundles(params = {}, options = {})
# resp.directories[0].dns_ip_addresses[0] #=> String
# resp.directories[0].customer_user_name #=> String
# resp.directories[0].iam_role_id #=> String
- # resp.directories[0].directory_type #=> String, one of "SIMPLE_AD", "AD_CONNECTOR", "CUSTOMER_MANAGED"
+ # resp.directories[0].directory_type #=> String, one of "SIMPLE_AD", "AD_CONNECTOR", "CUSTOMER_MANAGED", "AWS_IAM_IDENTITY_CENTER"
# resp.directories[0].workspace_security_group_id #=> String
# resp.directories[0].state #=> String, one of "REGISTERING", "REGISTERED", "DEREGISTERING", "DEREGISTERED", "ERROR"
# resp.directories[0].workspace_creation_properties.enable_work_docs #=> Boolean
@@ -2536,10 +2545,14 @@ def describe_workspace_bundles(params = {}, options = {})
# resp.directories[0].saml_properties.relay_state_parameter_name #=> String
# resp.directories[0].certificate_based_auth_properties.status #=> String, one of "DISABLED", "ENABLED"
# resp.directories[0].certificate_based_auth_properties.certificate_authority_arn #=> String
+ # resp.directories[0].microsoft_entra_config.tenant_id #=> String
+ # resp.directories[0].microsoft_entra_config.application_config_secret_arn #=> String
# resp.directories[0].workspace_directory_name #=> String
# resp.directories[0].workspace_directory_description #=> String
- # resp.directories[0].user_identity_type #=> String, one of "CUSTOMER_MANAGED", "AWS_DIRECTORY_SERVICE"
+ # resp.directories[0].user_identity_type #=> String, one of "CUSTOMER_MANAGED", "AWS_DIRECTORY_SERVICE", "AWS_IAM_IDENTITY_CENTER"
# resp.directories[0].workspace_type #=> String, one of "PERSONAL", "POOLS"
+ # resp.directories[0].idc_config.instance_arn #=> String
+ # resp.directories[0].idc_config.application_arn #=> String
# resp.directories[0].active_directory_config.domain_name #=> String
# resp.directories[0].active_directory_config.service_account_secret_arn #=> String
# resp.directories[0].streaming_properties.streaming_experience_preferred_protocol #=> String, one of "TCP", "UDP"
@@ -4047,6 +4060,12 @@ def rebuild_workspaces(params = {}, options = {})
# @option params [String] :user_identity_type
# The type of identity management the user is using.
#
+ # @option params [String] :idc_instance_arn
+ # The Amazon Resource Name (ARN) of the identity center instance.
+ #
+ # @option params [Types::MicrosoftEntraConfig] :microsoft_entra_config
+ # The details about Microsoft Entra config.
+ #
# @option params [String] :workspace_type
# Indicates whether the directory's WorkSpace type is personal or
# pools.
@@ -4075,7 +4094,12 @@ def rebuild_workspaces(params = {}, options = {})
# ],
# workspace_directory_name: "WorkspaceDirectoryName",
# workspace_directory_description: "WorkspaceDirectoryDescription",
- # user_identity_type: "CUSTOMER_MANAGED", # accepts CUSTOMER_MANAGED, AWS_DIRECTORY_SERVICE
+ # user_identity_type: "CUSTOMER_MANAGED", # accepts CUSTOMER_MANAGED, AWS_DIRECTORY_SERVICE, AWS_IAM_IDENTITY_CENTER
+ # idc_instance_arn: "ARN",
+ # microsoft_entra_config: {
+ # tenant_id: "MicrosoftEntraConfigTenantId",
+ # application_config_secret_arn: "SecretsManagerArn",
+ # },
# workspace_type: "PERSONAL", # accepts PERSONAL, POOLS
# active_directory_config: {
# domain_name: "DomainName", # required
@@ -4753,7 +4777,7 @@ def build_request(operation_name, params = {})
params: params,
config: config)
context[:gem_name] = 'aws-sdk-workspaces'
- context[:gem_version] = '1.112.0'
+ context[:gem_version] = '1.113.0'
Seahorse::Client::Request.new(handlers, context)
end
diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb
index f95a598dbd3..f0e3141cee9 100644
--- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb
+++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/client_api.rb
@@ -191,6 +191,11 @@ module ClientApi
DescribeWorkspaceAssociationsResult = Shapes::StructureShape.new(name: 'DescribeWorkspaceAssociationsResult')
DescribeWorkspaceBundlesRequest = Shapes::StructureShape.new(name: 'DescribeWorkspaceBundlesRequest')
DescribeWorkspaceBundlesResult = Shapes::StructureShape.new(name: 'DescribeWorkspaceBundlesResult')
+ DescribeWorkspaceDirectoriesFilter = Shapes::StructureShape.new(name: 'DescribeWorkspaceDirectoriesFilter')
+ DescribeWorkspaceDirectoriesFilterList = Shapes::ListShape.new(name: 'DescribeWorkspaceDirectoriesFilterList')
+ DescribeWorkspaceDirectoriesFilterName = Shapes::StringShape.new(name: 'DescribeWorkspaceDirectoriesFilterName')
+ DescribeWorkspaceDirectoriesFilterValue = Shapes::StringShape.new(name: 'DescribeWorkspaceDirectoriesFilterValue')
+ DescribeWorkspaceDirectoriesFilterValues = Shapes::ListShape.new(name: 'DescribeWorkspaceDirectoriesFilterValues')
DescribeWorkspaceDirectoriesRequest = Shapes::StructureShape.new(name: 'DescribeWorkspaceDirectoriesRequest')
DescribeWorkspaceDirectoriesResult = Shapes::StructureShape.new(name: 'DescribeWorkspaceDirectoriesResult')
DescribeWorkspaceImagePermissionsRequest = Shapes::StructureShape.new(name: 'DescribeWorkspaceImagePermissionsRequest')
@@ -247,6 +252,7 @@ module ClientApi
FailedWorkspaceChangeRequest = Shapes::StructureShape.new(name: 'FailedWorkspaceChangeRequest')
GetAccountLinkRequest = Shapes::StructureShape.new(name: 'GetAccountLinkRequest')
GetAccountLinkResult = Shapes::StructureShape.new(name: 'GetAccountLinkResult')
+ IDCConfig = Shapes::StructureShape.new(name: 'IDCConfig')
IdleDisconnectTimeoutInSeconds = Shapes::IntegerShape.new(name: 'IdleDisconnectTimeoutInSeconds')
ImageAssociatedResourceType = Shapes::StringShape.new(name: 'ImageAssociatedResourceType')
ImageAssociatedResourceTypeList = Shapes::ListShape.new(name: 'ImageAssociatedResourceTypeList')
@@ -292,6 +298,8 @@ module ClientApi
ManagementCidrRangeMaxResults = Shapes::IntegerShape.new(name: 'ManagementCidrRangeMaxResults')
MaxUserDurationInSeconds = Shapes::IntegerShape.new(name: 'MaxUserDurationInSeconds')
MaximumLength = Shapes::IntegerShape.new(name: 'MaximumLength')
+ MicrosoftEntraConfig = Shapes::StructureShape.new(name: 'MicrosoftEntraConfig')
+ MicrosoftEntraConfigTenantId = Shapes::StringShape.new(name: 'MicrosoftEntraConfigTenantId')
MigrateWorkspaceRequest = Shapes::StructureShape.new(name: 'MigrateWorkspaceRequest')
MigrateWorkspaceResult = Shapes::StructureShape.new(name: 'MigrateWorkspaceResult')
ModificationResourceEnum = Shapes::StringShape.new(name: 'ModificationResourceEnum')
@@ -1013,10 +1021,19 @@ module ClientApi
DescribeWorkspaceBundlesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
DescribeWorkspaceBundlesResult.struct_class = Types::DescribeWorkspaceBundlesResult
+ DescribeWorkspaceDirectoriesFilter.add_member(:name, Shapes::ShapeRef.new(shape: DescribeWorkspaceDirectoriesFilterName, required: true, location_name: "Name"))
+ DescribeWorkspaceDirectoriesFilter.add_member(:values, Shapes::ShapeRef.new(shape: DescribeWorkspaceDirectoriesFilterValues, required: true, location_name: "Values"))
+ DescribeWorkspaceDirectoriesFilter.struct_class = Types::DescribeWorkspaceDirectoriesFilter
+
+ DescribeWorkspaceDirectoriesFilterList.member = Shapes::ShapeRef.new(shape: DescribeWorkspaceDirectoriesFilter)
+
+ DescribeWorkspaceDirectoriesFilterValues.member = Shapes::ShapeRef.new(shape: DescribeWorkspaceDirectoriesFilterValue)
+
DescribeWorkspaceDirectoriesRequest.add_member(:directory_ids, Shapes::ShapeRef.new(shape: DirectoryIdList, location_name: "DirectoryIds"))
DescribeWorkspaceDirectoriesRequest.add_member(:workspace_directory_names, Shapes::ShapeRef.new(shape: WorkspaceDirectoryNameList, location_name: "WorkspaceDirectoryNames"))
DescribeWorkspaceDirectoriesRequest.add_member(:limit, Shapes::ShapeRef.new(shape: Limit, location_name: "Limit"))
DescribeWorkspaceDirectoriesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
+ DescribeWorkspaceDirectoriesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: DescribeWorkspaceDirectoriesFilterList, location_name: "Filters"))
DescribeWorkspaceDirectoriesRequest.struct_class = Types::DescribeWorkspaceDirectoriesRequest
DescribeWorkspaceDirectoriesResult.add_member(:directories, Shapes::ShapeRef.new(shape: DirectoryList, location_name: "Directories"))
@@ -1166,6 +1183,10 @@ module ClientApi
GetAccountLinkResult.add_member(:account_link, Shapes::ShapeRef.new(shape: AccountLink, location_name: "AccountLink"))
GetAccountLinkResult.struct_class = Types::GetAccountLinkResult
+ IDCConfig.add_member(:instance_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "InstanceArn"))
+ IDCConfig.add_member(:application_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ApplicationArn"))
+ IDCConfig.struct_class = Types::IDCConfig
+
ImageAssociatedResourceTypeList.member = Shapes::ShapeRef.new(shape: ImageAssociatedResourceType)
ImagePermission.add_member(:shared_account_id, Shapes::ShapeRef.new(shape: AwsAccount, location_name: "SharedAccountId"))
@@ -1274,6 +1295,10 @@ module ClientApi
LoginMessage.key = Shapes::ShapeRef.new(shape: ClientLocale)
LoginMessage.value = Shapes::ShapeRef.new(shape: ClientLoginMessage)
+ MicrosoftEntraConfig.add_member(:tenant_id, Shapes::ShapeRef.new(shape: MicrosoftEntraConfigTenantId, location_name: "TenantId"))
+ MicrosoftEntraConfig.add_member(:application_config_secret_arn, Shapes::ShapeRef.new(shape: SecretsManagerArn, location_name: "ApplicationConfigSecretArn"))
+ MicrosoftEntraConfig.struct_class = Types::MicrosoftEntraConfig
+
MigrateWorkspaceRequest.add_member(:source_workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "SourceWorkspaceId"))
MigrateWorkspaceRequest.add_member(:bundle_id, Shapes::ShapeRef.new(shape: BundleId, required: true, location_name: "BundleId"))
MigrateWorkspaceRequest.struct_class = Types::MigrateWorkspaceRequest
@@ -1410,6 +1435,8 @@ module ClientApi
RegisterWorkspaceDirectoryRequest.add_member(:workspace_directory_name, Shapes::ShapeRef.new(shape: WorkspaceDirectoryName, location_name: "WorkspaceDirectoryName"))
RegisterWorkspaceDirectoryRequest.add_member(:workspace_directory_description, Shapes::ShapeRef.new(shape: WorkspaceDirectoryDescription, location_name: "WorkspaceDirectoryDescription"))
RegisterWorkspaceDirectoryRequest.add_member(:user_identity_type, Shapes::ShapeRef.new(shape: UserIdentityType, location_name: "UserIdentityType"))
+ RegisterWorkspaceDirectoryRequest.add_member(:idc_instance_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "IdcInstanceArn"))
+ RegisterWorkspaceDirectoryRequest.add_member(:microsoft_entra_config, Shapes::ShapeRef.new(shape: MicrosoftEntraConfig, location_name: "MicrosoftEntraConfig"))
RegisterWorkspaceDirectoryRequest.add_member(:workspace_type, Shapes::ShapeRef.new(shape: WorkspaceType, location_name: "WorkspaceType"))
RegisterWorkspaceDirectoryRequest.add_member(:active_directory_config, Shapes::ShapeRef.new(shape: ActiveDirectoryConfig, location_name: "ActiveDirectoryConfig"))
RegisterWorkspaceDirectoryRequest.struct_class = Types::RegisterWorkspaceDirectoryRequest
@@ -1753,10 +1780,12 @@ module ClientApi
WorkspaceDirectory.add_member(:selfservice_permissions, Shapes::ShapeRef.new(shape: SelfservicePermissions, location_name: "SelfservicePermissions"))
WorkspaceDirectory.add_member(:saml_properties, Shapes::ShapeRef.new(shape: SamlProperties, location_name: "SamlProperties"))
WorkspaceDirectory.add_member(:certificate_based_auth_properties, Shapes::ShapeRef.new(shape: CertificateBasedAuthProperties, location_name: "CertificateBasedAuthProperties"))
+ WorkspaceDirectory.add_member(:microsoft_entra_config, Shapes::ShapeRef.new(shape: MicrosoftEntraConfig, location_name: "MicrosoftEntraConfig"))
WorkspaceDirectory.add_member(:workspace_directory_name, Shapes::ShapeRef.new(shape: WorkspaceDirectoryName, location_name: "WorkspaceDirectoryName"))
WorkspaceDirectory.add_member(:workspace_directory_description, Shapes::ShapeRef.new(shape: WorkspaceDirectoryDescription, location_name: "WorkspaceDirectoryDescription"))
WorkspaceDirectory.add_member(:user_identity_type, Shapes::ShapeRef.new(shape: UserIdentityType, location_name: "UserIdentityType"))
WorkspaceDirectory.add_member(:workspace_type, Shapes::ShapeRef.new(shape: WorkspaceType, location_name: "WorkspaceType"))
+ WorkspaceDirectory.add_member(:idc_config, Shapes::ShapeRef.new(shape: IDCConfig, location_name: "IDCConfig"))
WorkspaceDirectory.add_member(:active_directory_config, Shapes::ShapeRef.new(shape: ActiveDirectoryConfig, location_name: "ActiveDirectoryConfig"))
WorkspaceDirectory.add_member(:streaming_properties, Shapes::ShapeRef.new(shape: StreamingProperties, location_name: "StreamingProperties"))
WorkspaceDirectory.add_member(:error_message, Shapes::ShapeRef.new(shape: Description, location_name: "ErrorMessage"))
diff --git a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/types.rb b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/types.rb
index 0b16a9a7ea6..0e5bc898d46 100644
--- a/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/types.rb
+++ b/gems/aws-sdk-workspaces/lib/aws-sdk-workspaces/types.rb
@@ -2243,6 +2243,25 @@ class DescribeWorkspaceBundlesResult < Struct.new(
include Aws::Structure
end
+ # Describes the filter conditions for the WorkSpaces to return.
+ #
+ # @!attribute [rw] name
+ # The name of the WorkSpaces to filter.
+ # @return [String]
+ #
+ # @!attribute [rw] values
+ # The values for filtering WorkSpaces
+ # @return [Array]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceDirectoriesFilter AWS API Documentation
+ #
+ class DescribeWorkspaceDirectoriesFilter < Struct.new(
+ :name,
+ :values)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
# @!attribute [rw] directory_ids
# The identifiers of the directories. If the value is null, all
# directories are retrieved.
@@ -2261,13 +2280,18 @@ class DescribeWorkspaceBundlesResult < Struct.new(
# paginated, provide this token to receive the next set of results.
# @return [String]
#
+ # @!attribute [rw] filters
+ # The filter condition for the WorkSpaces.
+ # @return [Array]
+ #
# @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceDirectoriesRequest AWS API Documentation
#
class DescribeWorkspaceDirectoriesRequest < Struct.new(
:directory_ids,
:workspace_directory_names,
:limit,
- :next_token)
+ :next_token,
+ :filters)
SENSITIVE = []
include Aws::Structure
end
@@ -2837,6 +2861,25 @@ class GetAccountLinkResult < Struct.new(
include Aws::Structure
end
+ # Specifies the configurations of the identity center.
+ #
+ # @!attribute [rw] instance_arn
+ # The Amazon Resource Name (ARN) of the identity center instance.
+ # @return [String]
+ #
+ # @!attribute [rw] application_arn
+ # The Amazon Resource Name (ARN) of the application.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/IDCConfig AWS API Documentation
+ #
+ class IDCConfig < Struct.new(
+ :instance_arn,
+ :application_arn)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
# Describes the Amazon Web Services accounts that have been granted
# permission to use a shared image. For more information about sharing
# images, see [ Share or Unshare a Custom WorkSpaces Image][1].
@@ -3414,6 +3457,25 @@ class ListAvailableManagementCidrRangesResult < Struct.new(
include Aws::Structure
end
+ # Specifies the configurations of the Microsoft Entra.
+ #
+ # @!attribute [rw] tenant_id
+ # The identifier of the tenant.
+ # @return [String]
+ #
+ # @!attribute [rw] application_config_secret_arn
+ # The Amazon Resource Name (ARN) of the application config.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/MicrosoftEntraConfig AWS API Documentation
+ #
+ class MicrosoftEntraConfig < Struct.new(
+ :tenant_id,
+ :application_config_secret_arn)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
# @!attribute [rw] source_workspace_id
# The identifier of the WorkSpace to migrate from.
# @return [String]
@@ -3960,6 +4022,14 @@ class RebuildWorkspacesResult < Struct.new(
# The type of identity management the user is using.
# @return [String]
#
+ # @!attribute [rw] idc_instance_arn
+ # The Amazon Resource Name (ARN) of the identity center instance.
+ # @return [String]
+ #
+ # @!attribute [rw] microsoft_entra_config
+ # The details about Microsoft Entra config.
+ # @return [Types::MicrosoftEntraConfig]
+ #
# @!attribute [rw] workspace_type
# Indicates whether the directory's WorkSpace type is personal or
# pools.
@@ -3981,6 +4051,8 @@ class RegisterWorkspaceDirectoryRequest < Struct.new(
:workspace_directory_name,
:workspace_directory_description,
:user_identity_type,
+ :idc_instance_arn,
+ :microsoft_entra_config,
:workspace_type,
:active_directory_config)
SENSITIVE = []
@@ -5569,6 +5641,10 @@ class WorkspaceCreationProperties < Struct.new(
# for WorkSpaces login.
# @return [Types::CertificateBasedAuthProperties]
#
+ # @!attribute [rw] microsoft_entra_config
+ # Specifies details about Microsoft Entra configurations.
+ # @return [Types::MicrosoftEntraConfig]
+ #
# @!attribute [rw] workspace_directory_name
# The name fo the WorkSpace directory.
# @return [String]
@@ -5586,6 +5662,10 @@ class WorkspaceCreationProperties < Struct.new(
# pools.
# @return [String]
#
+ # @!attribute [rw] idc_config
+ # Specifies details about identity center configurations.
+ # @return [Types::IDCConfig]
+ #
# @!attribute [rw] active_directory_config
# Information about the Active Directory config.
# @return [Types::ActiveDirectoryConfig]
@@ -5619,10 +5699,12 @@ class WorkspaceDirectory < Struct.new(
:selfservice_permissions,
:saml_properties,
:certificate_based_auth_properties,
+ :microsoft_entra_config,
:workspace_directory_name,
:workspace_directory_description,
:user_identity_type,
:workspace_type,
+ :idc_config,
:active_directory_config,
:streaming_properties,
:error_message)
diff --git a/gems/aws-sdk-workspaces/sig/client.rbs b/gems/aws-sdk-workspaces/sig/client.rbs
index f3111297400..e5e240b1dbe 100644
--- a/gems/aws-sdk-workspaces/sig/client.rbs
+++ b/gems/aws-sdk-workspaces/sig/client.rbs
@@ -685,7 +685,13 @@ module Aws
?directory_ids: Array[::String],
?workspace_directory_names: Array[::String],
?limit: ::Integer,
- ?next_token: ::String
+ ?next_token: ::String,
+ ?filters: Array[
+ {
+ name: ("USER_IDENTITY_TYPE" | "WORKSPACE_TYPE"),
+ values: Array[::String]
+ },
+ ]
) -> _DescribeWorkspaceDirectoriesResponseSuccess
| (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeWorkspaceDirectoriesResponseSuccess
@@ -1156,7 +1162,12 @@ module Aws
],
?workspace_directory_name: ::String,
?workspace_directory_description: ::String,
- ?user_identity_type: ("CUSTOMER_MANAGED" | "AWS_DIRECTORY_SERVICE"),
+ ?user_identity_type: ("CUSTOMER_MANAGED" | "AWS_DIRECTORY_SERVICE" | "AWS_IAM_IDENTITY_CENTER"),
+ ?idc_instance_arn: ::String,
+ ?microsoft_entra_config: {
+ tenant_id: ::String?,
+ application_config_secret_arn: ::String?
+ },
?workspace_type: ("PERSONAL" | "POOLS"),
?active_directory_config: {
domain_name: ::String,
diff --git a/gems/aws-sdk-workspaces/sig/types.rbs b/gems/aws-sdk-workspaces/sig/types.rbs
index f7234646c0e..0ce781ba2fa 100644
--- a/gems/aws-sdk-workspaces/sig/types.rbs
+++ b/gems/aws-sdk-workspaces/sig/types.rbs
@@ -677,11 +677,18 @@ module Aws::WorkSpaces
SENSITIVE: []
end
+ class DescribeWorkspaceDirectoriesFilter
+ attr_accessor name: ("USER_IDENTITY_TYPE" | "WORKSPACE_TYPE")
+ attr_accessor values: ::Array[::String]
+ SENSITIVE: []
+ end
+
class DescribeWorkspaceDirectoriesRequest
attr_accessor directory_ids: ::Array[::String]
attr_accessor workspace_directory_names: ::Array[::String]
attr_accessor limit: ::Integer
attr_accessor next_token: ::String
+ attr_accessor filters: ::Array[Types::DescribeWorkspaceDirectoriesFilter]
SENSITIVE: []
end
@@ -860,6 +867,12 @@ module Aws::WorkSpaces
SENSITIVE: []
end
+ class IDCConfig
+ attr_accessor instance_arn: ::String
+ attr_accessor application_arn: ::String
+ SENSITIVE: []
+ end
+
class ImagePermission
attr_accessor shared_account_id: ::String
SENSITIVE: []
@@ -984,6 +997,12 @@ module Aws::WorkSpaces
SENSITIVE: []
end
+ class MicrosoftEntraConfig
+ attr_accessor tenant_id: ::String
+ attr_accessor application_config_secret_arn: ::String
+ SENSITIVE: []
+ end
+
class MigrateWorkspaceRequest
attr_accessor source_workspace_id: ::String
attr_accessor bundle_id: ::String
@@ -1167,7 +1186,9 @@ module Aws::WorkSpaces
attr_accessor tags: ::Array[Types::Tag]
attr_accessor workspace_directory_name: ::String
attr_accessor workspace_directory_description: ::String
- attr_accessor user_identity_type: ("CUSTOMER_MANAGED" | "AWS_DIRECTORY_SERVICE")
+ attr_accessor user_identity_type: ("CUSTOMER_MANAGED" | "AWS_DIRECTORY_SERVICE" | "AWS_IAM_IDENTITY_CENTER")
+ attr_accessor idc_instance_arn: ::String
+ attr_accessor microsoft_entra_config: Types::MicrosoftEntraConfig
attr_accessor workspace_type: ("PERSONAL" | "POOLS")
attr_accessor active_directory_config: Types::ActiveDirectoryConfig
SENSITIVE: []
@@ -1592,7 +1613,7 @@ module Aws::WorkSpaces
attr_accessor dns_ip_addresses: ::Array[::String]
attr_accessor customer_user_name: ::String
attr_accessor iam_role_id: ::String
- attr_accessor directory_type: ("SIMPLE_AD" | "AD_CONNECTOR" | "CUSTOMER_MANAGED")
+ attr_accessor directory_type: ("SIMPLE_AD" | "AD_CONNECTOR" | "CUSTOMER_MANAGED" | "AWS_IAM_IDENTITY_CENTER")
attr_accessor workspace_security_group_id: ::String
attr_accessor state: ("REGISTERING" | "REGISTERED" | "DEREGISTERING" | "DEREGISTERED" | "ERROR")
attr_accessor workspace_creation_properties: Types::DefaultWorkspaceCreationProperties
@@ -1602,10 +1623,12 @@ module Aws::WorkSpaces
attr_accessor selfservice_permissions: Types::SelfservicePermissions
attr_accessor saml_properties: Types::SamlProperties
attr_accessor certificate_based_auth_properties: Types::CertificateBasedAuthProperties
+ attr_accessor microsoft_entra_config: Types::MicrosoftEntraConfig
attr_accessor workspace_directory_name: ::String
attr_accessor workspace_directory_description: ::String
- attr_accessor user_identity_type: ("CUSTOMER_MANAGED" | "AWS_DIRECTORY_SERVICE")
+ attr_accessor user_identity_type: ("CUSTOMER_MANAGED" | "AWS_DIRECTORY_SERVICE" | "AWS_IAM_IDENTITY_CENTER")
attr_accessor workspace_type: ("PERSONAL" | "POOLS")
+ attr_accessor idc_config: Types::IDCConfig
attr_accessor active_directory_config: Types::ActiveDirectoryConfig
attr_accessor streaming_properties: Types::StreamingProperties
attr_accessor error_message: ::String