Skip to content

Commit ebc9981

Browse files
author
awstools
committed
feat(client-iotsitewise): 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 parent 206a25b commit ebc9981

17 files changed

+1041
-463
lines changed

clients/client-iotsitewise/src/commands/CreateAssetModelCommand.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,14 @@ export interface CreateAssetModelCommandOutput extends CreateAssetModelResponse,
5757
* const client = new IoTSiteWiseClient(config);
5858
* const input = { // CreateAssetModelRequest
5959
* assetModelName: "STRING_VALUE", // required
60+
* assetModelType: "ASSET_MODEL" || "COMPONENT_MODEL",
61+
* assetModelId: "STRING_VALUE",
62+
* assetModelExternalId: "STRING_VALUE",
6063
* assetModelDescription: "STRING_VALUE",
6164
* assetModelProperties: [ // AssetModelPropertyDefinitions
6265
* { // AssetModelPropertyDefinition
66+
* id: "STRING_VALUE",
67+
* externalId: "STRING_VALUE",
6368
* name: "STRING_VALUE", // required
6469
* dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
6570
* dataTypeSpec: "STRING_VALUE",
@@ -127,25 +132,27 @@ export interface CreateAssetModelCommandOutput extends CreateAssetModelResponse,
127132
* },
128133
* },
129134
* },
130-
* id: "STRING_VALUE",
131-
* externalId: "STRING_VALUE",
132135
* },
133136
* ],
134137
* assetModelHierarchies: [ // AssetModelHierarchyDefinitions
135138
* { // AssetModelHierarchyDefinition
136-
* name: "STRING_VALUE", // required
137-
* childAssetModelId: "STRING_VALUE", // required
138139
* id: "STRING_VALUE",
139140
* externalId: "STRING_VALUE",
141+
* name: "STRING_VALUE", // required
142+
* childAssetModelId: "STRING_VALUE", // required
140143
* },
141144
* ],
142145
* assetModelCompositeModels: [ // AssetModelCompositeModelDefinitions
143146
* { // AssetModelCompositeModelDefinition
147+
* id: "STRING_VALUE",
148+
* externalId: "STRING_VALUE",
144149
* name: "STRING_VALUE", // required
145150
* description: "STRING_VALUE",
146151
* type: "STRING_VALUE", // required
147152
* properties: [
148153
* {
154+
* id: "STRING_VALUE",
155+
* externalId: "STRING_VALUE",
149156
* name: "STRING_VALUE", // required
150157
* dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
151158
* dataTypeSpec: "STRING_VALUE",
@@ -213,21 +220,14 @@ export interface CreateAssetModelCommandOutput extends CreateAssetModelResponse,
213220
* },
214221
* },
215222
* },
216-
* id: "STRING_VALUE",
217-
* externalId: "STRING_VALUE",
218223
* },
219224
* ],
220-
* id: "STRING_VALUE",
221-
* externalId: "STRING_VALUE",
222225
* },
223226
* ],
224227
* clientToken: "STRING_VALUE",
225228
* tags: { // TagMap
226229
* "<keys>": "STRING_VALUE",
227230
* },
228-
* assetModelId: "STRING_VALUE",
229-
* assetModelExternalId: "STRING_VALUE",
230-
* assetModelType: "ASSET_MODEL" || "COMPONENT_MODEL",
231231
* };
232232
* const command = new CreateAssetModelCommand(input);
233233
* const response = await client.send(command);

clients/client-iotsitewise/src/commands/CreateAssetModelCompositeModelCommand.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ export interface CreateAssetModelCompositeModelCommandOutput
5858
* const client = new IoTSiteWiseClient(config);
5959
* const input = { // CreateAssetModelCompositeModelRequest
6060
* assetModelId: "STRING_VALUE", // required
61-
* parentAssetModelCompositeModelId: "STRING_VALUE",
6261
* assetModelCompositeModelExternalId: "STRING_VALUE",
62+
* parentAssetModelCompositeModelId: "STRING_VALUE",
6363
* assetModelCompositeModelId: "STRING_VALUE",
6464
* assetModelCompositeModelDescription: "STRING_VALUE",
6565
* assetModelCompositeModelName: "STRING_VALUE", // required
@@ -68,6 +68,8 @@ export interface CreateAssetModelCompositeModelCommandOutput
6868
* composedAssetModelId: "STRING_VALUE",
6969
* assetModelCompositeModelProperties: [ // AssetModelPropertyDefinitions
7070
* { // AssetModelPropertyDefinition
71+
* id: "STRING_VALUE",
72+
* externalId: "STRING_VALUE",
7173
* name: "STRING_VALUE", // required
7274
* dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
7375
* dataTypeSpec: "STRING_VALUE",
@@ -135,10 +137,11 @@ export interface CreateAssetModelCompositeModelCommandOutput
135137
* },
136138
* },
137139
* },
138-
* id: "STRING_VALUE",
139-
* externalId: "STRING_VALUE",
140140
* },
141141
* ],
142+
* ifMatch: "STRING_VALUE",
143+
* ifNoneMatch: "STRING_VALUE",
144+
* matchForVersionType: "LATEST" || "ACTIVE",
142145
* };
143146
* const command = new CreateAssetModelCompositeModelCommand(input);
144147
* const response = await client.send(command);
@@ -190,6 +193,9 @@ export interface CreateAssetModelCompositeModelCommandOutput
190193
* allowed number of properties for an asset model.</p>
191194
* <p>For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html">Quotas</a> in the <i>IoT SiteWise User Guide</i>.</p>
192195
*
196+
* @throws {@link PreconditionFailedException} (client fault)
197+
* <p>The precondition in one or more of the request-header fields evaluated to <code>FALSE</code>.</p>
198+
*
193199
* @throws {@link ResourceAlreadyExistsException} (client fault)
194200
* <p>The resource already exists.</p>
195201
*

clients/client-iotsitewise/src/commands/DeleteAssetModelCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ export interface DeleteAssetModelCommandOutput extends DeleteAssetModelResponse,
4242
* const input = { // DeleteAssetModelRequest
4343
* assetModelId: "STRING_VALUE", // required
4444
* clientToken: "STRING_VALUE",
45+
* ifMatch: "STRING_VALUE",
46+
* ifNoneMatch: "STRING_VALUE",
47+
* matchForVersionType: "LATEST" || "ACTIVE",
4548
* };
4649
* const command = new DeleteAssetModelCommand(input);
4750
* const response = await client.send(command);
@@ -80,6 +83,9 @@ export interface DeleteAssetModelCommandOutput extends DeleteAssetModelResponse,
8083
* <p>The request isn't valid. This can occur if your request contains malformed JSON or
8184
* unsupported characters. Check your request and try again.</p>
8285
*
86+
* @throws {@link PreconditionFailedException} (client fault)
87+
* <p>The precondition in one or more of the request-header fields evaluated to <code>FALSE</code>.</p>
88+
*
8389
* @throws {@link ResourceNotFoundException} (client fault)
8490
* <p>The requested resource can't be found.</p>
8591
*

clients/client-iotsitewise/src/commands/DeleteAssetModelCompositeModelCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ export interface DeleteAssetModelCompositeModelCommandOutput
4848
* assetModelId: "STRING_VALUE", // required
4949
* assetModelCompositeModelId: "STRING_VALUE", // required
5050
* clientToken: "STRING_VALUE",
51+
* ifMatch: "STRING_VALUE",
52+
* ifNoneMatch: "STRING_VALUE",
53+
* matchForVersionType: "LATEST" || "ACTIVE",
5154
* };
5255
* const command = new DeleteAssetModelCompositeModelCommand(input);
5356
* const response = await client.send(command);
@@ -86,6 +89,9 @@ export interface DeleteAssetModelCompositeModelCommandOutput
8689
* <p>The request isn't valid. This can occur if your request contains malformed JSON or
8790
* unsupported characters. Check your request and try again.</p>
8891
*
92+
* @throws {@link PreconditionFailedException} (client fault)
93+
* <p>The precondition in one or more of the request-header fields evaluated to <code>FALSE</code>.</p>
94+
*
8995
* @throws {@link ResourceNotFoundException} (client fault)
9096
* <p>The requested resource can't be found.</p>
9197
*

clients/client-iotsitewise/src/commands/DescribeAssetModelCommand.ts

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,21 @@ export interface DescribeAssetModelCommandOutput extends DescribeAssetModelRespo
3838
* const input = { // DescribeAssetModelRequest
3939
* assetModelId: "STRING_VALUE", // required
4040
* excludeProperties: true || false,
41+
* assetModelVersion: "STRING_VALUE",
4142
* };
4243
* const command = new DescribeAssetModelCommand(input);
4344
* const response = await client.send(command);
4445
* // { // DescribeAssetModelResponse
4546
* // assetModelId: "STRING_VALUE", // required
47+
* // assetModelExternalId: "STRING_VALUE",
4648
* // assetModelArn: "STRING_VALUE", // required
4749
* // assetModelName: "STRING_VALUE", // required
50+
* // assetModelType: "ASSET_MODEL" || "COMPONENT_MODEL",
4851
* // assetModelDescription: "STRING_VALUE", // required
4952
* // assetModelProperties: [ // AssetModelProperties // required
5053
* // { // AssetModelProperty
5154
* // id: "STRING_VALUE",
55+
* // externalId: "STRING_VALUE",
5256
* // name: "STRING_VALUE", // required
5357
* // dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
5458
* // dataTypeSpec: "STRING_VALUE",
@@ -122,15 +126,14 @@ export interface DescribeAssetModelCommandOutput extends DescribeAssetModelRespo
122126
* // name: "STRING_VALUE",
123127
* // },
124128
* // ],
125-
* // externalId: "STRING_VALUE",
126129
* // },
127130
* // ],
128131
* // assetModelHierarchies: [ // AssetModelHierarchies // required
129132
* // { // AssetModelHierarchy
130133
* // id: "STRING_VALUE",
134+
* // externalId: "STRING_VALUE",
131135
* // name: "STRING_VALUE", // required
132136
* // childAssetModelId: "STRING_VALUE", // required
133-
* // externalId: "STRING_VALUE",
134137
* // },
135138
* // ],
136139
* // assetModelCompositeModels: [ // AssetModelCompositeModels
@@ -141,6 +144,7 @@ export interface DescribeAssetModelCommandOutput extends DescribeAssetModelRespo
141144
* // properties: [
142145
* // {
143146
* // id: "STRING_VALUE",
147+
* // externalId: "STRING_VALUE",
144148
* // name: "STRING_VALUE", // required
145149
* // dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
146150
* // dataTypeSpec: "STRING_VALUE",
@@ -199,29 +203,12 @@ export interface DescribeAssetModelCommandOutput extends DescribeAssetModelRespo
199203
* // },
200204
* // },
201205
* // path: "<AssetModelPropertyPath>",
202-
* // externalId: "STRING_VALUE",
203206
* // },
204207
* // ],
205208
* // id: "STRING_VALUE",
206209
* // externalId: "STRING_VALUE",
207210
* // },
208211
* // ],
209-
* // assetModelCreationDate: new Date("TIMESTAMP"), // required
210-
* // assetModelLastUpdateDate: new Date("TIMESTAMP"), // required
211-
* // assetModelStatus: { // AssetModelStatus
212-
* // state: "CREATING" || "ACTIVE" || "UPDATING" || "PROPAGATING" || "DELETING" || "FAILED", // required
213-
* // error: { // ErrorDetails
214-
* // code: "VALIDATION_ERROR" || "INTERNAL_FAILURE", // required
215-
* // message: "STRING_VALUE", // required
216-
* // details: [ // DetailedErrors
217-
* // { // DetailedError
218-
* // code: "INCOMPATIBLE_COMPUTE_LOCATION" || "INCOMPATIBLE_FORWARDING_CONFIGURATION", // required
219-
* // message: "STRING_VALUE", // required
220-
* // },
221-
* // ],
222-
* // },
223-
* // },
224-
* // assetModelType: "ASSET_MODEL" || "COMPONENT_MODEL",
225212
* // assetModelCompositeModelSummaries: [ // AssetModelCompositeModelSummaries
226213
* // { // AssetModelCompositeModelSummary
227214
* // id: "STRING_VALUE", // required
@@ -237,7 +224,23 @@ export interface DescribeAssetModelCommandOutput extends DescribeAssetModelRespo
237224
* // ],
238225
* // },
239226
* // ],
240-
* // assetModelExternalId: "STRING_VALUE",
227+
* // assetModelCreationDate: new Date("TIMESTAMP"), // required
228+
* // assetModelLastUpdateDate: new Date("TIMESTAMP"), // required
229+
* // assetModelStatus: { // AssetModelStatus
230+
* // state: "CREATING" || "ACTIVE" || "UPDATING" || "PROPAGATING" || "DELETING" || "FAILED", // required
231+
* // error: { // ErrorDetails
232+
* // code: "VALIDATION_ERROR" || "INTERNAL_FAILURE", // required
233+
* // message: "STRING_VALUE", // required
234+
* // details: [ // DetailedErrors
235+
* // { // DetailedError
236+
* // code: "INCOMPATIBLE_COMPUTE_LOCATION" || "INCOMPATIBLE_FORWARDING_CONFIGURATION", // required
237+
* // message: "STRING_VALUE", // required
238+
* // },
239+
* // ],
240+
* // },
241+
* // },
242+
* // assetModelVersion: "STRING_VALUE",
243+
* // eTag: "STRING_VALUE",
241244
* // };
242245
*
243246
* ```

clients/client-iotsitewise/src/commands/DescribeAssetModelCompositeModelCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export interface DescribeAssetModelCompositeModelCommandOutput
4545
* const input = { // DescribeAssetModelCompositeModelRequest
4646
* assetModelId: "STRING_VALUE", // required
4747
* assetModelCompositeModelId: "STRING_VALUE", // required
48+
* assetModelVersion: "STRING_VALUE",
4849
* };
4950
* const command = new DescribeAssetModelCompositeModelCommand(input);
5051
* const response = await client.send(command);
@@ -64,6 +65,7 @@ export interface DescribeAssetModelCompositeModelCommandOutput
6465
* // assetModelCompositeModelProperties: [ // AssetModelProperties // required
6566
* // { // AssetModelProperty
6667
* // id: "STRING_VALUE",
68+
* // externalId: "STRING_VALUE",
6769
* // name: "STRING_VALUE", // required
6870
* // dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
6971
* // dataTypeSpec: "STRING_VALUE",
@@ -137,7 +139,6 @@ export interface DescribeAssetModelCompositeModelCommandOutput
137139
* // name: "STRING_VALUE",
138140
* // },
139141
* // ],
140-
* // externalId: "STRING_VALUE",
141142
* // },
142143
* // ],
143144
* // compositionDetails: { // CompositionDetails

clients/client-iotsitewise/src/commands/ListAssetModelCompositeModelsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export interface ListAssetModelCompositeModelsCommandOutput
4444
* assetModelId: "STRING_VALUE", // required
4545
* nextToken: "STRING_VALUE",
4646
* maxResults: Number("int"),
47+
* assetModelVersion: "STRING_VALUE",
4748
* };
4849
* const command = new ListAssetModelCompositeModelsCommand(input);
4950
* const response = await client.send(command);

clients/client-iotsitewise/src/commands/ListAssetModelPropertiesCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@ export interface ListAssetModelPropertiesCommandOutput extends ListAssetModelPro
4242
* nextToken: "STRING_VALUE",
4343
* maxResults: Number("int"),
4444
* filter: "ALL" || "BASE",
45+
* assetModelVersion: "STRING_VALUE",
4546
* };
4647
* const command = new ListAssetModelPropertiesCommand(input);
4748
* const response = await client.send(command);
4849
* // { // ListAssetModelPropertiesResponse
4950
* // assetModelPropertySummaries: [ // AssetModelPropertySummaries // required
5051
* // { // AssetModelPropertySummary
5152
* // id: "STRING_VALUE",
53+
* // externalId: "STRING_VALUE",
5254
* // name: "STRING_VALUE", // required
5355
* // dataType: "STRING" || "INTEGER" || "DOUBLE" || "BOOLEAN" || "STRUCT", // required
5456
* // dataTypeSpec: "STRING_VALUE",
@@ -123,7 +125,6 @@ export interface ListAssetModelPropertiesCommandOutput extends ListAssetModelPro
123125
* // name: "STRING_VALUE",
124126
* // },
125127
* // ],
126-
* // externalId: "STRING_VALUE",
127128
* // },
128129
* // ],
129130
* // nextToken: "STRING_VALUE",

clients/client-iotsitewise/src/commands/ListAssetModelsCommand.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,23 @@ export interface ListAssetModelsCommandOutput extends ListAssetModelsResponse, _
3636
* // const { IoTSiteWiseClient, ListAssetModelsCommand } = require("@aws-sdk/client-iotsitewise"); // CommonJS import
3737
* const client = new IoTSiteWiseClient(config);
3838
* const input = { // ListAssetModelsRequest
39-
* nextToken: "STRING_VALUE",
40-
* maxResults: Number("int"),
4139
* assetModelTypes: [ // ListAssetModelsTypeFilter
4240
* "ASSET_MODEL" || "COMPONENT_MODEL",
4341
* ],
42+
* nextToken: "STRING_VALUE",
43+
* maxResults: Number("int"),
44+
* assetModelVersion: "STRING_VALUE",
4445
* };
4546
* const command = new ListAssetModelsCommand(input);
4647
* const response = await client.send(command);
4748
* // { // ListAssetModelsResponse
4849
* // assetModelSummaries: [ // AssetModelSummaries // required
4950
* // { // AssetModelSummary
5051
* // id: "STRING_VALUE", // required
52+
* // externalId: "STRING_VALUE",
5153
* // arn: "STRING_VALUE", // required
5254
* // name: "STRING_VALUE", // required
55+
* // assetModelType: "ASSET_MODEL" || "COMPONENT_MODEL",
5356
* // description: "STRING_VALUE", // required
5457
* // creationDate: new Date("TIMESTAMP"), // required
5558
* // lastUpdateDate: new Date("TIMESTAMP"), // required
@@ -66,8 +69,7 @@ export interface ListAssetModelsCommandOutput extends ListAssetModelsResponse, _
6669
* // ],
6770
* // },
6871
* // },
69-
* // assetModelType: "ASSET_MODEL" || "COMPONENT_MODEL",
70-
* // externalId: "STRING_VALUE",
72+
* // version: "STRING_VALUE",
7173
* // },
7274
* // ],
7375
* // nextToken: "STRING_VALUE",

clients/client-iotsitewise/src/commands/ListAssociatedAssetsCommand.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ export interface ListAssociatedAssetsCommandOutput extends ListAssociatedAssetsR
3232
* <p>You can use this operation to do the following:</p>
3333
* <ul>
3434
* <li>
35-
* <p>List child assets associated to a parent asset by a hierarchy that you specify.</p>
35+
* <p>
36+
* <code>CHILD</code> - List all child assets associated to the asset.</p>
3637
* </li>
3738
* <li>
38-
* <p>List an asset's parent asset.</p>
39+
* <p>
40+
* <code>PARENT</code> - List the asset's parent asset.</p>
3941
* </li>
4042
* </ul>
4143
* @example

clients/client-iotsitewise/src/commands/ListTimeSeriesCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
88
import { IoTSiteWiseClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTSiteWiseClient";
9-
import { ListTimeSeriesRequest } from "../models/models_0";
10-
import { ListTimeSeriesResponse } from "../models/models_1";
9+
import { ListTimeSeriesRequest, ListTimeSeriesResponse } from "../models/models_1";
1110
import { de_ListTimeSeriesCommand, se_ListTimeSeriesCommand } from "../protocols/Aws_restJson1";
1211

1312
/**

0 commit comments

Comments
 (0)