diff --git a/CHANGELOG.md b/CHANGELOG.md index 436896ebe96..6c941e5eae8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.48.2 (2023-11-21) +=== + +### Service Client Updates +* `service/cloudfront`: Updates service API, documentation, paginators, and examples + * This release adds support for CloudFront KeyValueStore, a globally managed key value datastore associated with CloudFront Functions. +* `service/cloudfront-keyvaluestore`: Adds new service +* `service/ec2`: Updates service documentation + * Documentation updates for Amazon EC2. +* `service/inspector-scan`: Adds new service +* `service/iotsitewise`: Updates service API, documentation, and paginators +* `service/iottwinmaker`: Updates service API, documentation, and paginators +* `service/s3`: Updates service API, documentation, and examples + * Add support for automatic date based partitioning in S3 Server Access Logs. + Release v1.48.1 (2023-11-20) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index e3418aacd24..0ed7eb779fe 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -32590,6 +32590,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, endpointKey{ Region: "sa-east-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 6ba526cc8d3..f968ac35c96 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.48.1" +const SDKVersion = "1.48.2" diff --git a/models/apis/cloudfront-keyvaluestore/2022-07-26/api-2.json b/models/apis/cloudfront-keyvaluestore/2022-07-26/api-2.json new file mode 100644 index 00000000000..c16640ebbce --- /dev/null +++ b/models/apis/cloudfront-keyvaluestore/2022-07-26/api-2.json @@ -0,0 +1,485 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-07-26", + "endpointPrefix":"cloudfront-keyvaluestore", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon CloudFront KeyValueStore", + "serviceId":"CloudFront KeyValueStore", + "signatureVersion":"v4", + "signingName":"cloudfront-keyvaluestore", + "uid":"cloudfront-keyvaluestore-2022-07-26" + }, + "operations":{ + "DeleteKey":{ + "name":"DeleteKey", + "http":{ + "method":"DELETE", + "requestUri":"/key-value-stores/{KvsARN}/keys/{Key}", + "responseCode":200 + }, + "input":{"shape":"DeleteKeyRequest"}, + "output":{"shape":"DeleteKeyResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "DescribeKeyValueStore":{ + "name":"DescribeKeyValueStore", + "http":{ + "method":"GET", + "requestUri":"/key-value-stores/{KvsARN}", + "responseCode":200 + }, + "input":{"shape":"DescribeKeyValueStoreRequest"}, + "output":{"shape":"DescribeKeyValueStoreResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetKey":{ + "name":"GetKey", + "http":{ + "method":"GET", + "requestUri":"/key-value-stores/{KvsARN}/keys/{Key}", + "responseCode":200 + }, + "input":{"shape":"GetKeyRequest"}, + "output":{"shape":"GetKeyResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListKeys":{ + "name":"ListKeys", + "http":{ + "method":"GET", + "requestUri":"/key-value-stores/{KvsARN}/keys", + "responseCode":200 + }, + "input":{"shape":"ListKeysRequest"}, + "output":{"shape":"ListKeysResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ] + }, + "PutKey":{ + "name":"PutKey", + "http":{ + "method":"PUT", + "requestUri":"/key-value-stores/{KvsARN}/keys/{Key}", + "responseCode":200 + }, + "input":{"shape":"PutKeyRequest"}, + "output":{"shape":"PutKeyResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "UpdateKeys":{ + "name":"UpdateKeys", + "http":{ + "method":"POST", + "requestUri":"/key-value-stores/{KvsARN}/keys", + "responseCode":200 + }, + "input":{"shape":"UpdateKeysRequest"}, + "output":{"shape":"UpdateKeysResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "DeleteKeyRequest":{ + "type":"structure", + "required":[ + "KvsARN", + "Key", + "IfMatch" + ], + "members":{ + "KvsARN":{ + "shape":"KvsARN", + "contextParam":{"name":"KvsARN"}, + "location":"uri", + "locationName":"KvsARN" + }, + "Key":{ + "shape":"Key", + "location":"uri", + "locationName":"Key" + }, + "IfMatch":{ + "shape":"Etag", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteKeyRequestListItem":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{"shape":"Key"} + } + }, + "DeleteKeyRequestsList":{ + "type":"list", + "member":{"shape":"DeleteKeyRequestListItem"} + }, + "DeleteKeyResponse":{ + "type":"structure", + "required":[ + "ItemCount", + "TotalSizeInBytes", + "ETag" + ], + "members":{ + "ItemCount":{"shape":"Integer"}, + "TotalSizeInBytes":{"shape":"Long"}, + "ETag":{ + "shape":"Etag", + "location":"header", + "locationName":"ETag" + } + } + }, + "DescribeKeyValueStoreRequest":{ + "type":"structure", + "required":["KvsARN"], + "members":{ + "KvsARN":{ + "shape":"KvsARN", + "contextParam":{"name":"KvsARN"}, + "location":"uri", + "locationName":"KvsARN" + } + } + }, + "DescribeKeyValueStoreResponse":{ + "type":"structure", + "required":[ + "ItemCount", + "TotalSizeInBytes", + "KvsARN", + "Created", + "ETag" + ], + "members":{ + "ItemCount":{"shape":"Integer"}, + "TotalSizeInBytes":{"shape":"Long"}, + "KvsARN":{"shape":"KvsARN"}, + "Created":{"shape":"Timestamp"}, + "ETag":{ + "shape":"Etag", + "location":"header", + "locationName":"ETag" + }, + "LastModified":{"shape":"Timestamp"} + } + }, + "Etag":{"type":"string"}, + "GetKeyRequest":{ + "type":"structure", + "required":[ + "KvsARN", + "Key" + ], + "members":{ + "KvsARN":{ + "shape":"KvsARN", + "contextParam":{"name":"KvsARN"}, + "location":"uri", + "locationName":"KvsARN" + }, + "Key":{ + "shape":"Key", + "location":"uri", + "locationName":"Key" + } + } + }, + "GetKeyResponse":{ + "type":"structure", + "required":[ + "Key", + "Value", + "ItemCount", + "TotalSizeInBytes" + ], + "members":{ + "Key":{"shape":"Key"}, + "Value":{"shape":"Value"}, + "ItemCount":{"shape":"Integer"}, + "TotalSizeInBytes":{"shape":"Long"} + } + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Key":{ + "type":"string", + "max":1024, + "min":1 + }, + "KvsARN":{ + "type":"string", + "max":2048, + "min":1 + }, + "ListKeysRequest":{ + "type":"structure", + "required":["KvsARN"], + "members":{ + "KvsARN":{ + "shape":"KvsARN", + "contextParam":{"name":"KvsARN"}, + "location":"uri", + "locationName":"KvsARN" + }, + "NextToken":{ + "shape":"String", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"ListKeysRequestMaxResultsInteger", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListKeysRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListKeysResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Items":{"shape":"ListKeysResponseList"} + } + }, + "ListKeysResponseList":{ + "type":"list", + "member":{"shape":"ListKeysResponseListItem"} + }, + "ListKeysResponseListItem":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"Key"}, + "Value":{"shape":"Value"} + } + }, + "Long":{ + "type":"long", + "box":true + }, + "PutKeyRequest":{ + "type":"structure", + "required":[ + "Key", + "Value", + "KvsARN", + "IfMatch" + ], + "members":{ + "Key":{ + "shape":"Key", + "location":"uri", + "locationName":"Key" + }, + "Value":{"shape":"Value"}, + "KvsARN":{ + "shape":"KvsARN", + "contextParam":{"name":"KvsARN"}, + "location":"uri", + "locationName":"KvsARN" + }, + "IfMatch":{ + "shape":"Etag", + "location":"header", + "locationName":"If-Match" + } + } + }, + "PutKeyRequestListItem":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"Key"}, + "Value":{"shape":"Value"} + } + }, + "PutKeyRequestsList":{ + "type":"list", + "member":{"shape":"PutKeyRequestListItem"} + }, + "PutKeyResponse":{ + "type":"structure", + "required":[ + "ItemCount", + "TotalSizeInBytes", + "ETag" + ], + "members":{ + "ItemCount":{"shape":"Integer"}, + "TotalSizeInBytes":{"shape":"Long"}, + "ETag":{ + "shape":"Etag", + "location":"header", + "locationName":"ETag" + } + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "Timestamp":{"type":"timestamp"}, + "UpdateKeysRequest":{ + "type":"structure", + "required":[ + "KvsARN", + "IfMatch" + ], + "members":{ + "KvsARN":{ + "shape":"KvsARN", + "contextParam":{"name":"KvsARN"}, + "location":"uri", + "locationName":"KvsARN" + }, + "IfMatch":{ + "shape":"Etag", + "location":"header", + "locationName":"If-Match" + }, + "Puts":{"shape":"PutKeyRequestsList"}, + "Deletes":{"shape":"DeleteKeyRequestsList"} + } + }, + "UpdateKeysResponse":{ + "type":"structure", + "required":[ + "ItemCount", + "TotalSizeInBytes", + "ETag" + ], + "members":{ + "ItemCount":{"shape":"Integer"}, + "TotalSizeInBytes":{"shape":"Long"}, + "ETag":{ + "shape":"Etag", + "location":"header", + "locationName":"ETag" + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Value":{ + "type":"string", + "sensitive":true + } + } +} diff --git a/models/apis/cloudfront-keyvaluestore/2022-07-26/docs-2.json b/models/apis/cloudfront-keyvaluestore/2022-07-26/docs-2.json new file mode 100644 index 00000000000..97a873f7d3e --- /dev/null +++ b/models/apis/cloudfront-keyvaluestore/2022-07-26/docs-2.json @@ -0,0 +1,231 @@ +{ + "version": "2.0", + "service": "

Amazon CloudFront KeyValueStore Service to View and Update Data in a KVS Resource

", + "operations": { + "DeleteKey": "

Deletes the key value pair specified by the key.

", + "DescribeKeyValueStore": "

Returns metadata information about Key Value Store.

", + "GetKey": "

Returns a key value pair.

", + "ListKeys": "

Returns a list of key value pairs.

", + "PutKey": "

Creates a new key value pair or replaces the value of an existing key.

", + "UpdateKeys": "

Puts or Deletes multiple key value pairs in a single, all-or-nothing operation.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

Access denied.

", + "refs": { + } + }, + "ConflictException": { + "base": "

Resource is not in expected state.

", + "refs": { + } + }, + "DeleteKeyRequest": { + "base": null, + "refs": { + } + }, + "DeleteKeyRequestListItem": { + "base": "

List item for keys to delete.

", + "refs": { + "DeleteKeyRequestsList$member": null + } + }, + "DeleteKeyRequestsList": { + "base": null, + "refs": { + "UpdateKeysRequest$Deletes": "

List of keys to delete.

" + } + }, + "DeleteKeyResponse": { + "base": "

Metadata information about a Key Value Store.

", + "refs": { + } + }, + "DescribeKeyValueStoreRequest": { + "base": null, + "refs": { + } + }, + "DescribeKeyValueStoreResponse": { + "base": "

Metadata information about a Key Value Store.

", + "refs": { + } + }, + "Etag": { + "base": null, + "refs": { + "DeleteKeyRequest$IfMatch": "

The current version (ETag) of the Key Value Store that you are deleting keys from, which you can get using DescribeKeyValueStore.

", + "DeleteKeyResponse$ETag": "

The current version identifier of the Key Value Store after the successful delete.

", + "DescribeKeyValueStoreResponse$ETag": "

The version identifier for the current version of the Key Value Store.

", + "PutKeyRequest$IfMatch": "

The current version (ETag) of the Key Value Store that you are putting keys into, which you can get using DescribeKeyValueStore.

", + "PutKeyResponse$ETag": "

The current version identifier of the Key Value Store after the successful put.

", + "UpdateKeysRequest$IfMatch": "

The current version (ETag) of the Key Value Store that you are updating keys of, which you can get using DescribeKeyValueStore.

", + "UpdateKeysResponse$ETag": "

The current version identifier of the Key Value Store after the successful update.

" + } + }, + "GetKeyRequest": { + "base": null, + "refs": { + } + }, + "GetKeyResponse": { + "base": "

A key value pair.

", + "refs": { + } + }, + "Integer": { + "base": null, + "refs": { + "DeleteKeyResponse$ItemCount": "

Number of key value pairs in the Key Value Store after the successful delete.

", + "DescribeKeyValueStoreResponse$ItemCount": "

Number of key value pairs in the Key Value Store.

", + "GetKeyResponse$ItemCount": "

Number of key value pairs in the Key Value Store.

", + "PutKeyResponse$ItemCount": "

Number of key value pairs in the Key Value Store after the successful put.

", + "UpdateKeysResponse$ItemCount": "

Number of key value pairs in the Key Value Store after the successful update.

" + } + }, + "InternalServerException": { + "base": "

Internal server error.

", + "refs": { + } + }, + "Key": { + "base": null, + "refs": { + "DeleteKeyRequest$Key": "

The key to delete.

", + "DeleteKeyRequestListItem$Key": "

The key of the key value pair to be deleted.

", + "GetKeyRequest$Key": "

The key to get.

", + "GetKeyResponse$Key": "

The key of the key value pair.

", + "ListKeysResponseListItem$Key": "

The key of the key value pair.

", + "PutKeyRequest$Key": "

The key to put.

", + "PutKeyRequestListItem$Key": "

The key of the key value pair list item to put.

" + } + }, + "KvsARN": { + "base": null, + "refs": { + "DeleteKeyRequest$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "DescribeKeyValueStoreRequest$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "DescribeKeyValueStoreResponse$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "GetKeyRequest$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "ListKeysRequest$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "PutKeyRequest$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "UpdateKeysRequest$KvsARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

" + } + }, + "ListKeysRequest": { + "base": null, + "refs": { + } + }, + "ListKeysRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListKeysRequest$MaxResults": "

Maximum number of results that are returned per call. The default is 10 and maximum allowed page is 50.

" + } + }, + "ListKeysResponse": { + "base": null, + "refs": { + } + }, + "ListKeysResponseList": { + "base": null, + "refs": { + "ListKeysResponse$Items": "

Key value pairs

" + } + }, + "ListKeysResponseListItem": { + "base": "

A key value pair.

", + "refs": { + "ListKeysResponseList$member": null + } + }, + "Long": { + "base": null, + "refs": { + "DeleteKeyResponse$TotalSizeInBytes": "

Total size of the Key Value Store after the successful delete, in bytes.

", + "DescribeKeyValueStoreResponse$TotalSizeInBytes": "

Total size of the Key Value Store in bytes.

", + "GetKeyResponse$TotalSizeInBytes": "

Total size of the Key Value Store in bytes.

", + "PutKeyResponse$TotalSizeInBytes": "

Total size of the Key Value Store after the successful put, in bytes.

", + "UpdateKeysResponse$TotalSizeInBytes": "

Total size of the Key Value Store after the successful update, in bytes.

" + } + }, + "PutKeyRequest": { + "base": "

A key value pair.

", + "refs": { + } + }, + "PutKeyRequestListItem": { + "base": "

List item for key value pair to put.

", + "refs": { + "PutKeyRequestsList$member": null + } + }, + "PutKeyRequestsList": { + "base": null, + "refs": { + "UpdateKeysRequest$Puts": "

List of key value pairs to put.

" + } + }, + "PutKeyResponse": { + "base": "

Metadata information about a Key Value Store.

", + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

Resource was not found.

", + "refs": { + } + }, + "ServiceQuotaExceededException": { + "base": "

Limit exceeded.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "ConflictException$Message": null, + "InternalServerException$Message": null, + "ListKeysRequest$NextToken": "

If nextToken is returned in the response, there are more results available. Make the next call using the returned token to retrieve the next page.

", + "ListKeysResponse$NextToken": "

If nextToken is returned in the response, there are more results available. Make the next call using the returned token to retrieve the next page.

", + "ResourceNotFoundException$Message": null, + "ServiceQuotaExceededException$Message": null, + "ValidationException$Message": null + } + }, + "Timestamp": { + "base": null, + "refs": { + "DescribeKeyValueStoreResponse$Created": "

Date and time when the Key Value Store was created.

", + "DescribeKeyValueStoreResponse$LastModified": "

Date and time when the key value pairs in the Key Value Store was last modified.

" + } + }, + "UpdateKeysRequest": { + "base": null, + "refs": { + } + }, + "UpdateKeysResponse": { + "base": "

Metadata information about a Key Value Store.

", + "refs": { + } + }, + "ValidationException": { + "base": "

Validation failed.

", + "refs": { + } + }, + "Value": { + "base": null, + "refs": { + "GetKeyResponse$Value": "

The value of the key value pair.

", + "ListKeysResponseListItem$Value": "

The value of the key value pair.

", + "PutKeyRequest$Value": "

The value to put.

", + "PutKeyRequestListItem$Value": "

The value for the key value pair to put.

" + } + } + } +} diff --git a/models/apis/cloudfront-keyvaluestore/2022-07-26/endpoint-rule-set-1.json b/models/apis/cloudfront-keyvaluestore/2022-07-26/endpoint-rule-set-1.json new file mode 100644 index 00000000000..1994b7d23e2 --- /dev/null +++ b/models/apis/cloudfront-keyvaluestore/2022-07-26/endpoint-rule-set-1.json @@ -0,0 +1,449 @@ +{ + "version": "1.0", + "parameters": { + "KvsARN": { + "required": false, + "documentation": "The ARN of the Key Value Store", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "KvsARN" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "KvsARN" + } + ], + "assign": "parsedArn" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "parsedArn" + }, + "service" + ] + }, + "cloudfront" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "parsedArn" + }, + "region" + ] + }, + "" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "parsedArn" + }, + "resourceId[0]" + ], + "assign": "arnType" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "key-value-store" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "parsedArn" + }, + "partition" + ] + }, + "aws" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "partitionResult" + }, + "name" + ] + }, + "{parsedArn#partition}" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{parsedArn#accountId}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4a", + "signingName": "cloudfront-keyvaluestore", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Provided endpoint is not a valid URL", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{parsedArn#accountId}.cloudfront-kvs.global.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4a", + "signingName": "cloudfront-keyvaluestore", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Client was configured for partition `{partitionResult#name}` but Kvs ARN has `{parsedArn#partition}`", + "type": "error" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{parsedArn#accountId}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4a", + "signingName": "cloudfront-keyvaluestore", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Provided endpoint is not a valid URL", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{parsedArn#accountId}.cloudfront-kvs.global.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4a", + "signingName": "cloudfront-keyvaluestore", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "CloudFront-KeyValueStore is not supported in partition `{parsedArn#partition}`", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "ARN resource type is invalid. Expected `key-value-store`, found: `{arnType}`", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "No resource type found in the KVS ARN. Resource type must be `key-value-store`.", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "No resource type found in the KVS ARN. Resource type must be `key-value-store`.", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Provided ARN must be a global resource ARN. Found: `{parsedArn#region}`", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Provided ARN is not a valid CloudFront Service ARN. Found: `{parsedArn#service}`", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "KVS ARN must be a valid ARN", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "KVS ARN must be provided to use this service", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: FIPS is not supported with CloudFront-KeyValueStore.", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/cloudfront-keyvaluestore/2022-07-26/endpoint-tests-1.json b/models/apis/cloudfront-keyvaluestore/2022-07-26/endpoint-tests-1.json new file mode 100644 index 00000000000..e073f9b859c --- /dev/null +++ b/models/apis/cloudfront-keyvaluestore/2022-07-26/endpoint-tests-1.json @@ -0,0 +1,198 @@ +{ + "testCases": [ + { + "documentation": "FIPS should error", + "expect": { + "error": "Invalid Configuration: FIPS is not supported with CloudFront-KeyValueStore." + }, + "params": { + "UseFIPS": true + } + }, + { + "documentation": "KVS ARN must be provided to use this service", + "expect": { + "error": "KVS ARN must be provided to use this service" + } + }, + { + "documentation": "KVS ARN must be a valid ARN", + "expect": { + "error": "KVS ARN must be a valid ARN" + }, + "params": { + "KvsARN": "not-a-valid-arn" + } + }, + { + "documentation": "Provided ARN was not a valid CloudFront Service ARN. Found: `notcloudfront`", + "expect": { + "error": "Provided ARN is not a valid CloudFront Service ARN. Found: `notcloudfront`" + }, + "params": { + "KvsARN": "arn:aws:notcloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba" + } + }, + { + "documentation": "Provided ARN must be a global resource ARN. Found: `us-west-2`", + "expect": { + "error": "Provided ARN must be a global resource ARN. Found: `us-west-2`" + }, + "params": { + "KvsARN": "arn:aws:cloudfront:us-west-2:123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba" + } + }, + { + "documentation": "ARN resource type is invalid. Expected `key-value-store`, found: `some-other-resource-type`", + "expect": { + "error": "ARN resource type is invalid. Expected `key-value-store`, found: `some-other-resource-type`" + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:some-other-resource-type/my-first-kvs-e10b1dce4f394248811e77167e0451ba" + } + }, + { + "documentation": "CloudFront-KeyValueStore is not supported in partition `aws-cn`", + "expect": { + "error": "CloudFront-KeyValueStore is not supported in partition `aws-cn`" + }, + "params": { + "KvsARN": "arn:aws-cn:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba" + } + }, + { + "documentation": "CloudFront-KeyValueStore is not supported in partition `aws-us-gov`", + "expect": { + "error": "CloudFront-KeyValueStore is not supported in partition `aws-us-gov`" + }, + "params": { + "KvsARN": "arn:aws-us-gov:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba" + } + }, + { + "documentation": "Valid account based endpoint", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "cloudfront-keyvaluestore", + "name": "sigv4a", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "url": "https://123456789012.cloudfront-kvs.global.api.aws" + } + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba" + } + }, + { + "documentation": "Valid account based endpoint, with SDK region", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "cloudfront-keyvaluestore", + "name": "sigv4a", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "url": "https://123456789012.cloudfront-kvs.global.api.aws" + } + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba", + "Region": "us-west-2" + } + }, + { + "documentation": "Valid ARN, different partition, should error", + "expect": { + "error": "Client was configured for partition `aws-cn` but Kvs ARN has `aws`" + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba", + "Region": "cn-north-1" + } + }, + { + "documentation": "Valid account based endpoint with FIPS, should error", + "expect": { + "error": "Invalid Configuration: FIPS is not supported with CloudFront-KeyValueStore." + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba", + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "Custom sdk endpoint override", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "cloudfront-keyvaluestore", + "name": "sigv4a", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "url": "https://123456789012.my-override.example.com" + } + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba", + "Region": "us-east-1", + "Endpoint": "https://my-override.example.com" + } + }, + { + "documentation": "Custom sdk endpoint override with path and http", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "cloudfront-keyvaluestore", + "name": "sigv4a", + "signingRegionSet": [ + "*" + ] + } + ] + }, + "url": "http://123456789012.my-override.example.com/custom-path" + } + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba", + "Endpoint": "http://my-override.example.com/custom-path" + } + }, + { + "documentation": "Custom override with different partition should error", + "expect": { + "error": "Client was configured for partition `aws-us-gov` but Kvs ARN has `aws`" + }, + "params": { + "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/my-first-kvs-e10b1dce4f394248811e77167e0451ba", + "Region": "us-gov-east-1", + "Endpoint": "https://my-override.example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/cloudfront-keyvaluestore/2022-07-26/examples-1.json b/models/apis/cloudfront-keyvaluestore/2022-07-26/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/cloudfront-keyvaluestore/2022-07-26/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/cloudfront-keyvaluestore/2022-07-26/paginators-1.json b/models/apis/cloudfront-keyvaluestore/2022-07-26/paginators-1.json new file mode 100644 index 00000000000..8fda57a3e0f --- /dev/null +++ b/models/apis/cloudfront-keyvaluestore/2022-07-26/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListKeys": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Items" + } + } +} diff --git a/models/apis/cloudfront/2020-05-31/api-2.json b/models/apis/cloudfront/2020-05-31/api-2.json index 90dd12b45e4..d4fc296ad33 100644 --- a/models/apis/cloudfront/2020-05-31/api-2.json +++ b/models/apis/cloudfront/2020-05-31/api-2.json @@ -414,6 +414,27 @@ {"shape":"TooManyPublicKeysInKeyGroup"} ] }, + "CreateKeyValueStore":{ + "name":"CreateKeyValueStore2020_05_31", + "http":{ + "method":"POST", + "requestUri":"/2020-05-31/key-value-store/", + "responseCode":201 + }, + "input":{ + "shape":"CreateKeyValueStoreRequest", + "locationName":"CreateKeyValueStoreRequest", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2020-05-31/"} + }, + "output":{"shape":"CreateKeyValueStoreResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"EntityLimitExceeded"}, + {"shape":"EntityAlreadyExists"}, + {"shape":"EntitySizeLimitExceeded"}, + {"shape":"InvalidArgument"} + ] + }, "CreateMonitoringSubscription":{ "name":"CreateMonitoringSubscription2020_05_31", "http":{ @@ -699,6 +720,23 @@ {"shape":"ResourceInUse"} ] }, + "DeleteKeyValueStore":{ + "name":"DeleteKeyValueStore2020_05_31", + "http":{ + "method":"DELETE", + "requestUri":"/2020-05-31/key-value-store/{Name}", + "responseCode":204 + }, + "input":{"shape":"DeleteKeyValueStoreRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"EntityNotFound"}, + {"shape":"CannotDeleteEntityWhileInUse"}, + {"shape":"PreconditionFailed"} + ], + "idempotent":true + }, "DeleteMonitoringSubscription":{ "name":"DeleteMonitoringSubscription2020_05_31", "http":{ @@ -828,6 +866,20 @@ {"shape":"UnsupportedOperation"} ] }, + "DescribeKeyValueStore":{ + "name":"DescribeKeyValueStore2020_05_31", + "http":{ + "method":"GET", + "requestUri":"/2020-05-31/key-value-store/{Name}" + }, + "input":{"shape":"DescribeKeyValueStoreRequest"}, + "output":{"shape":"DescribeKeyValueStoreResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"EntityNotFound"} + ] + }, "GetCachePolicy":{ "name":"GetCachePolicy2020_05_31", "http":{ @@ -1411,6 +1463,19 @@ {"shape":"InvalidArgument"} ] }, + "ListKeyValueStores":{ + "name":"ListKeyValueStores2020_05_31", + "http":{ + "method":"GET", + "requestUri":"/2020-05-31/key-value-store" + }, + "input":{"shape":"ListKeyValueStoresRequest"}, + "output":{"shape":"ListKeyValueStoresResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"} + ] + }, "ListOriginAccessControls":{ "name":"ListOriginAccessControls2020_05_31", "http":{ @@ -1861,6 +1926,27 @@ {"shape":"TooManyPublicKeysInKeyGroup"} ] }, + "UpdateKeyValueStore":{ + "name":"UpdateKeyValueStore2020_05_31", + "http":{ + "method":"PUT", + "requestUri":"/2020-05-31/key-value-store/{Name}" + }, + "input":{ + "shape":"UpdateKeyValueStoreRequest", + "locationName":"UpdateKeyValueStoreRequest", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2020-05-31/"} + }, + "output":{"shape":"UpdateKeyValueStoreResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"EntityNotFound"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"PreconditionFailed"} + ], + "idempotent":true + }, "UpdateOriginAccessControl":{ "name":"UpdateOriginAccessControl2020_05_31", "http":{ @@ -2335,6 +2421,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "CannotDeleteEntityWhileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, "CertificateSource":{ "type":"string", "enum":[ @@ -2936,6 +3030,32 @@ }, "payload":"KeyGroup" }, + "CreateKeyValueStoreRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"KeyValueStoreName"}, + "Comment":{"shape":"KeyValueStoreComment"}, + "ImportSource":{"shape":"ImportSource"} + } + }, + "CreateKeyValueStoreResult":{ + "type":"structure", + "members":{ + "KeyValueStore":{"shape":"KeyValueStore"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + }, + "Location":{ + "shape":"string", + "location":"header", + "locationName":"Location" + } + }, + "payload":"KeyValueStore" + }, "CreateMonitoringSubscriptionRequest":{ "type":"structure", "required":[ @@ -3377,6 +3497,25 @@ } } }, + "DeleteKeyValueStoreRequest":{ + "type":"structure", + "required":[ + "IfMatch", + "Name" + ], + "members":{ + "Name":{ + "shape":"KeyValueStoreName", + "location":"uri", + "locationName":"Name" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + } + }, "DeleteMonitoringSubscriptionRequest":{ "type":"structure", "required":["DistributionId"], @@ -3508,6 +3647,29 @@ }, "payload":"FunctionSummary" }, + "DescribeKeyValueStoreRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"KeyValueStoreName", + "location":"uri", + "locationName":"Name" + } + } + }, + "DescribeKeyValueStoreResult":{ + "type":"structure", + "members":{ + "KeyValueStore":{"shape":"KeyValueStore"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"KeyValueStore" + }, "Distribution":{ "type":"structure", "required":[ @@ -3725,6 +3887,38 @@ "type":"list", "member":{"shape":"EndPoint"} }, + "EntityAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "EntityLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "EntityNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "EntitySizeLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":413}, + "exception":true + }, "EventType":{ "type":"string", "enum":[ @@ -3993,7 +4187,8 @@ ], "members":{ "Comment":{"shape":"string"}, - "Runtime":{"shape":"FunctionRuntime"} + "Runtime":{"shape":"FunctionRuntime"}, + "KeyValueStoreAssociations":{"shape":"KeyValueStoreAssociations"} } }, "FunctionEventObject":{ @@ -4815,6 +5010,21 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ImportSource":{ + "type":"structure", + "required":[ + "SourceType", + "SourceARN" + ], + "members":{ + "SourceType":{"shape":"ImportSourceType"}, + "SourceARN":{"shape":"string"} + } + }, + "ImportSourceType":{ + "type":"string", + "enum":["S3"] + }, "InconsistentQuantities":{ "type":"structure", "members":{ @@ -5191,6 +5401,81 @@ "Items":{"shape":"KeyPairIdList"} } }, + "KeyValueStore":{ + "type":"structure", + "required":[ + "Name", + "Id", + "Comment", + "ARN", + "LastModifiedTime" + ], + "members":{ + "Name":{"shape":"string"}, + "Id":{"shape":"string"}, + "Comment":{"shape":"string"}, + "ARN":{"shape":"string"}, + "Status":{"shape":"string"}, + "LastModifiedTime":{"shape":"timestamp"} + } + }, + "KeyValueStoreARN":{ + "type":"string", + "max":85, + "pattern":"arn:aws:cloudfront::[0-9]{12}:key-value-store\\/[0-9a-fA-F-]{36}$" + }, + "KeyValueStoreAssociation":{ + "type":"structure", + "required":["KeyValueStoreARN"], + "members":{ + "KeyValueStoreARN":{"shape":"KeyValueStoreARN"} + } + }, + "KeyValueStoreAssociationList":{ + "type":"list", + "member":{ + "shape":"KeyValueStoreAssociation", + "locationName":"KeyValueStoreAssociation" + } + }, + "KeyValueStoreAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{"shape":"integer"}, + "Items":{"shape":"KeyValueStoreAssociationList"} + } + }, + "KeyValueStoreComment":{ + "type":"string", + "max":128 + }, + "KeyValueStoreList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{"shape":"string"}, + "MaxItems":{"shape":"integer"}, + "Quantity":{"shape":"integer"}, + "Items":{"shape":"KeyValueStoreSummaryList"} + } + }, + "KeyValueStoreName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]{1,64}$" + }, + "KeyValueStoreSummaryList":{ + "type":"list", + "member":{ + "shape":"KeyValueStore", + "locationName":"KeyValueStore" + } + }, "KinesisStreamConfig":{ "type":"structure", "required":[ @@ -5636,6 +5921,33 @@ }, "payload":"KeyGroupList" }, + "ListKeyValueStoresRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "location":"querystring", + "locationName":"MaxItems" + }, + "Status":{ + "shape":"string", + "location":"querystring", + "locationName":"Status" + } + } + }, + "ListKeyValueStoresResult":{ + "type":"structure", + "members":{ + "KeyValueStoreList":{"shape":"KeyValueStoreList"} + }, + "payload":"KeyValueStoreList" + }, "ListOriginAccessControlsRequest":{ "type":"structure", "members":{ @@ -8208,6 +8520,39 @@ }, "payload":"KeyGroup" }, + "UpdateKeyValueStoreRequest":{ + "type":"structure", + "required":[ + "Name", + "Comment", + "IfMatch" + ], + "members":{ + "Name":{ + "shape":"KeyValueStoreName", + "location":"uri", + "locationName":"Name" + }, + "Comment":{"shape":"KeyValueStoreComment"}, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + } + }, + "UpdateKeyValueStoreResult":{ + "type":"structure", + "members":{ + "KeyValueStore":{"shape":"KeyValueStore"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"KeyValueStore" + }, "UpdateOriginAccessControlRequest":{ "type":"structure", "required":[ diff --git a/models/apis/cloudfront/2020-05-31/docs-2.json b/models/apis/cloudfront/2020-05-31/docs-2.json index aabe4f54d44..b625d94fcf6 100644 --- a/models/apis/cloudfront/2020-05-31/docs-2.json +++ b/models/apis/cloudfront/2020-05-31/docs-2.json @@ -14,6 +14,7 @@ "CreateFunction": "

Creates a CloudFront function.

To create a function, you provide the function code and some configuration information about the function. The response contains an Amazon Resource Name (ARN) that uniquely identifies the function.

When you create a function, it's in the DEVELOPMENT stage. In this stage, you can test the function with TestFunction, and update it with UpdateFunction.

When you're ready to use your function with a CloudFront distribution, use PublishFunction to copy the function from the DEVELOPMENT stage to LIVE. When it's live, you can attach the function to a distribution's cache behavior, using the function's ARN.

", "CreateInvalidation": "

Create a new invalidation.

", "CreateKeyGroup": "

Creates a key group that you can use with CloudFront signed URLs and signed cookies.

To create a key group, you must specify at least one public key for the key group. After you create a key group, you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.

", + "CreateKeyValueStore": "

Specifies the Key Value Store resource to add to your account. In your account, the Key Value Store names must be unique. You can also import Key Value Store data in JSON format from an S3 bucket by providing a valid ImportSource that you own.

", "CreateMonitoringSubscription": "

Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an additional cost.

For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront Developer Guide.

", "CreateOriginAccessControl": "

Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.

This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront.

For more information about using a CloudFront origin access control, see Restricting access to an Amazon Web Services origin in the Amazon CloudFront Developer Guide.

", "CreateOriginRequestPolicy": "

Creates an origin request policy.

After you create an origin request policy, you can attach it to one or more cache behaviors. When it's attached to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:

CloudFront sends a request when it can't find a valid object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use CachePolicy.

For more information about origin request policies, see Controlling origin requests in the Amazon CloudFront Developer Guide.

", @@ -30,6 +31,7 @@ "DeleteFieldLevelEncryptionProfile": "

Remove a field-level encryption profile.

", "DeleteFunction": "

Deletes a CloudFront function.

You cannot delete a function if it's associated with a cache behavior. First, update your distributions to remove the function association from all cache behaviors, then delete the function.

To delete a function, you must provide the function's name and version (ETag value). To get these values, you can use ListFunctions and DescribeFunction.

", "DeleteKeyGroup": "

Deletes a key group.

You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove the key group from all cache behaviors, then delete the key group.

To delete a key group, you must provide the key group's identifier and version. To get these values, use ListKeyGroups followed by GetKeyGroup or GetKeyGroupConfig.

", + "DeleteKeyValueStore": "

Specifies the Key Value Store to delete.

", "DeleteMonitoringSubscription": "

Disables additional CloudWatch metrics for the specified CloudFront distribution.

", "DeleteOriginAccessControl": "

Deletes a CloudFront origin access control.

You cannot delete an origin access control if it's in use. First, update all distributions to remove the origin access control from all origins, then delete the origin access control.

", "DeleteOriginRequestPolicy": "

Deletes an origin request policy.

You cannot delete an origin request policy if it's attached to any cache behaviors. First update your distributions to remove the origin request policy from all cache behaviors, then delete the origin request policy.

To delete an origin request policy, you must provide the policy's identifier and version. To get the identifier, you can use ListOriginRequestPolicies or GetOriginRequestPolicy.

", @@ -38,6 +40,7 @@ "DeleteResponseHeadersPolicy": "

Deletes a response headers policy.

You cannot delete a response headers policy if it's attached to a cache behavior. First update your distributions to remove the response headers policy from all cache behaviors, then delete the response headers policy.

To delete a response headers policy, you must provide the policy's identifier and version. To get these values, you can use ListResponseHeadersPolicies or GetResponseHeadersPolicy.

", "DeleteStreamingDistribution": "

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

", "DescribeFunction": "

Gets configuration information and metadata about a CloudFront function, but not the function's code. To get a function's code, use GetFunction.

To get configuration information and metadata about a function, you must provide the function's name and stage. To get these values, you can use ListFunctions.

", + "DescribeKeyValueStore": "

Specifies the Key Value Store and its configuration.

", "GetCachePolicy": "

Gets a cache policy, including the following metadata:

To get a cache policy, you must provide the policy's identifier. If the cache policy is attached to a distribution's cache behavior, you can get the policy's identifier using ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier using ListCachePolicies.

", "GetCachePolicyConfig": "

Gets a cache policy configuration.

To get a cache policy configuration, you must provide the policy's identifier. If the cache policy is attached to a distribution's cache behavior, you can get the policy's identifier using ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier using ListCachePolicies.

", "GetCloudFrontOriginAccessIdentity": "

Get the information about an origin access identity.

", @@ -82,6 +85,7 @@ "ListFunctions": "

Gets a list of all CloudFront functions in your Amazon Web Services account.

You can optionally apply a filter to return only the functions that are in the specified stage, either DEVELOPMENT or LIVE.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", "ListInvalidations": "

Lists invalidation batches.

", "ListKeyGroups": "

Gets a list of key groups.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", + "ListKeyValueStores": "

Specifies the Key Value Stores to list.

", "ListOriginAccessControls": "

Gets the list of CloudFront origin access controls in this Amazon Web Services account.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send another request that specifies the NextMarker value from the current response as the Marker value in the next request.

", "ListOriginRequestPolicies": "

Gets a list of origin request policies.

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the custom policies created in your Amazon Web Services account.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", "ListPublicKeys": "

List all public keys that have been added to CloudFront for this account.

", @@ -102,6 +106,7 @@ "UpdateFieldLevelEncryptionProfile": "

Update a field-level encryption profile.

", "UpdateFunction": "

Updates a CloudFront function.

You can update a function's code or the comment that describes the function. You cannot update a function's name.

To update a function, you provide the function's name and version (ETag value) along with the updated function code. To get the name and version, you can use ListFunctions and DescribeFunction.

", "UpdateKeyGroup": "

Updates a key group.

When you update a key group, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update a key group:

  1. Get the current key group with GetKeyGroup or GetKeyGroupConfig.

  2. Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs.

  3. Call UpdateKeyGroup with the entire key group object, including the fields that you modified and those that you didn't.

", + "UpdateKeyValueStore": "

Specifies the Key Value Store to update.

", "UpdateOriginAccessControl": "

Updates a CloudFront origin access control.

", "UpdateOriginRequestPolicy": "

Updates an origin request policy configuration.

When you update an origin request policy configuration, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update an origin request policy configuration:

  1. Use GetOriginRequestPolicyConfig to get the current configuration.

  2. Locally modify the fields in the origin request policy configuration that you want to update.

  3. Call UpdateOriginRequestPolicy by providing the entire origin request policy configuration, including the fields that you modified and those that you didn't.

", "UpdatePublicKey": "

Update public key information. Note that the only value you can change is the comment.

", @@ -327,6 +332,11 @@ "refs": { } }, + "CannotDeleteEntityWhileInUse": { + "base": "

The Key Value Store entity cannot be deleted while it is in use.

", + "refs": { + } + }, "CertificateSource": { "base": null, "refs": { @@ -621,6 +631,16 @@ "refs": { } }, + "CreateKeyValueStoreRequest": { + "base": null, + "refs": { + } + }, + "CreateKeyValueStoreResult": { + "base": null, + "refs": { + } + }, "CreateMonitoringSubscriptionRequest": { "base": null, "refs": { @@ -779,6 +799,11 @@ "refs": { } }, + "DeleteKeyValueStoreRequest": { + "base": null, + "refs": { + } + }, "DeleteMonitoringSubscriptionRequest": { "base": null, "refs": { @@ -829,6 +854,16 @@ "refs": { } }, + "DescribeKeyValueStoreRequest": { + "base": null, + "refs": { + } + }, + "DescribeKeyValueStoreResult": { + "base": null, + "refs": { + } + }, "Distribution": { "base": "

A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.

", "refs": { @@ -934,6 +969,26 @@ "UpdateRealtimeLogConfigRequest$EndPoints": "

Contains information about the Amazon Kinesis data stream where you are sending real-time log data.

" } }, + "EntityAlreadyExists": { + "base": "

The Key Value Store entity already exists. You must provide a unique Key Value Store entity.

", + "refs": { + } + }, + "EntityLimitExceeded": { + "base": "

The Key Value Store entity limit has been exceeded.

", + "refs": { + } + }, + "EntityNotFound": { + "base": "

The Key Value Store entity was not found.

", + "refs": { + } + }, + "EntitySizeLimitExceeded": { + "base": "

The Key Value Store entity size limit was exceeded.

", + "refs": { + } + }, "EventType": { "base": null, "refs": { @@ -969,7 +1024,7 @@ } }, "FieldLevelEncryptionList": { - "base": "

List of field-level encrpytion configurations.

", + "base": "

List of field-level encryption configurations.

", "refs": { "ListFieldLevelEncryptionConfigsResult$FieldLevelEncryptionList": "

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" } @@ -1160,7 +1215,7 @@ "FunctionRuntime": { "base": null, "refs": { - "FunctionConfig$Runtime": "

The function's runtime environment verion.

" + "FunctionConfig$Runtime": "

The function's runtime environment version.

" } }, "FunctionSizeLimitExceeded": { @@ -1534,6 +1589,18 @@ "refs": { } }, + "ImportSource": { + "base": "

The import source for the Key Value Store.

", + "refs": { + "CreateKeyValueStoreRequest$ImportSource": "

The S3 bucket that provides the source for the import. The source must be in a valid JSON format.

" + } + }, + "ImportSourceType": { + "base": null, + "refs": { + "ImportSource$SourceType": "

The source type of the import source for the Key Value Store.

" + } + }, "InconsistentQuantities": { "base": "

The value of Quantity and the size of Items don't match.

", "refs": { @@ -1773,6 +1840,67 @@ "Signer$KeyPairIds": "

A list of CloudFront key pair identifiers.

" } }, + "KeyValueStore": { + "base": "

The Key Value Store. Use this to separate data from function code, allowing you to update data without having to publish a new version of a function. The Key Value Store holds keys and their corresponding values.

", + "refs": { + "CreateKeyValueStoreResult$KeyValueStore": "

The resulting Key Value Store.

", + "DescribeKeyValueStoreResult$KeyValueStore": "

The resulting Key Value Store.

", + "KeyValueStoreSummaryList$member": null, + "UpdateKeyValueStoreResult$KeyValueStore": "

The resulting Key Value Store to update.

" + } + }, + "KeyValueStoreARN": { + "base": null, + "refs": { + "KeyValueStoreAssociation$KeyValueStoreARN": "

The Amazon Resource Name (ARN) of the Key Value Store association.

" + } + }, + "KeyValueStoreAssociation": { + "base": "

The Key Value Store association.

", + "refs": { + "KeyValueStoreAssociationList$member": null + } + }, + "KeyValueStoreAssociationList": { + "base": null, + "refs": { + "KeyValueStoreAssociations$Items": "

The items of the Key Value Store association.

" + } + }, + "KeyValueStoreAssociations": { + "base": "

The Key Value Store associations.

", + "refs": { + "FunctionConfig$KeyValueStoreAssociations": "

The configuration for the Key Value Store associations.

" + } + }, + "KeyValueStoreComment": { + "base": null, + "refs": { + "CreateKeyValueStoreRequest$Comment": "

The comment of the Key Value Store.

", + "UpdateKeyValueStoreRequest$Comment": "

The comment of the Key Value Store to update.

" + } + }, + "KeyValueStoreList": { + "base": "

The Key Value Store list.

", + "refs": { + "ListKeyValueStoresResult$KeyValueStoreList": "

The resulting Key Value Stores list.

" + } + }, + "KeyValueStoreName": { + "base": null, + "refs": { + "CreateKeyValueStoreRequest$Name": "

The name of the Key Value Store. The maximum length of the name is 32 characters.

", + "DeleteKeyValueStoreRequest$Name": "

The name of the Key Value Store.

", + "DescribeKeyValueStoreRequest$Name": "

The name of the Key Value Store.

", + "UpdateKeyValueStoreRequest$Name": "

The name of the Key Value Store to update.

" + } + }, + "KeyValueStoreSummaryList": { + "base": null, + "refs": { + "KeyValueStoreList$Items": "

The items of the Key Value Store list.

" + } + }, "KinesisStreamConfig": { "base": "

Contains information about the Amazon Kinesis data stream where you are sending real-time log data.

", "refs": { @@ -1964,6 +2092,16 @@ "refs": { } }, + "ListKeyValueStoresRequest": { + "base": null, + "refs": { + } + }, + "ListKeyValueStoresResult": { + "base": null, + "refs": { + } + }, "ListOriginAccessControlsRequest": { "base": null, "refs": { @@ -2169,7 +2307,7 @@ } }, "Origin": { - "base": "

An origin.

An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:

For the current maximum number of origins that you can specify per distribution, see General Quotas on Web Distributions in the Amazon CloudFront Developer Guide (quotas were formerly referred to as limits).

", + "base": "

An origin.

An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:

For the current maximum number of origins that you can specify per distribution, see General Quotas on Web Distributions in the Amazon CloudFront Developer Guide (quotas were formerly referred to as limits).

", "refs": { "OriginList$member": null } @@ -2253,7 +2391,7 @@ } }, "OriginGroup": { - "base": "

An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specifiy the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.

", + "base": "

An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.

", "refs": { "OriginGroupList$member": null } @@ -3429,6 +3567,16 @@ "refs": { } }, + "UpdateKeyValueStoreRequest": { + "base": null, + "refs": { + } + }, + "UpdateKeyValueStoreResult": { + "base": null, + "refs": { + } + }, "UpdateOriginAccessControlRequest": { "base": null, "refs": { @@ -3624,6 +3772,9 @@ "KeyGroupList$MaxItems": "

The maximum number of key groups requested.

", "KeyGroupList$Quantity": "

The number of key groups returned in the response.

", "KeyPairIds$Quantity": "

The number of key pair identifiers in the list.

", + "KeyValueStoreAssociations$Quantity": "

The quantity of Key Value Store associations.

", + "KeyValueStoreList$MaxItems": "

The maximum number of items in the Key Value Store list.

", + "KeyValueStoreList$Quantity": "

The quantity of the Key Value Store list.

", "LambdaFunctionAssociations$Quantity": "

The number of Lambda@Edge function associations for this cache behavior.

", "Origin$ConnectionAttempts": "

The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.

For a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an Origin Response Timeout.

For more information, see Origin Connection Attempts in the Amazon CloudFront Developer Guide.

", "Origin$ConnectionTimeout": "

The number of seconds that CloudFront waits when trying to establish a connection to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don't specify otherwise) is 10 seconds.

For more information, see Origin Connection Timeout in the Amazon CloudFront Developer Guide.

", @@ -3723,6 +3874,7 @@ "CachePolicyInUse$Message": null, "CachePolicyList$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing cache policies where you left off.

", "CannotChangeImmutablePublicKeyFields$Message": null, + "CannotDeleteEntityWhileInUse$Message": null, "CloudFrontOriginAccessIdentity$Id": "

The ID for the origin access identity, for example, E74FTE3AJFJ256A.

", "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

", "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, @@ -3772,6 +3924,8 @@ "CreateInvalidationResult$Location": "

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", "CreateKeyGroupResult$Location": "

The URL of the key group.

", "CreateKeyGroupResult$ETag": "

The identifier for this version of the key group.

", + "CreateKeyValueStoreResult$ETag": "

The ETag in the resulting Key Value Store.

", + "CreateKeyValueStoreResult$Location": "

The location of the resulting Key Value Store.

", "CreateMonitoringSubscriptionRequest$DistributionId": "

The ID of the distribution that you are enabling metrics for.

", "CreateOriginAccessControlResult$Location": "

The URL of the origin access control.

", "CreateOriginAccessControlResult$ETag": "

The version identifier for the current version of the origin access control.

", @@ -3810,6 +3964,7 @@ "DeleteFunctionRequest$IfMatch": "

The current version (ETag value) of the function that you are deleting, which you can get using DescribeFunction.

", "DeleteKeyGroupRequest$Id": "

The identifier of the key group that you are deleting. To get the identifier, use ListKeyGroups.

", "DeleteKeyGroupRequest$IfMatch": "

The version of the key group that you are deleting. The version is the key group's ETag value. To get the ETag, use GetKeyGroup or GetKeyGroupConfig.

", + "DeleteKeyValueStoreRequest$IfMatch": "

The Key Value Store to delete, if a match occurs.

", "DeleteMonitoringSubscriptionRequest$DistributionId": "

The ID of the distribution that you are disabling metrics for.

", "DeleteOriginAccessControlRequest$Id": "

The unique identifier of the origin access control that you are deleting.

", "DeleteOriginAccessControlRequest$IfMatch": "

The current version (ETag value) of the origin access control that you are deleting.

", @@ -3825,6 +3980,7 @@ "DeleteStreamingDistributionRequest$IfMatch": "

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", "DescribeFunctionRequest$Name": "

The name of the function that you are getting information about.

", "DescribeFunctionResult$ETag": "

The version identifier for the current version of the CloudFront function.

", + "DescribeKeyValueStoreResult$ETag": "

The ETag of the resulting Key Value Store.

", "Distribution$Id": "

The distribution's identifier. For example: E1U5RQF7T870K0.

", "Distribution$ARN": "

The distribution's Amazon Resource Name (ARN).

", "Distribution$Status": "

The distribution's status. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

", @@ -3849,6 +4005,10 @@ "EncryptionEntity$PublicKeyId": "

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

", "EncryptionEntity$ProviderId": "

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

", "EndPoint$StreamType": "

The type of data stream where you are sending real-time log data. The only valid value is Kinesis.

", + "EntityAlreadyExists$Message": null, + "EntityLimitExceeded$Message": null, + "EntityNotFound$Message": null, + "EntitySizeLimitExceeded$Message": null, "FieldLevelEncryption$Id": "

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

", "FieldLevelEncryptionConfig$CallerReference": "

A unique number that ensures the request can't be replayed.

", "FieldLevelEncryptionConfig$Comment": "

An optional comment about the configuration. The comment cannot be longer than 128 characters.

", @@ -3939,6 +4099,7 @@ "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior$Message": null, "IllegalOriginAccessConfiguration$Message": null, "IllegalUpdate$Message": null, + "ImportSource$SourceARN": "

The Amazon Resource Name (ARN) of the import source for the Key Value Store.

", "InconsistentQuantities$Message": null, "InvalidArgument$Message": null, "InvalidDefaultRootObject$Message": null, @@ -3980,6 +4141,12 @@ "KeyGroupConfig$Comment": "

A comment to describe the key group. The comment cannot be longer than 128 characters.

", "KeyGroupList$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing key groups.

", "KeyPairIdList$member": null, + "KeyValueStore$Name": "

The name of the Key Value Store.

", + "KeyValueStore$Id": "

The unique Id for the Key Value Store.

", + "KeyValueStore$Comment": "

A comment for the Key Value Store.

", + "KeyValueStore$ARN": "

The Amazon Resource Name (ARN) of the Key Value Store.

", + "KeyValueStore$Status": "

The status of the Key Value Store.

", + "KeyValueStoreList$NextMarker": "

The next marker associated with the Key Value Store list.

", "KinesisStreamConfig$RoleARN": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.

For more information the IAM role, see Real-time log configuration IAM role in the Amazon CloudFront Developer Guide.

", "KinesisStreamConfig$StreamARN": "

The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.

", "ListCachePoliciesRequest$Marker": "

Use this field when paginating results to indicate where to begin in your list of cache policies. The response includes cache policies in the list that occur after the marker. To get the next page of the list, set this field's value to the value of NextMarker from the current page's response.

", @@ -4021,6 +4188,9 @@ "ListInvalidationsRequest$MaxItems": "

The maximum number of invalidation batches that you want in the response body.

", "ListKeyGroupsRequest$Marker": "

Use this field when paginating results to indicate where to begin in your list of key groups. The response includes key groups in the list that occur after the marker. To get the next page of the list, set this field's value to the value of NextMarker from the current page's response.

", "ListKeyGroupsRequest$MaxItems": "

The maximum number of key groups that you want in the response.

", + "ListKeyValueStoresRequest$Marker": "

The marker associated with the Key Value Stores list.

", + "ListKeyValueStoresRequest$MaxItems": "

The maximum number of items in the Key Value Stores list.

", + "ListKeyValueStoresRequest$Status": "

The status of the request for the Key Value Stores list.

", "ListOriginAccessControlsRequest$Marker": "

Use this field when paginating results to indicate where to begin in your list of origin access controls. The response includes the items in the list that occur after the marker. To get the next page of the list, set this field's value to the value of NextMarker from the current page's response.

", "ListOriginAccessControlsRequest$MaxItems": "

The maximum number of origin access controls that you want in the response.

", "ListOriginRequestPoliciesRequest$Marker": "

Use this field when paginating results to indicate where to begin in your list of origin request policies. The response includes origin request policies in the list that occur after the marker. To get the next page of the list, set this field's value to the value of NextMarker from the current page's response.

", @@ -4230,6 +4400,8 @@ "UpdateKeyGroupRequest$Id": "

The identifier of the key group that you are updating.

", "UpdateKeyGroupRequest$IfMatch": "

The version of the key group that you are updating. The version is the key group's ETag value.

", "UpdateKeyGroupResult$ETag": "

The identifier for this version of the key group.

", + "UpdateKeyValueStoreRequest$IfMatch": "

The Key Value Store to update, if a match occurs.

", + "UpdateKeyValueStoreResult$ETag": "

The ETag of the resulting Key Value Store.

", "UpdateOriginAccessControlRequest$Id": "

The unique identifier of the origin access control that you are updating.

", "UpdateOriginAccessControlRequest$IfMatch": "

The current version (ETag value) of the origin access control that you are updating.

", "UpdateOriginAccessControlResult$ETag": "

The new version of the origin access control after it has been updated.

", @@ -4261,13 +4433,14 @@ "DistributionSummary$LastModifiedTime": "

The date and time the distribution was last modified.

", "FieldLevelEncryption$LastModifiedTime": "

The last time the field-level encryption configuration was changed.

", "FieldLevelEncryptionProfile$LastModifiedTime": "

The last time the field-level encryption profile was updated.

", - "FieldLevelEncryptionProfileSummary$LastModifiedTime": "

The time when the the field-level encryption profile summary was last updated.

", + "FieldLevelEncryptionProfileSummary$LastModifiedTime": "

The time when the field-level encryption profile summary was last updated.

", "FieldLevelEncryptionSummary$LastModifiedTime": "

The last time that the summary of field-level encryption items was modified.

", "FunctionMetadata$CreatedTime": "

The date and time when the function was created.

", "FunctionMetadata$LastModifiedTime": "

The date and time when the function was most recently updated.

", "Invalidation$CreateTime": "

The date and time the invalidation request was first made.

", "InvalidationSummary$CreateTime": "

The time that an invalidation request was created.

", "KeyGroup$LastModifiedTime": "

The date and time when the key group was last modified.

", + "KeyValueStore$LastModifiedTime": "

The last-modified time of the Key Value Store.

", "OriginRequestPolicy$LastModifiedTime": "

The date and time when the origin request policy was last modified.

", "PublicKey$CreatedTime": "

The date and time when the public key was uploaded.

", "PublicKeySummary$CreatedTime": "

The date and time when the public key was uploaded.

", diff --git a/models/apis/cloudfront/2020-05-31/endpoint-rule-set-1.json b/models/apis/cloudfront/2020-05-31/endpoint-rule-set-1.json index 07a287ff6fe..d8511d0b901 100644 --- a/models/apis/cloudfront/2020-05-31/endpoint-rule-set-1.json +++ b/models/apis/cloudfront/2020-05-31/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,446 +57,411 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "stringEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://cloudfront.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "cloudfront", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://cloudfront.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "cloudfront", + "signingRegion": "us-east-1" + } + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://cloudfront-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "cloudfront", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://cloudfront-fips.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "cloudfront", + "signingRegion": "us-east-1" + } + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-cn" + "name" ] }, + "aws-cn" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://cloudfront.cn-northwest-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "cloudfront", + "signingRegion": "cn-northwest-1" } - ], - "endpoint": { - "url": "https://cloudfront.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "cloudfront", - "signingRegion": "cn-northwest-1" - } - ] + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, - "headers": {} - }, - "type": "endpoint" + true + ] }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://cloudfront-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://cloudfront-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://cloudfront-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://cloudfront-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://cloudfront.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://cloudfront.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cloudfront.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://cloudfront.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/cloudfront/2020-05-31/examples-1.json b/models/apis/cloudfront/2020-05-31/examples-1.json index 0ea7e3b0bbe..49c650bf363 100644 --- a/models/apis/cloudfront/2020-05-31/examples-1.json +++ b/models/apis/cloudfront/2020-05-31/examples-1.json @@ -1,5 +1,256 @@ { "version": "1.0", "examples": { + "CreateFunction": [ + { + "input": { + "FunctionCode": "function-code.js", + "FunctionConfig": { + "Comment": "my-function-comment", + "KeyValueStoreAssociations": { + "Items": [ + { + "KeyValueStoreARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889" + } + ], + "Quantity": 1 + }, + "Runtime": "cloudfront-js-2.0" + }, + "Name": "my-function-name" + }, + "output": { + "ETag": "ETVPDKIKX0DER", + "FunctionSummary": { + "FunctionConfig": { + "Comment": "my-function-comment", + "KeyValueStoreAssociations": { + "Items": [ + { + "KeyValueStoreARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889" + } + ], + "Quantity": 1 + }, + "Runtime": "cloudfront-js-2.0" + }, + "FunctionMetadata": { + "CreatedTime": "2023-11-07T19:53:50.334Z", + "FunctionARN": "arn:aws:cloudfront::123456789012:function/my-function-name", + "LastModifiedTime": "2023-11-07T19:53:50.334Z", + "Stage": "DEVELOPMENT" + }, + "Name": "my-function-name", + "Status": "UNPUBLISHED" + }, + "Location": "https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront::123456789012:function/my-function-name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Use the following command to create a function.", + "id": "to-create-a-function-1699737558249", + "title": "To create a function" + } + ], + "CreateKeyValueStore": [ + { + "input": { + "Comment": "my-key-valuestore-comment", + "ImportSource": { + "SourceARN": "arn:aws:s3:::my-bucket/validJSON.json", + "SourceType": "S3" + }, + "Name": "my-keyvaluestore-name" + }, + "output": { + "ETag": "ETVPDKIKX0DER", + "KeyValueStore": { + "ARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889", + "Comment": "my-key-valuestore-comment", + "Id": "54947df8-0e9e-4471-a2f9-9af509fb5889", + "LastModifiedTime": "2023-11-07T18:15:52.042Z", + "Name": "my-keyvaluestore-name", + "Status": "PROVISIONING" + }, + "Location": "https://cloudfront.amazonaws.com/2020-05-31/key-value-store/arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Use the following command to create a KeyValueStore.", + "id": "to-create-a-key-value-store-1699751722467", + "title": "To create a KeyValueStore" + } + ], + "DeleteKeyValueStore": [ + { + "input": { + "IfMatch": "ETVPDKIKX0DER", + "Name": "my-keyvaluestore-name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Use the following command to delete a KeyValueStore.", + "id": "to-delete-a-key-value-store-1699751759648", + "title": "To delete a KeyValueStore" + } + ], + "DescribeKeyValueStore": [ + { + "input": { + "Name": "my-keyvaluestore-name" + }, + "output": { + "ETag": "ETVPDKIKX0DER", + "KeyValueStore": { + "ARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889", + "Comment": "my-key-valuestore-comment", + "Id": "54947df8-0e9e-4471-a2f9-9af509fb5889", + "LastModifiedTime": "2023-11-07T18:20:33.056Z", + "Name": "my-keyvaluestore-name", + "Status": "READY" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Use the following command to describe a KeyValueStore.", + "id": "to-describe-a-key-value-store-1699751788152", + "title": "To describe a KeyValueStore" + } + ], + "ListKeyValueStores": [ + { + "input": { + "Marker": "", + "MaxItems": "100", + "Status": "READY" + }, + "output": { + "KeyValueStoreList": { + "Items": [ + { + "ARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889", + "Comment": "", + "Id": "54947df8-0e9e-4471-a2f9-9af509fb5889", + "LastModifiedTime": "2023-11-07T18:45:21.069Z", + "Name": "my-keyvaluestore-name", + "Status": "READY" + } + ], + "MaxItems": 100, + "NextMarker": "", + "Quantity": 1 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command retrieves a list of KeyValueStores with READY status.", + "id": "to-get-a-list-of-key-value-store-1699751799198", + "title": "To get a list of KeyValueStores" + } + ], + "UpdateFunction": [ + { + "input": { + "FunctionCode": "function-code-changed.js", + "FunctionConfig": { + "Comment": "my-changed-comment", + "KeyValueStoreAssociations": { + "Items": [ + { + "KeyValueStoreARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889" + } + ], + "Quantity": 1 + }, + "Runtime": "cloudfront-js-2.0" + }, + "IfMatch": "ETVPDKIKX0DER", + "Name": "my-function-name" + }, + "output": { + "ETag": "E3UN6WX5RRO2AG", + "FunctionSummary": { + "FunctionConfig": { + "Comment": "my-changed-comment", + "KeyValueStoreAssociations": { + "Items": [ + { + "KeyValueStoreARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889" + } + ], + "Quantity": 1 + }, + "Runtime": "cloudfront-js-2.0" + }, + "FunctionMetadata": { + "CreatedTime": "2023-11-07T19:53:50.334Z", + "FunctionARN": "arn:aws:cloudfront::123456789012:function/my-function-name", + "LastModifiedTime": "2023-11-07T20:01:37.174Z", + "Stage": "DEVELOPMENT" + }, + "Name": "my-function-name", + "Status": "UNPUBLISHED" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Use the following command to update a function.", + "id": "to-update-a-function-1699751865053", + "title": "To update a function" + } + ], + "UpdateKeyValueStore": [ + { + "input": { + "Comment": "my-changed-comment", + "IfMatch": "ETVPDKIKX0DER", + "Name": "my-keyvaluestore-name" + }, + "output": { + "ETag": "E3UN6WX5RRO2AG", + "KeyValueStore": { + "ARN": "arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889", + "Comment": "my-changed-comment", + "Id": "54947df8-0e9e-4471-a2f9-9af509fb5889", + "LastModifiedTime": "2023-11-07T18:45:21.069Z", + "Name": "my-keyvaluestore-name", + "Status": "READY" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Use the following command to update a KeyValueStore.", + "id": "to-update-a-key-value-store-1699751822090", + "title": "To update a KeyValueStore" + } + ] } } diff --git a/models/apis/cloudfront/2020-05-31/paginators-1.json b/models/apis/cloudfront/2020-05-31/paginators-1.json index 8edbda230a3..eeb998207fa 100644 --- a/models/apis/cloudfront/2020-05-31/paginators-1.json +++ b/models/apis/cloudfront/2020-05-31/paginators-1.json @@ -21,6 +21,12 @@ "output_token": "InvalidationList.NextMarker", "result_key": "InvalidationList.Items" }, + "ListKeyValueStores": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "KeyValueStoreList.NextMarker", + "result_key": "KeyValueStoreList.Items" + }, "ListStreamingDistributions": { "input_token": "Marker", "limit_key": "MaxItems", diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 01cf3791a2b..6dbdb4621f2 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -9453,7 +9453,7 @@ "DescribeSecurityGroupsRequest$Filters": "

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

", "DescribeSnapshotTierStatusRequest$Filters": "

The filters.

", "DescribeSnapshotsRequest$Filters": "

The filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

The filters.

", + "DescribeSpotInstanceRequestsRequest$Filters": "

The filters.

", "DescribeSpotPriceHistoryRequest$Filters": "

The filters.

", "DescribeStoreImageTasksRequest$Filters": "

The filters.

When you specify the ImageIds parameter, any filters that you specify are ignored. To use the filters, you must remove the ImageIds parameter.

", "DescribeSubnetsRequest$Filters": "

The filters.

", @@ -12056,8 +12056,8 @@ "CreateTrafficMirrorSessionRequest$PacketLength": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.

If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

For sessions with Network Load Balancer (NLB) Traffic Mirror targets the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

", "CreateTrafficMirrorSessionRequest$SessionNumber": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

", "CreateTrafficMirrorSessionRequest$VirtualNetworkId": "

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

", - "CreateVolumeRequest$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

io1 and io2 volumes support up to 64,000 IOPS only on Instances built on the Nitro System. Other instance families support performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

", - "CreateVolumeRequest$Size": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported volumes sizes for each volume type:

", + "CreateVolumeRequest$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

", + "CreateVolumeRequest$Size": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported volumes sizes for each volume type:

", "CreateVolumeRequest$Throughput": "

The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

This parameter is valid only for gp3 volumes.

Valid Range: Minimum value of 125. Maximum value of 1000.

", "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", "DescribeCapacityBlockOfferingsRequest$InstanceCount": "

The number of instances for which to reserve capacity.

", @@ -12099,8 +12099,8 @@ "DescribeVpcEndpointServicesRequest$MaxResults": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1,000, we return only 1,000 items.

", "DescribeVpcEndpointsRequest$MaxResults": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1,000, we return only 1,000 items.

", "DisableFastLaunchResult$MaxParallelLaunches": "

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

", - "EbsBlockDevice$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

", - "EbsBlockDevice$VolumeSize": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported volumes sizes for each volume type:

", + "EbsBlockDevice$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS.

", + "EbsBlockDevice$VolumeSize": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported sizes for each volume type:

", "EbsBlockDevice$Throughput": "

The throughput that the volume supports, in MiB/s.

This parameter is valid only for gp3 volumes.

Valid Range: Minimum value of 125. Maximum value of 1000.

", "EnableFastLaunchRequest$MaxParallelLaunches": "

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch. Value must be 6 or greater.

", "EnableFastLaunchResult$MaxParallelLaunches": "

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

", @@ -12156,8 +12156,8 @@ "LaunchTemplateEbsBlockDevice$Iops": "

The number of I/O operations per second (IOPS) that the volume supports.

", "LaunchTemplateEbsBlockDevice$VolumeSize": "

The size of the volume, in GiB.

", "LaunchTemplateEbsBlockDevice$Throughput": "

The throughput that the volume supports, in MiB/s.

", - "LaunchTemplateEbsBlockDeviceRequest$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

This parameter is supported for io1, io2, and gp3 volumes only. This parameter is not supported for gp2, st1, sc1, or standard volumes.

", - "LaunchTemplateEbsBlockDeviceRequest$VolumeSize": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:

", + "LaunchTemplateEbsBlockDeviceRequest$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is supported for io1, io2, and gp3 volumes only.

", + "LaunchTemplateEbsBlockDeviceRequest$VolumeSize": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:

", "LaunchTemplateEbsBlockDeviceRequest$Throughput": "

The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.

Valid Range: Minimum value of 125. Maximum value of 1000.

", "LaunchTemplateElasticInferenceAcceleratorResponse$Count": "

The number of elastic inference accelerators to attach to the instance.

Default: 1

", "LaunchTemplateInstanceMetadataOptions$HttpPutResponseHopLimit": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

", @@ -12201,8 +12201,8 @@ "ModifyTrafficMirrorSessionRequest$PacketLength": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

For sessions with Network Load Balancer (NLB) traffic mirror targets, the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

", "ModifyTrafficMirrorSessionRequest$SessionNumber": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

", "ModifyTrafficMirrorSessionRequest$VirtualNetworkId": "

The virtual network ID of the Traffic Mirror session.

", - "ModifyVolumeRequest$Size": "

The target size of the volume, in GiB. The target volume size must be greater than or equal to the existing size of the volume.

The following are the supported volumes sizes for each volume type:

Default: The existing size is retained.

", - "ModifyVolumeRequest$Iops": "

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

", + "ModifyVolumeRequest$Size": "

The target size of the volume, in GiB. The target volume size must be greater than or equal to the existing size of the volume.

The following are the supported volumes sizes for each volume type:

Default: The existing size is retained.

", + "ModifyVolumeRequest$Iops": "

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

", "ModifyVolumeRequest$Throughput": "

The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. The maximum value is 1,000.

Default: The existing value is retained if the source and target volume type is gp3. Otherwise, the default value is 125.

Valid Range: Minimum value of 125. Maximum value of 1000.

", "ModifyVpnTunnelOptionsSpecification$Phase1LifetimeSeconds": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 28,800.

Default: 28800

", "ModifyVpnTunnelOptionsSpecification$Phase2LifetimeSeconds": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

Default: 3600

", @@ -12267,7 +12267,7 @@ "ScheduledInstanceAvailability$TotalScheduledInstanceHours": "

The total number of hours for a single instance for the entire term.

", "ScheduledInstanceRecurrence$Interval": "

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", "ScheduledInstanceRecurrenceRequest$Interval": "

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

", - "ScheduledInstancesEbs$Iops": "

The number of I/O operations per second (IOPS) to provision for an io1 or io2 volume, with a maximum ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB for io2. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide.

This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

", + "ScheduledInstancesEbs$Iops": "

The number of I/O operations per second (IOPS) to provision for a gp3, io1, or io2 volume.

", "ScheduledInstancesEbs$VolumeSize": "

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

", "ScheduledInstancesNetworkInterface$DeviceIndex": "

The index of the device for the network interface attachment.

", "ScheduledInstancesNetworkInterface$Ipv6AddressCount": "

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

", @@ -20711,7 +20711,7 @@ "ScheduledInstancesBlockDeviceMapping$DeviceName": "

The device name (for example, /dev/sdh or xvdh).

", "ScheduledInstancesBlockDeviceMapping$NoDevice": "

To omit the device from the block device mapping, specify an empty string.

", "ScheduledInstancesBlockDeviceMapping$VirtualName": "

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

", - "ScheduledInstancesEbs$VolumeType": "

The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.

Default: gp2

", + "ScheduledInstancesEbs$VolumeType": "

The volume type.

Default: gp2

", "ScheduledInstancesIamInstanceProfile$Arn": "

The Amazon Resource Name (ARN).

", "ScheduledInstancesIamInstanceProfile$Name": "

The name.

", "ScheduledInstancesLaunchSpecification$InstanceType": "

The instance type.

", @@ -23700,7 +23700,7 @@ "base": null, "refs": { "CreateVolumeRequest$VolumeType": "

The volume type. This parameter can be one of the following values:

Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: gp2

", - "EbsBlockDevice$VolumeType": "

The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide. If the volume type is io1 or io2, you must specify the IOPS that the volume supports.

", + "EbsBlockDevice$VolumeType": "

The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide.

", "LaunchTemplateEbsBlockDevice$VolumeType": "

The volume type.

", "LaunchTemplateEbsBlockDeviceRequest$VolumeType": "

The volume type. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

", "ModifyVolumeRequest$VolumeType": "

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: The existing type is retained.

", diff --git a/models/apis/inspector-scan/2023-08-08/api-2.json b/models/apis/inspector-scan/2023-08-08/api-2.json new file mode 100644 index 00000000000..52d96686cd0 --- /dev/null +++ b/models/apis/inspector-scan/2023-08-08/api-2.json @@ -0,0 +1,165 @@ +{ + "metadata": { + "apiVersion": "2023-08-08", + "endpointPrefix": "inspector-scan", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "inspector-scan", + "serviceFullName": "Inspector Scan", + "serviceId": "Inspector Scan", + "signatureVersion": "v4", + "signingName": "inspector-scan", + "uid": "inspector-scan-2023-08-08" + }, + "operations": {}, + "shapes": { + "AccessDeniedException": { + "error": { + "httpStatusCode": 403, + "senderFault": true + }, + "exception": true, + "members": { + "message": { + "shape": "String" + } + }, + "required": [ + "message" + ], + "type": "structure" + }, + "Integer": { + "box": true, + "type": "integer" + }, + "InternalServerException": { + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "fault": true, + "members": { + "message": { + "shape": "String" + }, + "reason": { + "shape": "InternalServerExceptionReason" + }, + "retryAfterSeconds": { + "location": "header", + "locationName": "Retry-After", + "shape": "Integer" + } + }, + "required": [ + "message", + "reason" + ], + "retryable": { + "throttling": false + }, + "type": "structure" + }, + "InternalServerExceptionReason": { + "enum": [ + "FAILED_TO_GENERATE_SBOM", + "OTHER" + ], + "type": "string" + }, + "OutputFormat": { + "enum": [ + "CYCLONE_DX_1_5", + "INSPECTOR" + ], + "type": "string" + }, + "ScanSbomResponse": { + "members": {}, + "type": "structure" + }, + "String": { + "type": "string" + }, + "ThrottlingException": { + "error": { + "httpStatusCode": 429, + "senderFault": true + }, + "exception": true, + "members": { + "message": { + "shape": "String" + }, + "retryAfterSeconds": { + "location": "header", + "locationName": "Retry-After", + "shape": "Integer" + } + }, + "required": [ + "message" + ], + "retryable": { + "throttling": true + }, + "type": "structure" + }, + "ValidationException": { + "error": { + "httpStatusCode": 400, + "senderFault": true + }, + "exception": true, + "members": { + "fields": { + "shape": "ValidationExceptionFields" + }, + "message": { + "shape": "String" + }, + "reason": { + "shape": "ValidationExceptionReason" + } + }, + "required": [ + "message", + "reason" + ], + "type": "structure" + }, + "ValidationExceptionField": { + "members": { + "message": { + "shape": "String" + }, + "name": { + "shape": "String" + } + }, + "required": [ + "name", + "message" + ], + "type": "structure" + }, + "ValidationExceptionFields": { + "member": { + "shape": "ValidationExceptionField" + }, + "type": "list" + }, + "ValidationExceptionReason": { + "enum": [ + "UNKNOWN_OPERATION", + "CANNOT_PARSE", + "FIELD_VALIDATION_FAILED", + "UNSUPPORTED_SBOM_TYPE", + "OTHER" + ], + "type": "string" + } + }, + "version": "2.0" +} \ No newline at end of file diff --git a/models/apis/inspector-scan/2023-08-08/docs-2.json b/models/apis/inspector-scan/2023-08-08/docs-2.json new file mode 100644 index 00000000000..b8ccd95b195 --- /dev/null +++ b/models/apis/inspector-scan/2023-08-08/docs-2.json @@ -0,0 +1,94 @@ +{ + "version": "2.0", + "service": "

Amazon Inspector Scan is a vulnerability discovery service that scans a provided Software Bill of Materials (SBOM) for security vulnerabilities.

", + "operations": { + "ScanSbom": "

Scans a provided CycloneDX 1.5 SBOM and reports on any vulnerabilities discovered in that SBOM. You can generate compatible SBOMs for your resources using the Amazon Inspector SBOM generator.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "Integer": { + "base": null, + "refs": { + "InternalServerException$retryAfterSeconds": "

The number of seconds to wait before retrying the request.

", + "ThrottlingException$retryAfterSeconds": "

The number of seconds to wait before retrying the request.

" + } + }, + "InternalServerException": { + "base": "

The request processing has failed because of an unknown error, exception or failure.

", + "refs": { + } + }, + "InternalServerExceptionReason": { + "base": null, + "refs": { + "InternalServerException$reason": "

The reason for the validation failure.

" + } + }, + "OutputFormat": { + "base": null, + "refs": { + "ScanSbomRequest$outputFormat": "

The output format for the vulnerability report.

" + } + }, + "Sbom": { + "base": null, + "refs": { + "ScanSbomRequest$sbom": "

The JSON file for the SBOM you want to scan. The SBOM must be in CycloneDX 1.5 format.

", + "ScanSbomResponse$sbom": "

The vulnerability report for the scanned SBOM.

" + } + }, + "ScanSbomRequest": { + "base": null, + "refs": { + } + }, + "ScanSbomResponse": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "InternalServerException$message": null, + "ThrottlingException$message": null, + "ValidationException$message": null, + "ValidationExceptionField$name": "

The name of the validation exception.

", + "ValidationExceptionField$message": "

The validation exception message.

" + } + }, + "ThrottlingException": { + "base": "

The request was denied due to request throttling.

", + "refs": { + } + }, + "ValidationException": { + "base": "

The request has failed validation due to missing required fields or having invalid inputs.

", + "refs": { + } + }, + "ValidationExceptionField": { + "base": "

The request has failed validation due to missing required fields or having invalid inputs.

", + "refs": { + "ValidationExceptionFields$member": null + } + }, + "ValidationExceptionFields": { + "base": null, + "refs": { + "ValidationException$fields": "

The fields that failed validation.

" + } + }, + "ValidationExceptionReason": { + "base": null, + "refs": { + "ValidationException$reason": "

The reason for the validation failure.

" + } + } + } +} diff --git a/models/apis/inspector-scan/2023-08-08/endpoint-rule-set-1.json b/models/apis/inspector-scan/2023-08-08/endpoint-rule-set-1.json new file mode 100644 index 00000000000..9742c4ab476 --- /dev/null +++ b/models/apis/inspector-scan/2023-08-08/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://inspector-scan-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://inspector-scan-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://inspector-scan.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://inspector-scan.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/inspector-scan/2023-08-08/endpoint-tests-1.json b/models/apis/inspector-scan/2023-08-08/endpoint-tests-1.json new file mode 100644 index 00000000000..b3d01284bb5 --- /dev/null +++ b/models/apis/inspector-scan/2023-08-08/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://inspector-scan.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/inspector-scan/2023-08-08/examples-1.json b/models/apis/inspector-scan/2023-08-08/examples-1.json new file mode 100644 index 00000000000..76aee75201e --- /dev/null +++ b/models/apis/inspector-scan/2023-08-08/examples-1.json @@ -0,0 +1,174 @@ +{ + "version": "1.0", + "examples": { + "ScanSbom": [ + { + "input": { + "outputFormat": "CYCLONE_DX_1_5", + "sbom": { + "bomFormat": "CycloneDX", + "components": [ + { + "name": "log4j-core", + "type": "library", + "purl": "pkg:maven/org.apache.logging.log4j/log4j-core@2.17.0" + } + ], + "specVersion": "1.5" + } + }, + "output": { + "sbom": { + "metadata": { + "properties": [ + { + "name": "amazon:inspector:sbom_scanner:critical_vulnerabilities", + "value": "0" + }, + { + "name": "amazon:inspector:sbom_scanner:high_vulnerabilities", + "value": "0" + }, + { + "name": "amazon:inspector:sbom_scanner:medium_vulnerabilities", + "value": "1" + }, + { + "name": "amazon:inspector:sbom_scanner:low_vulnerabilities", + "value": "0" + } + ], + "timestamp": "2023-11-16T02:55:34.355Z", + "tools": [ + { + "version": "9f8c30ff+20b2305b", + "name": "CycloneDX SBOM API", + "vendor": "Amazon Inspector" + } + ] + }, + "bomFormat": "CycloneDX", + "components": [ + { + "name": "log4j-core", + "type": "library", + "bom-ref": "comp-1", + "purl": "pkg:maven/org.apache.logging.log4j/log4j-core@2.17.0" + } + ], + "serialNumber": "urn:uuid:26de5e0a-deb4-4b38-a208-7d19c1832e8c", + "specVersion": "1.5", + "vulnerabilities": [ + { + "advisories": [ + { + "url": "https://www.oracle.com/security-alerts/cpujan2022.html" + }, + { + "url": "https://lists.debian.org/debian-lts-announce/2021/12/msg00036.html" + }, + { + "url": "https://cert-portal.siemens.com/productcert/pdf/ssa-784507.pdf" + }, + { + "url": "https://lists.apache.org/thread/s1o5vlo78ypqxnzn6p8zf6t9shtq5143" + }, + { + "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/EVV25FXL4FU5X6X5BSL7RLQ7T6F65MRA/" + }, + { + "url": "https://www.oracle.com/security-alerts/cpuapr2022.html" + }, + { + "url": "https://www.oracle.com/security-alerts/cpujul2022.html" + }, + { + "url": "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apache-log4j-qRuKNEbd" + }, + { + "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/T57MPJUW3MA6QGWZRTMCHHMMPQNVKGFC/" + }, + { + "url": "https://issues.apache.org/jira/browse/LOG4J2-3293" + } + ], + "affects": [ + { + "ref": "comp-1" + } + ], + "bom-ref": "vuln-1", + "created": "2021-12-28T20:15:08Z", + "cwes": [ + 20, + 74 + ], + "description": "Apache Log4j2 versions 2.0-beta7 through 2.17.0 (excluding security fix releases 2.3.2 and 2.12.4) are vulnerable to a remote code execution (RCE) attack when a configuration uses a JDBC Appender with a JNDI LDAP data source URI when an attacker has control of the target LDAP server. This issue is fixed by limiting JNDI data source names to the java protocol in Log4j2 versions 2.17.1, 2.12.4, and 2.3.2.", + "id": "CVE-2021-44832", + "properties": [ + { + "name": "amazon:inspector:sbom_scanner:exploit_available", + "value": "true" + }, + { + "name": "amazon:inspector:sbom_scanner:exploit_last_seen_in_public", + "value": "2023-01-02T00:00:00Z" + }, + { + "name": "amazon:inspector:sbom_scanner:fixed_version:comp-1", + "value": "2.17.1" + } + ], + "ratings": [ + { + "method": "CVSSv31", + "score": 6.5, + "severity": "medium", + "source": { + "name": "NVD", + "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44832" + }, + "vector": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H" + }, + { + "method": "other", + "score": 0.02686, + "severity": "none", + "source": { + "name": "EPSS", + "url": "https://www.first.org/epss/" + }, + "vector": "model:v2023.03.01,date:2023-11-15T00:00:00+0000" + } + ], + "references": [ + { + "id": "GHSA-8489-44mv-ggj8", + "source": { + "name": "GITHUB_SEC", + "url": "https://github.com/advisories" + } + }, + { + "id": "SNYK-JAVA-ORGAPACHELOGGINGLOG4J-2327339", + "source": { + "name": "SNYK", + "url": "https://security.snyk.io/vuln" + } + } + ], + "source": { + "name": "NVD", + "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44832" + }, + "updated": "2023-11-07T03:39:43Z" + } + ] + } + }, + "id": "example-1", + "title": "Sample ScanSbom Call" + } + ] + } +} diff --git a/models/apis/inspector-scan/2023-08-08/paginators-1.json b/models/apis/inspector-scan/2023-08-08/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/inspector-scan/2023-08-08/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/iotsitewise/2019-12-02/api-2.json b/models/apis/iotsitewise/2019-12-02/api-2.json index 3b08832c54a..43228f57a9b 100644 --- a/models/apis/iotsitewise/2019-12-02/api-2.json +++ b/models/apis/iotsitewise/2019-12-02/api-2.json @@ -206,6 +206,26 @@ ], "endpoint":{"hostPrefix":"api."} }, + "CreateAssetModelCompositeModel":{ + "name":"CreateAssetModelCompositeModel", + "http":{ + "method":"POST", + "requestUri":"/asset-models/{assetModelId}/composite-models", + "responseCode":202 + }, + "input":{"shape":"CreateAssetModelCompositeModelRequest"}, + "output":{"shape":"CreateAssetModelCompositeModelResponse"}, + "errors":[ + {"shape":"ConflictingOperationException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "CreateBulkImportJob":{ "name":"CreateBulkImportJob", "http":{ @@ -351,6 +371,24 @@ ], "endpoint":{"hostPrefix":"api."} }, + "DeleteAssetModelCompositeModel":{ + "name":"DeleteAssetModelCompositeModel", + "http":{ + "method":"DELETE", + "requestUri":"/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}", + "responseCode":202 + }, + "input":{"shape":"DeleteAssetModelCompositeModelRequest"}, + "output":{"shape":"DeleteAssetModelCompositeModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "DeleteDashboard":{ "name":"DeleteDashboard", "http":{ @@ -451,6 +489,22 @@ ], "endpoint":{"hostPrefix":"monitor."} }, + "DescribeAction":{ + "name":"DescribeAction", + "http":{ + "method":"GET", + "requestUri":"/actions/{actionId}" + }, + "input":{"shape":"DescribeActionRequest"}, + "output":{"shape":"DescribeActionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "DescribeAsset":{ "name":"DescribeAsset", "http":{ @@ -467,6 +521,22 @@ ], "endpoint":{"hostPrefix":"api."} }, + "DescribeAssetCompositeModel":{ + "name":"DescribeAssetCompositeModel", + "http":{ + "method":"GET", + "requestUri":"/assets/{assetId}/composite-models/{assetCompositeModelId}" + }, + "input":{"shape":"DescribeAssetCompositeModelRequest"}, + "output":{"shape":"DescribeAssetCompositeModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "DescribeAssetModel":{ "name":"DescribeAssetModel", "http":{ @@ -483,6 +553,22 @@ ], "endpoint":{"hostPrefix":"api."} }, + "DescribeAssetModelCompositeModel":{ + "name":"DescribeAssetModelCompositeModel", + "http":{ + "method":"GET", + "requestUri":"/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}" + }, + "input":{"shape":"DescribeAssetModelCompositeModelRequest"}, + "output":{"shape":"DescribeAssetModelCompositeModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "DescribeAssetProperty":{ "name":"DescribeAssetProperty", "http":{ @@ -695,6 +781,44 @@ ], "endpoint":{"hostPrefix":"api."} }, + "ExecuteAction":{ + "name":"ExecuteAction", + "http":{ + "method":"POST", + "requestUri":"/actions", + "responseCode":202 + }, + "input":{"shape":"ExecuteActionRequest"}, + "output":{"shape":"ExecuteActionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictingOperationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ExecuteQuery":{ + "name":"ExecuteQuery", + "http":{ + "method":"POST", + "requestUri":"/queries/execution" + }, + "input":{"shape":"ExecuteQueryRequest"}, + "output":{"shape":"ExecuteQueryResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"QueryTimeoutException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "endpoint":{"hostPrefix":"data."} + }, "GetAssetPropertyAggregates":{ "name":"GetAssetPropertyAggregates", "http":{ @@ -779,6 +903,38 @@ ], "endpoint":{"hostPrefix":"monitor."} }, + "ListActions":{ + "name":"ListActions", + "http":{ + "method":"GET", + "requestUri":"/actions" + }, + "input":{"shape":"ListActionsRequest"}, + "output":{"shape":"ListActionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ListAssetModelCompositeModels":{ + "name":"ListAssetModelCompositeModels", + "http":{ + "method":"GET", + "requestUri":"/asset-models/{assetModelId}/composite-models" + }, + "input":{"shape":"ListAssetModelCompositeModelsRequest"}, + "output":{"shape":"ListAssetModelCompositeModelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "ListAssetModelProperties":{ "name":"ListAssetModelProperties", "http":{ @@ -890,6 +1046,22 @@ ], "endpoint":{"hostPrefix":"data."} }, + "ListCompositionRelationships":{ + "name":"ListCompositionRelationships", + "http":{ + "method":"GET", + "requestUri":"/asset-models/{assetModelId}/composition-relationships" + }, + "input":{"shape":"ListCompositionRelationshipsRequest"}, + "output":{"shape":"ListCompositionRelationshipsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "ListDashboards":{ "name":"ListDashboards", "http":{ @@ -1152,6 +1324,26 @@ ], "endpoint":{"hostPrefix":"api."} }, + "UpdateAssetModelCompositeModel":{ + "name":"UpdateAssetModelCompositeModel", + "http":{ + "method":"PUT", + "requestUri":"/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}", + "responseCode":202 + }, + "input":{"shape":"UpdateAssetModelCompositeModelRequest"}, + "output":{"shape":"UpdateAssetModelCompositeModelResponse"}, + "errors":[ + {"shape":"ConflictingOperationException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, "UpdateAssetProperty":{ "name":"UpdateAssetProperty", "http":{ @@ -1261,7 +1453,15 @@ "type":"string", "max":1600, "min":1, - "pattern":".*" + "pattern":"^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":403}, + "exception":true }, "AccessPolicySummaries":{ "type":"list", @@ -1284,6 +1484,47 @@ "lastUpdateDate":{"shape":"Timestamp"} } }, + "ActionDefinition":{ + "type":"structure", + "required":[ + "actionDefinitionId", + "actionName", + "actionType" + ], + "members":{ + "actionDefinitionId":{"shape":"ID"}, + "actionName":{"shape":"Name"}, + "actionType":{"shape":"Name"} + } + }, + "ActionDefinitions":{ + "type":"list", + "member":{"shape":"ActionDefinition"} + }, + "ActionPayload":{ + "type":"structure", + "required":["stringValue"], + "members":{ + "stringValue":{"shape":"ActionPayloadString"} + } + }, + "ActionPayloadString":{ + "type":"string", + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "ActionSummaries":{ + "type":"list", + "member":{"shape":"ActionSummary"} + }, + "ActionSummary":{ + "type":"structure", + "members":{ + "actionId":{"shape":"ID"}, + "actionDefinitionId":{"shape":"ID"}, + "targetResource":{"shape":"TargetResource"} + } + }, + "AdaptiveIngestion":{"type":"boolean"}, "AggregateType":{ "type":"string", "enum":[ @@ -1353,7 +1594,41 @@ "description":{"shape":"Description"}, "type":{"shape":"Name"}, "properties":{"shape":"AssetProperties"}, - "id":{"shape":"ID"} + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"} + } + }, + "AssetCompositeModelPath":{ + "type":"list", + "member":{"shape":"AssetCompositeModelPathSegment"} + }, + "AssetCompositeModelPathSegment":{ + "type":"structure", + "members":{ + "id":{"shape":"ID"}, + "name":{"shape":"Name"} + } + }, + "AssetCompositeModelSummaries":{ + "type":"list", + "member":{"shape":"AssetCompositeModelSummary"} + }, + "AssetCompositeModelSummary":{ + "type":"structure", + "required":[ + "id", + "name", + "type", + "description", + "path" + ], + "members":{ + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"}, + "name":{"shape":"Name"}, + "type":{"shape":"Name"}, + "description":{"shape":"Description"}, + "path":{"shape":"AssetCompositeModelPath"} } }, "AssetCompositeModels":{ @@ -1387,7 +1662,8 @@ "required":["name"], "members":{ "id":{"shape":"ID"}, - "name":{"shape":"Name"} + "name":{"shape":"Name"}, + "externalId":{"shape":"ExternalId"} } }, "AssetHierarchyInfo":{ @@ -1412,7 +1688,8 @@ "description":{"shape":"Description"}, "type":{"shape":"Name"}, "properties":{"shape":"AssetModelProperties"}, - "id":{"shape":"ID"} + "id":{"shape":"CustomID"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelCompositeModelDefinition":{ @@ -1425,13 +1702,46 @@ "name":{"shape":"Name"}, "description":{"shape":"Description"}, "type":{"shape":"Name"}, - "properties":{"shape":"AssetModelPropertyDefinitions"} + "properties":{"shape":"AssetModelPropertyDefinitions"}, + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelCompositeModelDefinitions":{ "type":"list", "member":{"shape":"AssetModelCompositeModelDefinition"} }, + "AssetModelCompositeModelPath":{ + "type":"list", + "member":{"shape":"AssetModelCompositeModelPathSegment"} + }, + "AssetModelCompositeModelPathSegment":{ + "type":"structure", + "members":{ + "id":{"shape":"ID"}, + "name":{"shape":"Name"} + } + }, + "AssetModelCompositeModelSummaries":{ + "type":"list", + "member":{"shape":"AssetModelCompositeModelSummary"} + }, + "AssetModelCompositeModelSummary":{ + "type":"structure", + "required":[ + "id", + "name", + "type" + ], + "members":{ + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"}, + "name":{"shape":"Name"}, + "type":{"shape":"Name"}, + "description":{"shape":"Description"}, + "path":{"shape":"AssetModelCompositeModelPath"} + } + }, "AssetModelCompositeModels":{ "type":"list", "member":{"shape":"AssetModelCompositeModel"} @@ -1447,9 +1757,10 @@ "childAssetModelId" ], "members":{ - "id":{"shape":"ID"}, + "id":{"shape":"CustomID"}, "name":{"shape":"Name"}, - "childAssetModelId":{"shape":"ID"} + "childAssetModelId":{"shape":"CustomID"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelHierarchyDefinition":{ @@ -1460,7 +1771,9 @@ ], "members":{ "name":{"shape":"Name"}, - "childAssetModelId":{"shape":"ID"} + "childAssetModelId":{"shape":"CustomID"}, + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelHierarchyDefinitions":{ @@ -1479,12 +1792,14 @@ "type" ], "members":{ - "id":{"shape":"ID"}, + "id":{"shape":"CustomID"}, "name":{"shape":"Name"}, "dataType":{"shape":"PropertyDataType"}, "dataTypeSpec":{"shape":"Name"}, "unit":{"shape":"PropertyUnit"}, - "type":{"shape":"PropertyType"} + "type":{"shape":"PropertyType"}, + "path":{"shape":"AssetModelPropertyPath"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelPropertyDefinition":{ @@ -1499,13 +1814,26 @@ "dataType":{"shape":"PropertyDataType"}, "dataTypeSpec":{"shape":"Name"}, "unit":{"shape":"PropertyUnit"}, - "type":{"shape":"PropertyType"} + "type":{"shape":"PropertyType"}, + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelPropertyDefinitions":{ "type":"list", "member":{"shape":"AssetModelPropertyDefinition"} }, + "AssetModelPropertyPath":{ + "type":"list", + "member":{"shape":"AssetModelPropertyPathSegment"} + }, + "AssetModelPropertyPathSegment":{ + "type":"structure", + "members":{ + "id":{"shape":"ID"}, + "name":{"shape":"Name"} + } + }, "AssetModelPropertySummaries":{ "type":"list", "member":{"shape":"AssetModelPropertySummary"} @@ -1524,7 +1852,9 @@ "dataTypeSpec":{"shape":"Name"}, "unit":{"shape":"PropertyUnit"}, "type":{"shape":"PropertyType"}, - "assetModelCompositeModelId":{"shape":"ID"} + "assetModelCompositeModelId":{"shape":"ID"}, + "path":{"shape":"AssetModelPropertyPath"}, + "externalId":{"shape":"ExternalId"} } }, "AssetModelState":{ @@ -1568,9 +1898,18 @@ "description":{"shape":"Description"}, "creationDate":{"shape":"Timestamp"}, "lastUpdateDate":{"shape":"Timestamp"}, - "status":{"shape":"AssetModelStatus"} + "status":{"shape":"AssetModelStatus"}, + "assetModelType":{"shape":"AssetModelType"}, + "externalId":{"shape":"ExternalId"} } }, + "AssetModelType":{ + "type":"string", + "enum":[ + "ASSET_MODEL", + "COMPONENT_MODEL" + ] + }, "AssetProperties":{ "type":"list", "member":{"shape":"AssetProperty"} @@ -1589,7 +1928,9 @@ "notification":{"shape":"PropertyNotification"}, "dataType":{"shape":"PropertyDataType"}, "dataTypeSpec":{"shape":"Name"}, - "unit":{"shape":"PropertyUnit"} + "unit":{"shape":"PropertyUnit"}, + "path":{"shape":"AssetPropertyPath"}, + "externalId":{"shape":"ExternalId"} } }, "AssetPropertyAlias":{ @@ -1598,18 +1939,32 @@ "min":1, "pattern":"[^\\u0000-\\u001F\\u007F]+" }, + "AssetPropertyPath":{ + "type":"list", + "member":{"shape":"AssetPropertyPathSegment"} + }, + "AssetPropertyPathSegment":{ + "type":"structure", + "members":{ + "id":{"shape":"ID"}, + "name":{"shape":"Name"} + } + }, "AssetPropertySummaries":{ "type":"list", "member":{"shape":"AssetPropertySummary"} }, "AssetPropertySummary":{ "type":"structure", + "required":["id"], "members":{ "id":{"shape":"ID"}, "alias":{"shape":"PropertyAlias"}, "unit":{"shape":"PropertyUnit"}, "notification":{"shape":"PropertyNotification"}, - "assetCompositeModelId":{"shape":"ID"} + "assetCompositeModelId":{"shape":"ID"}, + "path":{"shape":"AssetPropertyPath"}, + "externalId":{"shape":"ExternalId"} } }, "AssetPropertyValue":{ @@ -1691,7 +2046,8 @@ "lastUpdateDate":{"shape":"Timestamp"}, "status":{"shape":"AssetStatus"}, "hierarchies":{"shape":"AssetHierarchies"}, - "description":{"shape":"Description"} + "description":{"shape":"Description"}, + "externalId":{"shape":"ExternalId"} } }, "AssociateAssetsRequest":{ @@ -1703,12 +2059,12 @@ ], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, - "hierarchyId":{"shape":"ID"}, - "childAssetId":{"shape":"ID"}, + "hierarchyId":{"shape":"CustomID"}, + "childAssetId":{"shape":"CustomID"}, "clientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -1729,12 +2085,12 @@ "locationName":"alias" }, "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"assetId" }, "propertyId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"propertyId" }, @@ -1769,7 +2125,8 @@ "lastUpdateDate":{"shape":"Timestamp"}, "status":{"shape":"AssetStatus"}, "hierarchies":{"shape":"AssetHierarchies"}, - "description":{"shape":"Description"} + "description":{"shape":"Description"}, + "externalId":{"shape":"ExternalId"} } }, "Attribute":{ @@ -2273,6 +2630,13 @@ "min":36, "pattern":"\\S{36,64}" }, + "ColumnInfo":{ + "type":"structure", + "members":{ + "name":{"shape":"String"}, + "type":{"shape":"ColumnType"} + } + }, "ColumnName":{ "type":"string", "enum":[ @@ -2290,6 +2654,16 @@ "type":"list", "member":{"shape":"ColumnName"} }, + "ColumnType":{ + "type":"structure", + "members":{ + "scalarType":{"shape":"ScalarType"} + } + }, + "ColumnsList":{ + "type":"list", + "member":{"shape":"ColumnInfo"} + }, "CompositeModelProperty":{ "type":"structure", "required":[ @@ -2301,9 +2675,43 @@ "name":{"shape":"Name"}, "type":{"shape":"Name"}, "assetProperty":{"shape":"Property"}, + "id":{"shape":"ID"}, + "externalId":{"shape":"ExternalId"} + } + }, + "CompositionDetails":{ + "type":"structure", + "members":{ + "compositionRelationship":{"shape":"CompositionRelationship"} + } + }, + "CompositionRelationship":{ + "type":"list", + "member":{"shape":"CompositionRelationshipItem"} + }, + "CompositionRelationshipItem":{ + "type":"structure", + "members":{ "id":{"shape":"ID"} } }, + "CompositionRelationshipSummaries":{ + "type":"list", + "member":{"shape":"CompositionRelationshipSummary"} + }, + "CompositionRelationshipSummary":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelCompositeModelId", + "assetModelCompositeModelType" + ], + "members":{ + "assetModelId":{"shape":"ID"}, + "assetModelCompositeModelId":{"shape":"ID"}, + "assetModelCompositeModelType":{"shape":"Name"} + } + }, "ComputeLocation":{ "type":"string", "enum":[ @@ -2387,6 +2795,46 @@ "accessPolicyArn":{"shape":"ARN"} } }, + "CreateAssetModelCompositeModelRequest":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelCompositeModelName", + "assetModelCompositeModelType" + ], + "members":{ + "assetModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelId" + }, + "parentAssetModelCompositeModelId":{"shape":"CustomID"}, + "assetModelCompositeModelExternalId":{"shape":"ExternalId"}, + "assetModelCompositeModelId":{"shape":"ID"}, + "assetModelCompositeModelDescription":{"shape":"Description"}, + "assetModelCompositeModelName":{"shape":"Name"}, + "assetModelCompositeModelType":{"shape":"Name"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "composedAssetModelId":{"shape":"CustomID"}, + "assetModelCompositeModelProperties":{"shape":"AssetModelPropertyDefinitions"} + } + }, + "CreateAssetModelCompositeModelResponse":{ + "type":"structure", + "required":[ + "assetModelCompositeModelId", + "assetModelCompositeModelPath", + "assetModelStatus" + ], + "members":{ + "assetModelCompositeModelId":{"shape":"ID"}, + "assetModelCompositeModelPath":{"shape":"AssetModelCompositeModelPath"}, + "assetModelStatus":{"shape":"AssetModelStatus"} + } + }, "CreateAssetModelRequest":{ "type":"structure", "required":["assetModelName"], @@ -2400,7 +2848,10 @@ "shape":"ClientToken", "idempotencyToken":true }, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "assetModelId":{"shape":"ID"}, + "assetModelExternalId":{"shape":"ExternalId"}, + "assetModelType":{"shape":"AssetModelType"} } }, "CreateAssetModelResponse":{ @@ -2424,13 +2875,15 @@ ], "members":{ "assetName":{"shape":"Name"}, - "assetModelId":{"shape":"ID"}, + "assetModelId":{"shape":"CustomID"}, "clientToken":{ "shape":"ClientToken", "idempotencyToken":true }, "tags":{"shape":"TagMap"}, - "assetDescription":{"shape":"Description"} + "assetDescription":{"shape":"Description"}, + "assetId":{"shape":"ID"}, + "assetExternalId":{"shape":"ExternalId"} } }, "CreateAssetResponse":{ @@ -2460,7 +2913,9 @@ "jobRoleArn":{"shape":"ARN"}, "files":{"shape":"Files"}, "errorReportLocation":{"shape":"ErrorReportLocation"}, - "jobConfiguration":{"shape":"JobConfiguration"} + "jobConfiguration":{"shape":"JobConfiguration"}, + "adaptiveIngestion":{"shape":"AdaptiveIngestion"}, + "deleteFilesAfterImport":{"shape":"DeleteFilesAfterImport"} } }, "CreateBulkImportJobResponse":{ @@ -2599,10 +3054,17 @@ }, "Csv":{ "type":"structure", + "required":["columnNames"], "members":{ "columnNames":{"shape":"ColumnNames"} } }, + "CustomID":{ + "type":"string", + "max":139, + "min":13, + "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9]+" + }, "CustomerManagedS3Storage":{ "type":"structure", "required":[ @@ -2638,10 +3100,21 @@ "lastUpdateDate":{"shape":"Timestamp"} } }, + "Datum":{ + "type":"structure", + "members":{ + "scalarValue":{"shape":"ScalarValue"}, + "arrayValue":{"shape":"DatumList"}, + "rowValue":{"shape":"Row"}, + "nullValue":{"shape":"NullableBoolean"} + } + }, + "DatumList":{ + "type":"list", + "member":{"shape":"Datum"} + }, "DefaultValue":{ "type":"string", - "max":1024, - "min":1, "pattern":"[^\\u0000-\\u001F\\u007F]+" }, "DeleteAccessPolicyRequest":{ @@ -2666,12 +3139,44 @@ "members":{ } }, + "DeleteAssetModelCompositeModelRequest":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelCompositeModelId" + ], + "members":{ + "assetModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelId" + }, + "assetModelCompositeModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelCompositeModelId" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteAssetModelCompositeModelResponse":{ + "type":"structure", + "required":["assetModelStatus"], + "members":{ + "assetModelStatus":{"shape":"AssetModelStatus"} + } + }, "DeleteAssetModelRequest":{ "type":"structure", "required":["assetModelId"], "members":{ "assetModelId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetModelId" }, @@ -2695,7 +3200,7 @@ "required":["assetId"], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, @@ -2736,6 +3241,7 @@ "members":{ } }, + "DeleteFilesAfterImport":{"type":"boolean"}, "DeleteGatewayRequest":{ "type":"structure", "required":["gatewayId"], @@ -2802,12 +3308,12 @@ "locationName":"alias" }, "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"assetId" }, "propertyId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"propertyId" }, @@ -2817,36 +3323,153 @@ } } }, - "DescribeAccessPolicyRequest":{ + "DescribeAccessPolicyRequest":{ + "type":"structure", + "required":["accessPolicyId"], + "members":{ + "accessPolicyId":{ + "shape":"ID", + "location":"uri", + "locationName":"accessPolicyId" + } + } + }, + "DescribeAccessPolicyResponse":{ + "type":"structure", + "required":[ + "accessPolicyId", + "accessPolicyArn", + "accessPolicyIdentity", + "accessPolicyResource", + "accessPolicyPermission", + "accessPolicyCreationDate", + "accessPolicyLastUpdateDate" + ], + "members":{ + "accessPolicyId":{"shape":"ID"}, + "accessPolicyArn":{"shape":"ARN"}, + "accessPolicyIdentity":{"shape":"Identity"}, + "accessPolicyResource":{"shape":"Resource"}, + "accessPolicyPermission":{"shape":"Permission"}, + "accessPolicyCreationDate":{"shape":"Timestamp"}, + "accessPolicyLastUpdateDate":{"shape":"Timestamp"} + } + }, + "DescribeActionRequest":{ + "type":"structure", + "required":["actionId"], + "members":{ + "actionId":{ + "shape":"ID", + "location":"uri", + "locationName":"actionId" + } + } + }, + "DescribeActionResponse":{ + "type":"structure", + "required":[ + "actionId", + "targetResource", + "actionDefinitionId", + "actionPayload", + "executionTime" + ], + "members":{ + "actionId":{"shape":"ID"}, + "targetResource":{"shape":"TargetResource"}, + "actionDefinitionId":{"shape":"ID"}, + "actionPayload":{"shape":"ActionPayload"}, + "executionTime":{"shape":"Timestamp"} + } + }, + "DescribeAssetCompositeModelRequest":{ + "type":"structure", + "required":[ + "assetId", + "assetCompositeModelId" + ], + "members":{ + "assetId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetId" + }, + "assetCompositeModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetCompositeModelId" + } + } + }, + "DescribeAssetCompositeModelResponse":{ "type":"structure", - "required":["accessPolicyId"], + "required":[ + "assetId", + "assetCompositeModelId", + "assetCompositeModelPath", + "assetCompositeModelName", + "assetCompositeModelDescription", + "assetCompositeModelType", + "assetCompositeModelProperties", + "assetCompositeModelSummaries" + ], "members":{ - "accessPolicyId":{ - "shape":"ID", + "assetId":{"shape":"ID"}, + "assetCompositeModelId":{"shape":"ID"}, + "assetCompositeModelExternalId":{"shape":"ExternalId"}, + "assetCompositeModelPath":{"shape":"AssetCompositeModelPath"}, + "assetCompositeModelName":{"shape":"Name"}, + "assetCompositeModelDescription":{"shape":"Description"}, + "assetCompositeModelType":{"shape":"Name"}, + "assetCompositeModelProperties":{"shape":"AssetProperties"}, + "assetCompositeModelSummaries":{"shape":"AssetCompositeModelSummaries"}, + "actionDefinitions":{"shape":"ActionDefinitions"} + } + }, + "DescribeAssetModelCompositeModelRequest":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelCompositeModelId" + ], + "members":{ + "assetModelId":{ + "shape":"CustomID", "location":"uri", - "locationName":"accessPolicyId" + "locationName":"assetModelId" + }, + "assetModelCompositeModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelCompositeModelId" } } }, - "DescribeAccessPolicyResponse":{ + "DescribeAssetModelCompositeModelResponse":{ "type":"structure", "required":[ - "accessPolicyId", - "accessPolicyArn", - "accessPolicyIdentity", - "accessPolicyResource", - "accessPolicyPermission", - "accessPolicyCreationDate", - "accessPolicyLastUpdateDate" + "assetModelId", + "assetModelCompositeModelId", + "assetModelCompositeModelPath", + "assetModelCompositeModelName", + "assetModelCompositeModelDescription", + "assetModelCompositeModelType", + "assetModelCompositeModelProperties", + "assetModelCompositeModelSummaries" ], "members":{ - "accessPolicyId":{"shape":"ID"}, - "accessPolicyArn":{"shape":"ARN"}, - "accessPolicyIdentity":{"shape":"Identity"}, - "accessPolicyResource":{"shape":"Resource"}, - "accessPolicyPermission":{"shape":"Permission"}, - "accessPolicyCreationDate":{"shape":"Timestamp"}, - "accessPolicyLastUpdateDate":{"shape":"Timestamp"} + "assetModelId":{"shape":"ID"}, + "assetModelCompositeModelId":{"shape":"ID"}, + "assetModelCompositeModelExternalId":{"shape":"ExternalId"}, + "assetModelCompositeModelPath":{"shape":"AssetModelCompositeModelPath"}, + "assetModelCompositeModelName":{"shape":"Name"}, + "assetModelCompositeModelDescription":{"shape":"Description"}, + "assetModelCompositeModelType":{"shape":"Name"}, + "assetModelCompositeModelProperties":{"shape":"AssetModelProperties"}, + "compositionDetails":{"shape":"CompositionDetails"}, + "assetModelCompositeModelSummaries":{"shape":"AssetModelCompositeModelSummaries"}, + "actionDefinitions":{"shape":"ActionDefinitions"} } }, "DescribeAssetModelRequest":{ @@ -2854,7 +3477,7 @@ "required":["assetModelId"], "members":{ "assetModelId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetModelId" }, @@ -2888,7 +3511,10 @@ "assetModelCompositeModels":{"shape":"AssetModelCompositeModels"}, "assetModelCreationDate":{"shape":"Timestamp"}, "assetModelLastUpdateDate":{"shape":"Timestamp"}, - "assetModelStatus":{"shape":"AssetModelStatus"} + "assetModelStatus":{"shape":"AssetModelStatus"}, + "assetModelType":{"shape":"AssetModelType"}, + "assetModelCompositeModelSummaries":{"shape":"AssetModelCompositeModelSummaries"}, + "assetModelExternalId":{"shape":"ExternalId"} } }, "DescribeAssetPropertyRequest":{ @@ -2899,12 +3525,12 @@ ], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, "propertyId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"propertyId" } @@ -2922,7 +3548,8 @@ "assetName":{"shape":"Name"}, "assetModelId":{"shape":"ID"}, "assetProperty":{"shape":"Property"}, - "compositeModel":{"shape":"CompositeModelProperty"} + "compositeModel":{"shape":"CompositeModelProperty"}, + "assetExternalId":{"shape":"ExternalId"} } }, "DescribeAssetRequest":{ @@ -2930,7 +3557,7 @@ "required":["assetId"], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, @@ -2965,7 +3592,9 @@ "assetCreationDate":{"shape":"Timestamp"}, "assetLastUpdateDate":{"shape":"Timestamp"}, "assetStatus":{"shape":"AssetStatus"}, - "assetDescription":{"shape":"Description"} + "assetDescription":{"shape":"Description"}, + "assetCompositeModelSummaries":{"shape":"AssetCompositeModelSummaries"}, + "assetExternalId":{"shape":"ExternalId"} } }, "DescribeBulkImportJobRequest":{ @@ -3001,7 +3630,9 @@ "errorReportLocation":{"shape":"ErrorReportLocation"}, "jobConfiguration":{"shape":"JobConfiguration"}, "jobCreationDate":{"shape":"Timestamp"}, - "jobLastUpdateDate":{"shape":"Timestamp"} + "jobLastUpdateDate":{"shape":"Timestamp"}, + "adaptiveIngestion":{"shape":"AdaptiveIngestion"}, + "deleteFilesAfterImport":{"shape":"DeleteFilesAfterImport"} } }, "DescribeDashboardRequest":{ @@ -3221,7 +3852,9 @@ "disassociatedDataStorage":{"shape":"DisassociatedDataStorageState"}, "retentionPeriod":{"shape":"RetentionPeriod"}, "configurationStatus":{"shape":"ConfigurationStatus"}, - "lastUpdateDate":{"shape":"Timestamp"} + "lastUpdateDate":{"shape":"Timestamp"}, + "warmTier":{"shape":"WarmTierState"}, + "warmTierRetentionPeriod":{"shape":"WarmTierRetentionPeriod"} } }, "DescribeTimeSeriesRequest":{ @@ -3233,12 +3866,12 @@ "locationName":"alias" }, "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"assetId" }, "propertyId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"propertyId" } @@ -3303,12 +3936,12 @@ ], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, - "hierarchyId":{"shape":"ID"}, - "childAssetId":{"shape":"ID"}, + "hierarchyId":{"shape":"CustomID"}, + "childAssetId":{"shape":"CustomID"}, "clientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -3329,12 +3962,12 @@ "locationName":"alias" }, "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"assetId" }, "propertyId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"propertyId" }, @@ -3403,6 +4036,53 @@ }, "ExceptionMessage":{"type":"string"}, "ExcludeProperties":{"type":"boolean"}, + "ExecuteActionRequest":{ + "type":"structure", + "required":[ + "targetResource", + "actionDefinitionId", + "actionPayload" + ], + "members":{ + "targetResource":{"shape":"TargetResource"}, + "actionDefinitionId":{"shape":"ID"}, + "actionPayload":{"shape":"ActionPayload"}, + "clientToken":{"shape":"ClientToken"} + } + }, + "ExecuteActionResponse":{ + "type":"structure", + "required":["actionId"], + "members":{ + "actionId":{"shape":"ID"} + } + }, + "ExecuteQueryMaxResults":{ + "type":"integer", + "min":1 + }, + "ExecuteQueryNextToken":{ + "type":"string", + "max":4096, + "min":1 + }, + "ExecuteQueryRequest":{ + "type":"structure", + "required":["queryStatement"], + "members":{ + "queryStatement":{"shape":"QueryStatement"}, + "nextToken":{"shape":"ExecuteQueryNextToken"}, + "maxResults":{"shape":"ExecuteQueryMaxResults"} + } + }, + "ExecuteQueryResponse":{ + "type":"structure", + "members":{ + "columns":{"shape":"ColumnsList"}, + "rows":{"shape":"Rows"}, + "nextToken":{"shape":"ExecuteQueryNextToken"} + } + }, "Expression":{ "type":"string", "max":1024, @@ -3423,6 +4103,12 @@ "type":"list", "member":{"shape":"ExpressionVariable"} }, + "ExternalId":{ + "type":"string", + "max":128, + "min":2, + "pattern":"[a-zA-Z0-9_][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9_]+" + }, "File":{ "type":"structure", "required":[ @@ -3438,7 +4124,8 @@ "FileFormat":{ "type":"structure", "members":{ - "csv":{"shape":"Csv"} + "csv":{"shape":"Csv"}, + "parquet":{"shape":"Parquet"} } }, "Files":{ @@ -4012,6 +4699,75 @@ "nextToken":{"shape":"NextToken"} } }, + "ListActionsRequest":{ + "type":"structure", + "required":[ + "targetResourceType", + "targetResourceId" + ], + "members":{ + "targetResourceType":{ + "shape":"TargetResourceType", + "location":"querystring", + "locationName":"targetResourceType" + }, + "targetResourceId":{ + "shape":"CustomID", + "location":"querystring", + "locationName":"targetResourceId" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListActionsResponse":{ + "type":"structure", + "required":[ + "actionSummaries", + "nextToken" + ], + "members":{ + "actionSummaries":{"shape":"ActionSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListAssetModelCompositeModelsRequest":{ + "type":"structure", + "required":["assetModelId"], + "members":{ + "assetModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelId" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAssetModelCompositeModelsResponse":{ + "type":"structure", + "required":["assetModelCompositeModelSummaries"], + "members":{ + "assetModelCompositeModelSummaries":{"shape":"AssetModelCompositeModelSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListAssetModelPropertiesFilter":{ "type":"string", "enum":[ @@ -4024,7 +4780,7 @@ "required":["assetModelId"], "members":{ "assetModelId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetModelId" }, @@ -4065,6 +4821,11 @@ "shape":"MaxResults", "location":"querystring", "locationName":"maxResults" + }, + "assetModelTypes":{ + "shape":"ListAssetModelsTypeFilter", + "location":"querystring", + "locationName":"assetModelTypes" } } }, @@ -4076,6 +4837,10 @@ "nextToken":{"shape":"NextToken"} } }, + "ListAssetModelsTypeFilter":{ + "type":"list", + "member":{"shape":"AssetModelType"} + }, "ListAssetPropertiesFilter":{ "type":"string", "enum":[ @@ -4088,7 +4853,7 @@ "required":["assetId"], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, @@ -4125,7 +4890,7 @@ ], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, @@ -4175,7 +4940,7 @@ "locationName":"maxResults" }, "assetModelId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"assetModelId" }, @@ -4199,12 +4964,12 @@ "required":["assetId"], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, "hierarchyId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"hierarchyId" }, @@ -4273,6 +5038,35 @@ "nextToken":{"shape":"NextToken"} } }, + "ListCompositionRelationshipsRequest":{ + "type":"structure", + "required":["assetModelId"], + "members":{ + "assetModelId":{ + "shape":"ID", + "location":"uri", + "locationName":"assetModelId" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListCompositionRelationshipsResponse":{ + "type":"structure", + "required":["compositionRelationshipSummaries"], + "members":{ + "compositionRelationshipSummaries":{"shape":"CompositionRelationshipSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListDashboardsRequest":{ "type":"structure", "required":["projectId"], @@ -4436,7 +5230,7 @@ "locationName":"maxResults" }, "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"querystring", "locationName":"assetId" }, @@ -4572,6 +5366,10 @@ "min":1, "pattern":"[A-Za-z0-9+/=]+" }, + "NullableBoolean":{ + "type":"boolean", + "box":true + }, "NumberOfDays":{ "type":"integer", "min":30 @@ -4586,6 +5384,11 @@ "max":999999999, "min":0 }, + "Parquet":{ + "type":"structure", + "members":{ + } + }, "Permission":{ "type":"string", "enum":[ @@ -4686,7 +5489,9 @@ "notification":{"shape":"PropertyNotification"}, "dataType":{"shape":"PropertyDataType"}, "unit":{"shape":"PropertyUnit"}, - "type":{"shape":"PropertyType"} + "type":{"shape":"PropertyType"}, + "path":{"shape":"AssetPropertyPath"}, + "externalId":{"shape":"ExternalId"} } }, "PropertyAlias":{ @@ -4799,7 +5604,9 @@ "storageType":{"shape":"StorageType"}, "multiLayerStorage":{"shape":"MultiLayerStorage"}, "disassociatedDataStorage":{"shape":"DisassociatedDataStorageState"}, - "retentionPeriod":{"shape":"RetentionPeriod"} + "retentionPeriod":{"shape":"RetentionPeriod"}, + "warmTier":{"shape":"WarmTierState"}, + "warmTierRetentionPeriod":{"shape":"WarmTierRetentionPeriod"} } }, "PutStorageConfigurationResponse":{ @@ -4813,7 +5620,9 @@ "multiLayerStorage":{"shape":"MultiLayerStorage"}, "disassociatedDataStorage":{"shape":"DisassociatedDataStorageState"}, "retentionPeriod":{"shape":"RetentionPeriod"}, - "configurationStatus":{"shape":"ConfigurationStatus"} + "configurationStatus":{"shape":"ConfigurationStatus"}, + "warmTier":{"shape":"WarmTierState"}, + "warmTierRetentionPeriod":{"shape":"WarmTierRetentionPeriod"} } }, "Qualities":{ @@ -4830,6 +5639,19 @@ "UNCERTAIN" ] }, + "QueryStatement":{ + "type":"string", + "min":1, + "pattern":"^[\\s\\S]+$" + }, + "QueryTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "Resolution":{ "type":"string", "max":3, @@ -4883,12 +5705,34 @@ "unlimited":{"shape":"Unlimited"} } }, + "Row":{ + "type":"structure", + "required":["data"], + "members":{ + "data":{"shape":"DatumList"} + } + }, + "Rows":{ + "type":"list", + "member":{"shape":"Row"} + }, "SSOApplicationId":{ "type":"string", "max":64, "min":1, "pattern":"^[!-~]*" }, + "ScalarType":{ + "type":"string", + "enum":[ + "BOOLEAN", + "INT", + "DOUBLE", + "TIMESTAMP", + "STRING" + ] + }, + "ScalarValue":{"type":"string"}, "ServiceUnavailableException":{ "type":"structure", "required":["message"], @@ -4950,6 +5794,17 @@ "max":256, "min":0 }, + "TargetResource":{ + "type":"structure", + "required":["assetId"], + "members":{ + "assetId":{"shape":"CustomID"} + } + }, + "TargetResourceType":{ + "type":"string", + "enum":["ASSET"] + }, "ThrottlingException":{ "type":"structure", "required":["message"], @@ -5124,6 +5979,45 @@ "members":{ } }, + "UpdateAssetModelCompositeModelRequest":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelCompositeModelId", + "assetModelCompositeModelName" + ], + "members":{ + "assetModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelId" + }, + "assetModelCompositeModelId":{ + "shape":"CustomID", + "location":"uri", + "locationName":"assetModelCompositeModelId" + }, + "assetModelCompositeModelExternalId":{"shape":"ExternalId"}, + "assetModelCompositeModelDescription":{"shape":"Description"}, + "assetModelCompositeModelName":{"shape":"Name"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "assetModelCompositeModelProperties":{"shape":"AssetModelProperties"} + } + }, + "UpdateAssetModelCompositeModelResponse":{ + "type":"structure", + "required":[ + "assetModelCompositeModelPath", + "assetModelStatus" + ], + "members":{ + "assetModelCompositeModelPath":{"shape":"AssetModelCompositeModelPath"}, + "assetModelStatus":{"shape":"AssetModelStatus"} + } + }, "UpdateAssetModelRequest":{ "type":"structure", "required":[ @@ -5132,7 +6026,7 @@ ], "members":{ "assetModelId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetModelId" }, @@ -5144,7 +6038,8 @@ "clientToken":{ "shape":"ClientToken", "idempotencyToken":true - } + }, + "assetModelExternalId":{"shape":"ExternalId"} } }, "UpdateAssetModelResponse":{ @@ -5162,12 +6057,12 @@ ], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, "propertyId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"propertyId" }, @@ -5188,7 +6083,7 @@ ], "members":{ "assetId":{ - "shape":"ID", + "shape":"CustomID", "location":"uri", "locationName":"assetId" }, @@ -5197,7 +6092,8 @@ "shape":"ClientToken", "idempotencyToken":true }, - "assetDescription":{"shape":"Description"} + "assetDescription":{"shape":"Description"}, + "assetExternalId":{"shape":"ExternalId"} } }, "UpdateAssetResponse":{ @@ -5349,6 +6245,14 @@ "id":{"shape":"IdentityId"} } }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "VariableName":{ "type":"string", "max":64, @@ -5357,10 +6261,10 @@ }, "VariableValue":{ "type":"structure", - "required":["propertyId"], "members":{ "propertyId":{"shape":"Macro"}, - "hierarchyId":{"shape":"Macro"} + "hierarchyId":{"shape":"Macro"}, + "propertyPath":{"shape":"AssetModelPropertyPath"} } }, "Variant":{ @@ -5371,6 +6275,21 @@ "doubleValue":{"shape":"PropertyValueDoubleValue"}, "booleanValue":{"shape":"PropertyValueBooleanValue"} } - } + }, + "WarmTierRetentionPeriod":{ + "type":"structure", + "members":{ + "numberOfDays":{"shape":"NumberOfDays"}, + "unlimited":{"shape":"Unlimited"} + } + }, + "WarmTierState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "errorMessage":{"type":"string"} } } diff --git a/models/apis/iotsitewise/2019-12-02/docs-2.json b/models/apis/iotsitewise/2019-12-02/docs-2.json index 4da5254b4d3..bfebf12aa8e 100644 --- a/models/apis/iotsitewise/2019-12-02/docs-2.json +++ b/models/apis/iotsitewise/2019-12-02/docs-2.json @@ -12,23 +12,28 @@ "BatchPutAssetPropertyValue": "

Sends a list of asset property values to IoT SiteWise. Each value is a timestamp-quality-value (TQV) data point. For more information, see Ingesting data using the API in the IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

With respect to Unix epoch time, IoT SiteWise accepts only TQVs that have a timestamp of no more than 7 days in the past and no more than 10 minutes in the future. IoT SiteWise rejects timestamps outside of the inclusive range of [-7 days, +10 minutes] and returns a TimestampOutOfRangeException error.

For each asset property, IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the existing TQV.

IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually. For more information, see BatchPutAssetPropertyValue authorization in the IoT SiteWise User Guide.

", "CreateAccessPolicy": "

Creates an access policy that grants the specified identity (IAM Identity Center user, IAM Identity Center group, or IAM user) access to the specified IoT SiteWise Monitor portal or project resource.

", "CreateAsset": "

Creates an asset from an existing asset model. For more information, see Creating assets in the IoT SiteWise User Guide.

", - "CreateAssetModel": "

Creates an asset model from specified property and hierarchy definitions. You create assets from asset models. With asset models, you can easily create assets of the same type that have standardized definitions. Each asset created from a model inherits the asset model's property and hierarchy definitions. For more information, see Defining asset models in the IoT SiteWise User Guide.

", - "CreateBulkImportJob": "

Defines a job to ingest data to IoT SiteWise from Amazon S3. For more information, see Create a bulk import job (CLI) in the Amazon Simple Storage Service User Guide.

You must enable IoT SiteWise to export data to Amazon S3 before you create a bulk import job. For more information about how to configure storage settings, see PutStorageConfiguration.

", + "CreateAssetModel": "

Creates an asset model from specified property and hierarchy definitions. You create assets from asset models. With asset models, you can easily create assets of the same type that have standardized definitions. Each asset created from a model inherits the asset model's property and hierarchy definitions. For more information, see Defining asset models in the IoT SiteWise User Guide.

You can create two types of asset models, ASSET_MODEL or COMPONENT_MODEL.

", + "CreateAssetModelCompositeModel": "

Creates a custom composite model from specified property and hierarchy definitions. There are two types of custom composite models, inline and component-model-based.

Use component-model-based custom composite models to define standard, reusable components. A component-model-based custom composite model consists of a name, a description, and the ID of the component model it references. A component-model-based custom composite model has no properties of its own; its referenced component model provides its associated properties to any created assets. For more information, see Custom composite models (Components) in the IoT SiteWise User Guide.

Use inline custom composite models to organize the properties of an asset model. The properties of inline custom composite models are local to the asset model where they are included and can't be used to create multiple assets.

To create a component-model-based model, specify the composedAssetModelId of an existing asset model with assetModelType of COMPONENT_MODEL.

To create an inline model, specify the assetModelCompositeModelProperties and don't include an composedAssetModelId.

", + "CreateBulkImportJob": "

Defines a job to ingest data to IoT SiteWise from Amazon S3. For more information, see Create a bulk import job (CLI) in the Amazon Simple Storage Service User Guide.

Before you create a bulk import job, you must enable IoT SiteWise warm tier or IoT SiteWise cold tier. For more information about how to configure storage settings, see PutStorageConfiguration.

Bulk import is designed to store historical data to IoT SiteWise. It does not trigger computations or notifications on IoT SiteWise warm or cold tier storage.

", "CreateDashboard": "

Creates a dashboard in an IoT SiteWise Monitor project.

", "CreateGateway": "

Creates a gateway, which is a virtual or edge device that delivers industrial data streams from local servers to IoT SiteWise. For more information, see Ingesting data using a gateway in the IoT SiteWise User Guide.

", "CreatePortal": "

Creates a portal, which can contain projects and dashboards. IoT SiteWise Monitor uses IAM Identity Center or IAM to authenticate portal users and manage user permissions.

Before you can sign in to a new portal, you must add at least one identity to that portal. For more information, see Adding or removing portal administrators in the IoT SiteWise User Guide.

", "CreateProject": "

Creates a project in the specified portal.

Make sure that the project name and description don't contain confidential information.

", "DeleteAccessPolicy": "

Deletes an access policy that grants the specified identity access to the specified IoT SiteWise Monitor resource. You can use this operation to revoke access to an IoT SiteWise Monitor resource.

", - "DeleteAsset": "

Deletes an asset. This action can't be undone. For more information, see Deleting assets and models in the IoT SiteWise User Guide.

You can't delete an asset that's associated to another asset. For more information, see DisassociateAssets.

", + "DeleteAsset": "

Deletes an asset. This action can't be undone. For more information, see Deleting assets and models in the IoT SiteWise User Guide.

You can't delete an asset that's associated to another asset. For more information, see DisassociateAssets.

", "DeleteAssetModel": "

Deletes an asset model. This action can't be undone. You must delete all assets created from an asset model before you can delete the model. Also, you can't delete an asset model if a parent asset model exists that contains a property formula expression that depends on the asset model that you want to delete. For more information, see Deleting assets and models in the IoT SiteWise User Guide.

", + "DeleteAssetModelCompositeModel": "

Deletes a composite model. This action can't be undone. You must delete all assets created from a composite model before you can delete the model. Also, you can't delete a composite model if a parent asset model exists that contains a property formula expression that depends on the asset model that you want to delete. For more information, see Deleting assets and models in the IoT SiteWise User Guide.

", "DeleteDashboard": "

Deletes a dashboard from IoT SiteWise Monitor.

", "DeleteGateway": "

Deletes a gateway from IoT SiteWise. When you delete a gateway, some of the gateway's files remain in your gateway's file system.

", "DeletePortal": "

Deletes a portal from IoT SiteWise Monitor.

", "DeleteProject": "

Deletes a project from IoT SiteWise Monitor.

", "DeleteTimeSeries": "

Deletes a time series (data stream). If you delete a time series that's associated with an asset property, the asset property still exists, but the time series will no longer be associated with this asset property.

To identify a time series, do one of the following:

", "DescribeAccessPolicy": "

Describes an access policy, which specifies an identity's access to an IoT SiteWise Monitor portal or project.

", + "DescribeAction": "

Retrieves information about an action.

", "DescribeAsset": "

Retrieves information about an asset.

", + "DescribeAssetCompositeModel": "

Retrieves information about an asset composite model (also known as an asset component). An AssetCompositeModel is an instance of an AssetModelCompositeModel. If you want to see information about the model this is based on, call DescribeAssetModelCompositeModel.

", "DescribeAssetModel": "

Retrieves information about an asset model.

", + "DescribeAssetModelCompositeModel": "

Retrieves information about an asset model composite model (also known as an asset model component). For more information, see Custom composite models (Components) in the IoT SiteWise User Guide.

", "DescribeAssetProperty": "

Retrieves information about an asset property.

When you call this operation for an attribute property, this response includes the default attribute value that you define in the asset model. If you update the default value in the model, this operation's response includes the new default value.

This operation doesn't return the value of the asset property. To get the value of an asset property, use GetAssetPropertyValue.

", "DescribeBulkImportJob": "

Retrieves information about a bulk import job request. For more information, see Describe a bulk import job (CLI) in the Amazon Simple Storage Service User Guide.

", "DescribeDashboard": "

Retrieves information about a dashboard.

", @@ -42,11 +47,15 @@ "DescribeTimeSeries": "

Retrieves information about a time series (data stream).

To identify a time series, do one of the following:

", "DisassociateAssets": "

Disassociates a child asset from the given parent asset through a hierarchy defined in the parent asset's model.

", "DisassociateTimeSeriesFromAssetProperty": "

Disassociates a time series (data stream) from an asset property.

", + "ExecuteAction": "

Executes an action on a target resource.

", + "ExecuteQuery": "

Run SQL queries to retrieve metadata and time-series data from asset models, assets, measurements, metrics, transforms, and aggregates.

", "GetAssetPropertyAggregates": "

Gets aggregated values for an asset property. For more information, see Querying aggregates in the IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", "GetAssetPropertyValue": "

Gets an asset property's current value. For more information, see Querying current values in the IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", "GetAssetPropertyValueHistory": "

Gets the history of an asset property's values. For more information, see Querying historical values in the IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", "GetInterpolatedAssetPropertyValues": "

Get interpolated values for an asset property for a specified time interval, during a period of time. If your time series is missing data points during the specified time interval, you can use interpolation to estimate the missing data.

For example, you can use this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days.

To identify an asset property, you must specify one of the following:

", "ListAccessPolicies": "

Retrieves a paginated list of access policies for an identity (an IAM Identity Center user, an IAM Identity Center group, or an IAM user) or an IoT SiteWise Monitor resource (a portal or project).

", + "ListActions": "

Retrieves a paginated list of actions for a specific target resource.

", + "ListAssetModelCompositeModels": "

Retrieves a paginated list of composite models associated with the asset model

", "ListAssetModelProperties": "

Retrieves a paginated list of properties associated with an asset model. If you update properties associated with the model before you finish listing all the properties, you need to start all over again.

", "ListAssetModels": "

Retrieves a paginated list of summaries of all asset models.

", "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.

", @@ -54,6 +63,7 @@ "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:

", "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.

", "ListGateways": "

Retrieves a paginated list of gateways.

", "ListPortals": "

Retrieves a paginated list of IoT SiteWise Monitor portals.

", @@ -69,6 +79,7 @@ "UpdateAccessPolicy": "

Updates an existing access policy that specifies an identity's access to an IoT SiteWise Monitor portal or project resource.

", "UpdateAsset": "

Updates an asset's name. For more information, see Updating assets and models in the IoT SiteWise User Guide.

", "UpdateAssetModel": "

Updates an asset model and all of the assets that were created from the model. Each asset created from the model inherits the updated asset model's property and hierarchy definitions. For more information, see Updating assets and models in the IoT SiteWise User Guide.

This operation overwrites the existing model with the provided model. To avoid deleting your asset model's properties or hierarchies, you must include their IDs and definitions in the updated asset model payload. For more information, see DescribeAssetModel.

If you remove a property from an asset model, IoT SiteWise deletes all previous data for that property. If you remove a hierarchy definition from an asset model, IoT SiteWise disassociates every asset associated with that hierarchy. You can't change the type or data type of an existing property.

", + "UpdateAssetModelCompositeModel": "

Updates a composite model and all of the assets that were created from the model. Each asset created from the model inherits the updated asset model's property and hierarchy definitions. For more information, see Updating assets and models in the IoT SiteWise User Guide.

If you remove a property from a composite asset model, IoT SiteWise deletes all previous data for that property. You can’t change the type or data type of an existing property.

To replace an existing composite asset model property with a new one with the same name, do the following:

  1. Submit an UpdateAssetModelCompositeModel request with the entire existing property removed.

  2. Submit a second UpdateAssetModelCompositeModel request that includes the new property. The new asset property will have the same name as the previous one and IoT SiteWise will generate a new unique id.

", "UpdateAssetProperty": "

Updates an asset property's alias and notification state.

This operation overwrites the property's existing alias and notification state. To keep your existing property's alias or notification state, you must include the existing values in the UpdateAssetProperty request. For more information, see DescribeAssetProperty.

", "UpdateDashboard": "

Updates an IoT SiteWise Monitor dashboard.

", "UpdateGateway": "

Updates a gateway's name.

", @@ -117,6 +128,11 @@ "UpdatePortalRequest$roleArn": "

The ARN of a service role that allows the portal's users to access your IoT SiteWise resources on your behalf. For more information, see Using service roles for IoT SiteWise Monitor in the IoT SiteWise User Guide.

" } }, + "AccessDeniedException": { + "base": "

Access is denied.

", + "refs": { + } + }, "AccessPolicySummaries": { "base": null, "refs": { @@ -129,6 +145,51 @@ "AccessPolicySummaries$member": null } }, + "ActionDefinition": { + "base": "

Contains a definition for an action.

", + "refs": { + "ActionDefinitions$member": null + } + }, + "ActionDefinitions": { + "base": null, + "refs": { + "DescribeAssetCompositeModelResponse$actionDefinitions": "

The available actions for a composite model on this asset.

", + "DescribeAssetModelCompositeModelResponse$actionDefinitions": "

The available actions for a composite model on this asset model.

" + } + }, + "ActionPayload": { + "base": "

The JSON payload of the action.

", + "refs": { + "DescribeActionResponse$actionPayload": "

The JSON payload of the action.

", + "ExecuteActionRequest$actionPayload": "

The JSON payload of the action.

" + } + }, + "ActionPayloadString": { + "base": null, + "refs": { + "ActionPayload$stringValue": "

The payload of the action in a JSON string.

" + } + }, + "ActionSummaries": { + "base": null, + "refs": { + "ListActionsResponse$actionSummaries": "

A list that summarizes the actions associated with the specified asset.

" + } + }, + "ActionSummary": { + "base": "

Contains the summary of the actions.

", + "refs": { + "ActionSummaries$member": null + } + }, + "AdaptiveIngestion": { + "base": null, + "refs": { + "CreateBulkImportJobRequest$adaptiveIngestion": "

If set to true, ingest new data into IoT SiteWise storage. Measurements with notifications, metrics and transforms are computed. If set to false, historical data is ingested into IoT SiteWise as is.

", + "DescribeBulkImportJobResponse$adaptiveIngestion": "

If set to true, ingest new data into IoT SiteWise storage. Measurements with notifications, metrics and transforms are computed. If set to false, historical data is ingested into IoT SiteWise as is.

" + } + }, "AggregateType": { "base": null, "refs": { @@ -195,6 +256,32 @@ "AssetCompositeModels$member": null } }, + "AssetCompositeModelPath": { + "base": null, + "refs": { + "AssetCompositeModelSummary$path": "

The path that includes all the components of the asset model for the asset.

", + "DescribeAssetCompositeModelResponse$assetCompositeModelPath": "

The path to the composite model listing the parent composite models.

" + } + }, + "AssetCompositeModelPathSegment": { + "base": "

Represents one level between a composite model and the root of the asset.

", + "refs": { + "AssetCompositeModelPath$member": null + } + }, + "AssetCompositeModelSummaries": { + "base": null, + "refs": { + "DescribeAssetCompositeModelResponse$assetCompositeModelSummaries": "

The list of composite model summaries.

", + "DescribeAssetResponse$assetCompositeModelSummaries": "

The list of the immediate child custom composite model summaries for the asset.

" + } + }, + "AssetCompositeModelSummary": { + "base": "

Contains a summary of the composite model for a specific asset.

", + "refs": { + "AssetCompositeModelSummaries$member": null + } + }, "AssetCompositeModels": { "base": null, "refs": { @@ -261,14 +348,43 @@ "AssetModelCompositeModelDefinitions": { "base": null, "refs": { - "CreateAssetModelRequest$assetModelCompositeModels": "

The composite asset models that are part of this asset model. Composite asset models are asset models that contain specific properties. Each composite model has a type that defines the properties that the composite model supports. Use composite asset models to define alarms on this asset model.

" + "CreateAssetModelRequest$assetModelCompositeModels": "

The composite models that are part of this asset model. It groups properties (such as attributes, measurements, transforms, and metrics) and child composite models that model parts of your industrial equipment. Each composite model has a type that defines the properties that the composite model supports. Use composite models to define alarms on this asset model.

When creating custom composite models, you need to use CreateAssetModelCompositeModel. For more information, see <LINK>.

" + } + }, + "AssetModelCompositeModelPath": { + "base": null, + "refs": { + "AssetModelCompositeModelSummary$path": "

The path that includes all the pieces that make up the composite model.

", + "CreateAssetModelCompositeModelResponse$assetModelCompositeModelPath": "

The path to the composite model listing the parent composite models.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelPath": "

The path to the composite model listing the parent composite models.

", + "UpdateAssetModelCompositeModelResponse$assetModelCompositeModelPath": "

The path to the composite model listing the parent composite models.

" + } + }, + "AssetModelCompositeModelPathSegment": { + "base": "

Represents one level between a composite model and the root of the asset model.

", + "refs": { + "AssetModelCompositeModelPath$member": null + } + }, + "AssetModelCompositeModelSummaries": { + "base": null, + "refs": { + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelSummaries": "

The list of composite model summaries for the composite model.

", + "DescribeAssetModelResponse$assetModelCompositeModelSummaries": "

The list of the immediate child custom composite model summaries for the asset model.

", + "ListAssetModelCompositeModelsResponse$assetModelCompositeModelSummaries": "

A list that summarizes each composite model.

" + } + }, + "AssetModelCompositeModelSummary": { + "base": "

Contains a summary of the composite model.

", + "refs": { + "AssetModelCompositeModelSummaries$member": null } }, "AssetModelCompositeModels": { "base": null, "refs": { - "DescribeAssetModelResponse$assetModelCompositeModels": "

The list of composite asset models for the asset model.

", - "UpdateAssetModelRequest$assetModelCompositeModels": "

The composite asset models that are part of this asset model. Composite asset models are asset models that contain specific properties. Each composite model has a type that defines the properties that the composite model supports. Use composite asset models to define alarms on this asset model.

" + "DescribeAssetModelResponse$assetModelCompositeModels": "

The list of built-in composite models for the asset model, such as those with those of type AWS/ALARMS.

", + "UpdateAssetModelRequest$assetModelCompositeModels": "

The composite models that are part of this asset model. It groups properties (such as attributes, measurements, transforms, and metrics) and child composite models that model parts of your industrial equipment. Each composite model has a type that defines the properties that the composite model supports. Use composite models to define alarms on this asset model.

When creating custom composite models, you need to use CreateAssetModelCompositeModel. For more information, see <LINK>.

" } }, "AssetModelHierarchies": { @@ -300,7 +416,9 @@ "base": null, "refs": { "AssetModelCompositeModel$properties": "

The asset property definitions for this composite model.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelProperties": "

The property definitions of the composite model.

", "DescribeAssetModelResponse$assetModelProperties": "

The list of asset properties for the asset model.

This object doesn't include properties that you define in composite models. You can find composite model properties in the assetModelCompositeModels object.

", + "UpdateAssetModelCompositeModelRequest$assetModelCompositeModelProperties": "

The property definitions of the composite model. For more information, see <LINK>.

You can specify up to 200 properties per composite model. For more information, see Quotas in the IoT SiteWise User Guide.

", "UpdateAssetModelRequest$assetModelProperties": "

The updated property definitions of the asset model. For more information, see Asset properties in the IoT SiteWise User Guide.

You can specify up to 200 properties per asset model. For more information, see Quotas in the IoT SiteWise User Guide.

" } }, @@ -320,9 +438,24 @@ "base": null, "refs": { "AssetModelCompositeModelDefinition$properties": "

The asset property definitions for this composite model.

", + "CreateAssetModelCompositeModelRequest$assetModelCompositeModelProperties": "

The property definitions of the composite model. For more information, see <LINK>.

You can specify up to 200 properties per composite model. For more information, see Quotas in the IoT SiteWise User Guide.

", "CreateAssetModelRequest$assetModelProperties": "

The property definitions of the asset model. For more information, see Asset properties in the IoT SiteWise User Guide.

You can specify up to 200 properties per asset model. For more information, see Quotas in the IoT SiteWise User Guide.

" } }, + "AssetModelPropertyPath": { + "base": null, + "refs": { + "AssetModelProperty$path": "

The structured path to the property from the root of the asset model.

", + "AssetModelPropertySummary$path": "

The structured path to the property from the root of the asset model.

", + "VariableValue$propertyPath": "

The path of the property.

" + } + }, + "AssetModelPropertyPathSegment": { + "base": "

Represents one level between a property and the root of the asset model.

", + "refs": { + "AssetModelPropertyPath$member": null + } + }, "AssetModelPropertySummaries": { "base": null, "refs": { @@ -345,9 +478,12 @@ "base": "

Contains current status information for an asset model. For more information, see Asset and model states in the IoT SiteWise User Guide.

", "refs": { "AssetModelSummary$status": "

The current status of the asset model.

", + "CreateAssetModelCompositeModelResponse$assetModelStatus": null, "CreateAssetModelResponse$assetModelStatus": "

The status of the asset model, which contains a state (CREATING after successfully calling this operation) and any error message.

", + "DeleteAssetModelCompositeModelResponse$assetModelStatus": null, "DeleteAssetModelResponse$assetModelStatus": "

The status of the asset model, which contains a state (DELETING after successfully calling this operation) and any error message.

", "DescribeAssetModelResponse$assetModelStatus": "

The current status of the asset model, which contains a state and any error message.

", + "UpdateAssetModelCompositeModelResponse$assetModelStatus": null, "UpdateAssetModelResponse$assetModelStatus": "

The status of the asset model, which contains a state (UPDATING after successfully calling this operation) and any error message.

" } }, @@ -363,10 +499,20 @@ "AssetModelSummaries$member": null } }, + "AssetModelType": { + "base": null, + "refs": { + "AssetModelSummary$assetModelType": "

The type of asset model.

", + "CreateAssetModelRequest$assetModelType": "

The type of asset model.

", + "DescribeAssetModelResponse$assetModelType": "

The type of asset model.

", + "ListAssetModelsTypeFilter$member": null + } + }, "AssetProperties": { "base": null, "refs": { "AssetCompositeModel$properties": "

The asset properties that this composite model defines.

", + "DescribeAssetCompositeModelResponse$assetCompositeModelProperties": "

The property definitions of the composite model that was used to create the asset.

", "DescribeAssetResponse$assetProperties": "

The list of asset properties for the asset.

This object doesn't include properties that you define in composite models. You can find composite model properties in the assetCompositeModels object.

" } }, @@ -389,6 +535,20 @@ "PutAssetPropertyValueEntry$propertyAlias": "

The alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping industrial data streams to asset properties in the IoT SiteWise User Guide.

" } }, + "AssetPropertyPath": { + "base": null, + "refs": { + "AssetProperty$path": "

The structured path to the property from the root of the asset.

", + "AssetPropertySummary$path": "

The structured path to the property from the root of the asset.

", + "Property$path": "

The structured path to the property from the root of the asset.

" + } + }, + "AssetPropertyPathSegment": { + "base": "

Represents one level between a property and the root of the asset.

", + "refs": { + "AssetPropertyPath$member": null + } + }, "AssetPropertySummaries": { "base": null, "refs": { @@ -501,7 +661,7 @@ "AuthMode": { "base": null, "refs": { - "CreatePortalRequest$portalAuthMode": "

The service to use to authenticate users to the portal. Choose from the following options:

You can't change this value after you create a portal.

Default: SSO

", + "CreatePortalRequest$portalAuthMode": "

The service to use to authenticate users to the portal. Choose from the following options:

You can't change this value after you create a portal.

Default: SSO

", "DescribePortalResponse$portalAuthMode": "

The service to use to authenticate users to the portal.

" } }, @@ -850,12 +1010,14 @@ "BatchAssociateProjectAssetsRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "BatchDisassociateProjectAssetsRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "CreateAccessPolicyRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "CreateAssetModelCompositeModelRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "CreateAssetModelRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "CreateAssetRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "CreateDashboardRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "CreatePortalRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "CreateProjectRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "DeleteAccessPolicyRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "DeleteAssetModelCompositeModelRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "DeleteAssetModelRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "DeleteAssetRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "DeleteDashboardRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", @@ -864,7 +1026,9 @@ "DeleteTimeSeriesRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "DisassociateAssetsRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "DisassociateTimeSeriesFromAssetPropertyRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "ExecuteActionRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "UpdateAccessPolicyRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "UpdateAssetModelCompositeModelRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "UpdateAssetModelRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "UpdateAssetPropertyRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", "UpdateAssetRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", @@ -873,6 +1037,12 @@ "UpdateProjectRequest$clientToken": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

" } }, + "ColumnInfo": { + "base": "

A description of the column in the query results.

", + "refs": { + "ColumnsList$member": null + } + }, "ColumnName": { "base": null, "refs": { @@ -885,10 +1055,52 @@ "Csv$columnNames": "

The column names specified in the .csv file.

" } }, + "ColumnType": { + "base": "

The data type of the column.

", + "refs": { + "ColumnInfo$type": "

The type of the column description.

" + } + }, + "ColumnsList": { + "base": null, + "refs": { + "ExecuteQueryResponse$columns": "

Represents a single column in the query results.

" + } + }, "CompositeModelProperty": { "base": "

Contains information about a composite model property on an asset.

", "refs": { - "DescribeAssetPropertyResponse$compositeModel": "

The composite asset model that declares this asset property, if this asset property exists in a composite model.

" + "DescribeAssetPropertyResponse$compositeModel": "

The composite model that declares this asset property, if this asset property exists in a composite model.

" + } + }, + "CompositionDetails": { + "base": "

Metadata for the composition relationship established by using composedAssetModelId in CreateAssetModelCompositeModel .

", + "refs": { + "DescribeAssetModelCompositeModelResponse$compositionDetails": "

Metadata for the composition relationship established by using composedAssetModelId in CreateAssetModelCompositeModel . For instance, an array detailing the path of the composition relationship for this composite model.

" + } + }, + "CompositionRelationship": { + "base": null, + "refs": { + "CompositionDetails$compositionRelationship": "

An array detailing the composition relationship for this composite model.

" + } + }, + "CompositionRelationshipItem": { + "base": "

Represents a composite model that composed an asset model of type COMPONENT_MODEL.

", + "refs": { + "CompositionRelationship$member": null + } + }, + "CompositionRelationshipSummaries": { + "base": null, + "refs": { + "ListCompositionRelationshipsResponse$compositionRelationshipSummaries": "

A list that summarizes each composition relationship.

" + } + }, + "CompositionRelationshipSummary": { + "base": "

Contains a summary of the components of the composite model.

", + "refs": { + "CompositionRelationshipSummaries$member": null } }, "ComputeLocation": { @@ -940,6 +1152,16 @@ "refs": { } }, + "CreateAssetModelCompositeModelRequest": { + "base": null, + "refs": { + } + }, + "CreateAssetModelCompositeModelResponse": { + "base": null, + "refs": { + } + }, "CreateAssetModelRequest": { "base": null, "refs": { @@ -1011,9 +1233,65 @@ } }, "Csv": { - "base": "

A .csv file.

", + "base": "

A .CSV file.

", "refs": { - "FileFormat$csv": "

The .csv file format.

" + "FileFormat$csv": "

The file is in .CSV format.

" + } + }, + "CustomID": { + "base": null, + "refs": { + "AssetModelCompositeModel$id": "

The ID of the asset model composite model.

", + "AssetModelHierarchy$id": "

The ID of the asset model hierarchy. This ID is a hierarchyId.

", + "AssetModelHierarchy$childAssetModelId": "

The ID of the asset model, in UUID format. All assets in this hierarchy must be instances of the childAssetModelId asset model. IoT SiteWise will always return the actual asset model ID for this value. However, when you are specifying this value as part of a call to UpdateAssetModel, you may provide either the asset model ID or else externalId: followed by the asset model's external ID. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelHierarchyDefinition$childAssetModelId": "

The ID of an asset model for this hierarchy. 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.

", + "AssetModelProperty$id": "

The ID of the asset model property.

", + "AssociateAssetsRequest$assetId": "

The ID of the parent 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.

", + "AssociateAssetsRequest$hierarchyId": "

The ID of a hierarchy in the parent asset's model. (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.) Hierarchies allow different groupings of assets to be formed that all come from the same asset model. For more information, see Asset hierarchies in the IoT SiteWise User Guide.

", + "AssociateAssetsRequest$childAssetId": "

The ID of the child asset to be associated. 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.

", + "AssociateTimeSeriesToAssetPropertyRequest$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.

", + "AssociateTimeSeriesToAssetPropertyRequest$propertyId": "

The ID of the asset property. 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.

", + "CreateAssetModelCompositeModelRequest$assetModelId": "

The ID of the asset model this composite model is a part of.

", + "CreateAssetModelCompositeModelRequest$parentAssetModelCompositeModelId": "

The ID of the parent composite model in this asset model relationship.

", + "CreateAssetModelCompositeModelRequest$composedAssetModelId": "

The ID of a composite model on this asset.

", + "CreateAssetRequest$assetModelId": "

The ID of the asset model from which to create 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.

", + "DeleteAssetModelCompositeModelRequest$assetModelId": "

The ID of the asset model, in UUID format.

", + "DeleteAssetModelCompositeModelRequest$assetModelCompositeModelId": "

The ID of a composite model on this asset model.

", + "DeleteAssetModelRequest$assetModelId": "

The ID of the asset model to delete. 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.

", + "DeleteAssetRequest$assetId": "

The ID of the asset to delete. 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.

", + "DeleteTimeSeriesRequest$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.

", + "DeleteTimeSeriesRequest$propertyId": "

The ID of the asset property. 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.

", + "DescribeAssetCompositeModelRequest$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.

", + "DescribeAssetCompositeModelRequest$assetCompositeModelId": "

The ID of a composite model on this 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.

", + "DescribeAssetModelCompositeModelRequest$assetModelId": "

The ID of the asset model. 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.

", + "DescribeAssetModelCompositeModelRequest$assetModelCompositeModelId": "

The ID of a composite model on this asset model. 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.

", + "DescribeAssetModelRequest$assetModelId": "

The ID of the asset model. 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.

", + "DescribeAssetPropertyRequest$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.

", + "DescribeAssetPropertyRequest$propertyId": "

The ID of the asset property. 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.

", + "DescribeAssetRequest$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.

", + "DescribeTimeSeriesRequest$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.

", + "DescribeTimeSeriesRequest$propertyId": "

The ID of the asset property. 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.

", + "DisassociateAssetsRequest$assetId": "

The ID of the parent asset from which to disassociate the child 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.

", + "DisassociateAssetsRequest$hierarchyId": "

The ID of a hierarchy in the parent asset's model. (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.) Hierarchies allow different groupings of assets to be formed that all come from the same asset model. You can use the hierarchy ID to identify the correct asset to disassociate. For more information, see Asset hierarchies in the IoT SiteWise User Guide.

", + "DisassociateAssetsRequest$childAssetId": "

The ID of the child asset to disassociate. 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.

", + "DisassociateTimeSeriesFromAssetPropertyRequest$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.

", + "DisassociateTimeSeriesFromAssetPropertyRequest$propertyId": "

The ID of the asset property. 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.

", + "ListActionsRequest$targetResourceId": "

The ID of the target resource.

", + "ListAssetModelCompositeModelsRequest$assetModelId": "

The ID of the asset model. 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.

", + "ListAssetModelPropertiesRequest$assetModelId": "

The ID of the asset model. 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.

", + "ListAssetPropertiesRequest$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.

", + "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.

", + "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.

", + "UpdateAssetModelCompositeModelRequest$assetModelCompositeModelId": "

The ID of a composite model on this asset model.

", + "UpdateAssetModelRequest$assetModelId": "

The ID of the asset model to update. 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.

", + "UpdateAssetPropertyRequest$assetId": "

The ID of the asset to be updated. 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.

", + "UpdateAssetPropertyRequest$propertyId": "

The ID of the asset property to be updated. 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.

", + "UpdateAssetRequest$assetId": "

The ID of the asset to update. 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.

" } }, "CustomerManagedS3Storage": { @@ -1042,6 +1320,19 @@ "DashboardSummaries$member": null } }, + "Datum": { + "base": "

Represents a single data point in a query result.

", + "refs": { + "DatumList$member": null + } + }, + "DatumList": { + "base": null, + "refs": { + "Datum$arrayValue": "

Indicates if the data point is an array.

", + "Row$data": "

List of data points in a single row of the result set.

" + } + }, "DefaultValue": { "base": null, "refs": { @@ -1058,6 +1349,16 @@ "refs": { } }, + "DeleteAssetModelCompositeModelRequest": { + "base": null, + "refs": { + } + }, + "DeleteAssetModelCompositeModelResponse": { + "base": null, + "refs": { + } + }, "DeleteAssetModelRequest": { "base": null, "refs": { @@ -1088,6 +1389,13 @@ "refs": { } }, + "DeleteFilesAfterImport": { + "base": null, + "refs": { + "CreateBulkImportJobRequest$deleteFilesAfterImport": "

If set to true, your data files is deleted from S3, after ingestion into IoT SiteWise storage.

", + "DescribeBulkImportJobResponse$deleteFilesAfterImport": "

If set to true, your data files is deleted from S3, after ingestion into IoT SiteWise storage.

" + } + }, "DeleteGatewayRequest": { "base": null, "refs": { @@ -1128,6 +1436,36 @@ "refs": { } }, + "DescribeActionRequest": { + "base": null, + "refs": { + } + }, + "DescribeActionResponse": { + "base": null, + "refs": { + } + }, + "DescribeAssetCompositeModelRequest": { + "base": null, + "refs": { + } + }, + "DescribeAssetCompositeModelResponse": { + "base": null, + "refs": { + } + }, + "DescribeAssetModelCompositeModelRequest": { + "base": null, + "refs": { + } + }, + "DescribeAssetModelCompositeModelResponse": { + "base": null, + "refs": { + } + }, "DescribeAssetModelRequest": { "base": null, "refs": { @@ -1262,17 +1600,22 @@ "base": null, "refs": { "AssetCompositeModel$description": "

The description of the composite model.

", + "AssetCompositeModelSummary$description": "

A description of the composite model that this summary describes.

", "AssetModelCompositeModel$description": "

The description of the composite model.

", "AssetModelCompositeModelDefinition$description": "

The description of the composite model.

", + "AssetModelCompositeModelSummary$description": "

The description of the the composite model that this summary describes..

", "AssetModelSummary$description": "

The asset model description.

", "AssetSummary$description": "

A description for the asset.

", "AssociatedAssetsSummary$description": "

A description for the asset.

", + "CreateAssetModelCompositeModelRequest$assetModelCompositeModelDescription": "

A description for the composite model.

", "CreateAssetModelRequest$assetModelDescription": "

A description for the asset model.

", "CreateAssetRequest$assetDescription": "

A description for the asset.

", "CreateDashboardRequest$dashboardDescription": "

A description for the dashboard.

", "CreatePortalRequest$portalDescription": "

A description for the portal.

", "CreateProjectRequest$projectDescription": "

A description for the project.

", "DashboardSummary$description": "

The dashboard's description.

", + "DescribeAssetCompositeModelResponse$assetCompositeModelDescription": "

A description for the composite model.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelDescription": "

The description for the composite model.

", "DescribeAssetModelResponse$assetModelDescription": "

The asset model's description.

", "DescribeAssetResponse$assetDescription": "

A description for the asset.

", "DescribeDashboardResponse$dashboardDescription": "

The dashboard's description.

", @@ -1280,6 +1623,7 @@ "DescribeProjectResponse$projectDescription": "

The project's description.

", "PortalSummary$description": "

The portal's description.

", "ProjectSummary$description": "

The project's description.

", + "UpdateAssetModelCompositeModelRequest$assetModelCompositeModelDescription": "

A description for the composite model.

", "UpdateAssetModelRequest$assetModelDescription": "

A description for the asset model.

", "UpdateAssetRequest$assetDescription": "

A description for the asset.

", "UpdateDashboardRequest$dashboardDescription": "

A new description for the dashboard.

", @@ -1421,6 +1765,39 @@ "DescribeAssetRequest$excludeProperties": "

Whether or not to exclude asset properties from the response.

" } }, + "ExecuteActionRequest": { + "base": null, + "refs": { + } + }, + "ExecuteActionResponse": { + "base": null, + "refs": { + } + }, + "ExecuteQueryMaxResults": { + "base": null, + "refs": { + "ExecuteQueryRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

" + } + }, + "ExecuteQueryNextToken": { + "base": null, + "refs": { + "ExecuteQueryRequest$nextToken": "

The string that specifies the next page of results.

", + "ExecuteQueryResponse$nextToken": "

The string that specifies the next page of results.

" + } + }, + "ExecuteQueryRequest": { + "base": null, + "refs": { + } + }, + "ExecuteQueryResponse": { + "base": null, + "refs": { + } + }, "Expression": { "base": null, "refs": { @@ -1441,6 +1818,40 @@ "Transform$variables": "

The list of variables used in the expression.

" } }, + "ExternalId": { + "base": null, + "refs": { + "AssetCompositeModel$externalId": "

The external ID of the asset composite model. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetCompositeModelSummary$externalId": "

An external ID to assign to the asset model.

If the composite model is a derived composite model, or one nested inside a component model, you can only set the external ID using UpdateAssetModelCompositeModel and specifying the derived ID of the model or property from the created model it's a part of.

", + "AssetHierarchy$externalId": "

The external ID of the hierarchy, if it has one. When you update an asset hierarchy, you may assign an external ID if it doesn't already have one. You can't change the external ID of an asset hierarchy that already has one. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelCompositeModel$externalId": "

The external ID of the asset model composite model. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelCompositeModelDefinition$externalId": "

An external ID to assign to the composite model. The external ID must be unique among composite models within this asset model. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelCompositeModelSummary$externalId": "

The external ID of a composite model on this asset model. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelHierarchy$externalId": "

The external ID (if any) provided in the CreateAssetModel or UpdateAssetModel operation. You can assign an external ID by specifying this value as part of a call to UpdateAssetModel. However, you can't change the external ID if one is already assigned. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelHierarchyDefinition$externalId": "

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 in the IoT SiteWise User Guide.

", + "AssetModelProperty$externalId": "

The external ID (if any) provided in the CreateAssetModel or UpdateAssetModel operation. You can assign an external ID by specifying this value as part of a call to UpdateAssetModel. However, you can't change the external ID if one is already assigned. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelPropertyDefinition$externalId": "

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 in the IoT SiteWise User Guide.

", + "AssetModelPropertySummary$externalId": "

The external ID of the property. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetModelSummary$externalId": "

The external ID of the asset model. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetProperty$externalId": "

The external ID of the asset property. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetPropertySummary$externalId": "

The external ID of the property. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssetSummary$externalId": "

The external ID of the asset. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "AssociatedAssetsSummary$externalId": "

The external ID of the asset. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "CompositeModelProperty$externalId": "

The external ID of the composite model that contains the property. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "CreateAssetModelCompositeModelRequest$assetModelCompositeModelExternalId": "

An external ID to assign to the composite model.

If the composite model is a derived composite model, or one nested inside a component model, you can only set the external ID using UpdateAssetModelCompositeModel and specifying the derived ID of the model or property from the created model it's a part of.

", + "CreateAssetModelRequest$assetModelExternalId": "

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 in the IoT SiteWise User Guide.

", + "CreateAssetRequest$assetExternalId": "

An external ID to assign to the asset. The external ID must be unique within your Amazon Web Services account. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "DescribeAssetCompositeModelResponse$assetCompositeModelExternalId": "

An external ID to assign to the asset model.

If the composite model is a component-based composite model, or one nested inside a component model, you can only set the external ID using UpdateAssetModelCompositeModel and specifying the derived ID of the model or property from the created model it's a part of.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelExternalId": "

The external ID of a composite model on this asset model.

", + "DescribeAssetModelResponse$assetModelExternalId": "

The external ID of the asset model, if any.

", + "DescribeAssetPropertyResponse$assetExternalId": "

The external ID of the asset. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "DescribeAssetResponse$assetExternalId": "

The external ID of the asset, if any.

", + "Property$externalId": "

The external ID of the asset property. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "UpdateAssetModelCompositeModelRequest$assetModelCompositeModelExternalId": "

An external ID to assign to the asset model. You can only set the external ID of the asset model if it wasn't set when it was created, or you're setting it to the exact same thing as when it was created.

", + "UpdateAssetModelRequest$assetModelExternalId": "

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 in the IoT SiteWise User Guide.

", + "UpdateAssetRequest$assetExternalId": "

An external ID to assign to the asset. The asset 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 in the IoT SiteWise User Guide.

" + } + }, "File": { "base": "

The file in Amazon S3 where your data is saved.

", "refs": { @@ -1448,9 +1859,9 @@ } }, "FileFormat": { - "base": "

The file format of the data.

", + "base": "

The file format of the data in S3.

", "refs": { - "JobConfiguration$fileFormat": "

The file format of the data in Amazon S3.

" + "JobConfiguration$fileFormat": "

The file format of the data in S3.

" } }, "Files": { @@ -1519,7 +1930,7 @@ "GetAssetPropertyValueAggregatesMaxResults": { "base": null, "refs": { - "GetAssetPropertyAggregatesRequest$maxResults": "

The maximum number of results to return for each paginated request. A result set is returned in the two cases, whichever occurs first.

" + "GetAssetPropertyAggregatesRequest$maxResults": "

The maximum number of results to return for each paginated request. A result set is returned in the two cases, whichever occurs first.

" } }, "GetAssetPropertyValueHistoryMaxResults": { @@ -1592,72 +2003,79 @@ "base": null, "refs": { "AccessPolicySummary$id": "

The ID of the access policy.

", + "ActionDefinition$actionDefinitionId": "

The ID of the action definition.

", + "ActionSummary$actionId": "

The ID of the action.

", + "ActionSummary$actionDefinitionId": "

The ID of the action definition.

", "AssetCompositeModel$id": "

The ID of the asset composite model.

", - "AssetErrorDetails$assetId": "

The ID of the asset.

", + "AssetCompositeModelPathSegment$id": "

The ID of the path segment.

", + "AssetCompositeModelSummary$id": "

The ID of the composite model that this summary describes.

", + "AssetErrorDetails$assetId": "

The ID of the asset, in UUID format.

", "AssetHierarchy$id": "

The ID of the hierarchy. This ID is a hierarchyId.

", "AssetHierarchyInfo$parentAssetId": "

The ID of the parent asset in this asset relationship.

", "AssetHierarchyInfo$childAssetId": "

The ID of the child asset in this asset relationship.

", "AssetIDs$member": null, - "AssetModelCompositeModel$id": "

The ID of the asset model composite model.

", - "AssetModelHierarchy$id": "

The ID of the asset model hierarchy. This ID is a hierarchyId.

", - "AssetModelHierarchy$childAssetModelId": "

The ID of the asset model. All assets in this hierarchy must be instances of the childAssetModelId asset model.

", - "AssetModelHierarchyDefinition$childAssetModelId": "

The ID of an asset model for this hierarchy.

", - "AssetModelProperty$id": "

The ID of the asset model property.

", + "AssetModelCompositeModelDefinition$id": "

The ID to assign to the composite 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.

", + "AssetModelCompositeModelPathSegment$id": "

The ID of the path segment.

", + "AssetModelCompositeModelSummary$id": "

The ID of the the composite model that this summary describes..

", + "AssetModelHierarchyDefinition$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.

", + "AssetModelPropertyDefinition$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.

", + "AssetModelPropertyPathSegment$id": "

The ID of the path segment.

", "AssetModelPropertySummary$id": "

The ID of the property.

", "AssetModelPropertySummary$assetModelCompositeModelId": "

The ID of the composite model that contains the asset model property.

", - "AssetModelSummary$id": "

The ID of the asset model (used with IoT SiteWise APIs).

", + "AssetModelSummary$id": "

The ID of the asset model (used with IoT SiteWise API operations).

", "AssetProperty$id": "

The ID of the asset property.

", + "AssetPropertyPathSegment$id": "

The ID of the path segment.

", "AssetPropertySummary$id": "

The ID of the property.

", "AssetPropertySummary$assetCompositeModelId": "

The ID of the composite model that contains the asset property.

", - "AssetSummary$id": "

The ID of the asset.

", + "AssetSummary$id": "

The ID of the asset, in UUID format.

", "AssetSummary$assetModelId": "

The ID of the asset model used to create this asset.

", - "AssociateAssetsRequest$assetId": "

The ID of the parent asset.

", - "AssociateAssetsRequest$hierarchyId": "

The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings of assets to be formed that all come from the same asset model. For more information, see Asset hierarchies in the IoT SiteWise User Guide.

", - "AssociateAssetsRequest$childAssetId": "

The ID of the child asset to be associated.

", - "AssociateTimeSeriesToAssetPropertyRequest$assetId": "

The ID of the asset in which the asset property was created.

", - "AssociateTimeSeriesToAssetPropertyRequest$propertyId": "

The ID of the asset property.

", - "AssociatedAssetsSummary$id": "

The ID of the asset.

", + "AssociatedAssetsSummary$id": "

The ID of the asset, in UUID format.

", "AssociatedAssetsSummary$assetModelId": "

The ID of the asset model used to create the asset.

", "BatchAssociateProjectAssetsRequest$projectId": "

The ID of the project to which to associate the assets.

", "BatchDisassociateProjectAssetsRequest$projectId": "

The ID of the project from which to disassociate the assets.

", "BatchGetAssetPropertyAggregatesEntry$assetId": "

The ID of the asset in which the asset property was created.

", - "BatchGetAssetPropertyAggregatesEntry$propertyId": "

The ID of the asset property.

", + "BatchGetAssetPropertyAggregatesEntry$propertyId": "

The ID of the asset property, in UUID format.

", "BatchGetAssetPropertyValueEntry$assetId": "

The ID of the asset in which the asset property was created.

", - "BatchGetAssetPropertyValueEntry$propertyId": "

The ID of the asset property.

", + "BatchGetAssetPropertyValueEntry$propertyId": "

The ID of the asset property, in UUID format.

", "BatchGetAssetPropertyValueHistoryEntry$assetId": "

The ID of the asset in which the asset property was created.

", - "BatchGetAssetPropertyValueHistoryEntry$propertyId": "

The ID of the asset property.

", + "BatchGetAssetPropertyValueHistoryEntry$propertyId": "

The ID of the asset property, in UUID format.

", "CompositeModelProperty$id": "

The ID of the composite model that contains the property.

", + "CompositionRelationshipItem$id": "

The ID of the component.

", + "CompositionRelationshipSummary$assetModelId": "

The ID of the asset model, in UUID format.

", + "CompositionRelationshipSummary$assetModelCompositeModelId": "

The ID of a composite model on this asset model.

", "CreateAccessPolicyResponse$accessPolicyId": "

The ID of the access policy.

", - "CreateAssetModelResponse$assetModelId": "

The ID of the asset model. You can use this ID when you call other IoT SiteWise APIs.

", - "CreateAssetRequest$assetModelId": "

The ID of the asset model from which to create the asset.

", - "CreateAssetResponse$assetId": "

The ID of the asset. This ID uniquely identifies the asset within IoT SiteWise and can be used with other IoT SiteWise APIs.

", + "CreateAssetModelCompositeModelRequest$assetModelCompositeModelId": "

The ID of the composite model. 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.

", + "CreateAssetModelCompositeModelResponse$assetModelCompositeModelId": "

The ID of the composed asset model. You can use this ID when you call other IoT SiteWise APIs.

", + "CreateAssetModelRequest$assetModelId": "

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.

", + "CreateAssetModelResponse$assetModelId": "

The ID of the asset model, in UUID format. You can use this ID when you call other IoT SiteWise API operations.

", + "CreateAssetRequest$assetId": "

The ID to assign to the asset, 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.

", + "CreateAssetResponse$assetId": "

The ID of the asset, in UUID format. This ID uniquely identifies the asset within IoT SiteWise and can be used with other IoT SiteWise API operations.

", "CreateBulkImportJobResponse$jobId": "

The ID of the job.

", "CreateDashboardRequest$projectId": "

The ID of the project in which to create the dashboard.

", "CreateDashboardResponse$dashboardId": "

The ID of the dashboard.

", - "CreateGatewayResponse$gatewayId": "

The ID of the gateway device. You can use this ID when you call other IoT SiteWise APIs.

", + "CreateGatewayResponse$gatewayId": "

The ID of the gateway device. You can use this ID when you call other IoT SiteWise API operations.

", "CreatePortalResponse$portalId": "

The ID of the created portal.

", "CreateProjectRequest$portalId": "

The ID of the portal in which to create the project.

", "CreateProjectResponse$projectId": "

The ID of the project.

", "DashboardSummary$id": "

The ID of the dashboard.

", "DeleteAccessPolicyRequest$accessPolicyId": "

The ID of the access policy to be deleted.

", - "DeleteAssetModelRequest$assetModelId": "

The ID of the asset model to delete.

", - "DeleteAssetRequest$assetId": "

The ID of the asset to delete.

", "DeleteDashboardRequest$dashboardId": "

The ID of the dashboard to delete.

", "DeleteGatewayRequest$gatewayId": "

The ID of the gateway to delete.

", "DeletePortalRequest$portalId": "

The ID of the portal to delete.

", "DeleteProjectRequest$projectId": "

The ID of the project.

", - "DeleteTimeSeriesRequest$assetId": "

The ID of the asset in which the asset property was created.

", - "DeleteTimeSeriesRequest$propertyId": "

The ID of the asset property.

", "DescribeAccessPolicyRequest$accessPolicyId": "

The ID of the access policy.

", "DescribeAccessPolicyResponse$accessPolicyId": "

The ID of the access policy.

", - "DescribeAssetModelRequest$assetModelId": "

The ID of the asset model.

", - "DescribeAssetModelResponse$assetModelId": "

The ID of the asset model.

", - "DescribeAssetPropertyRequest$assetId": "

The ID of the asset.

", - "DescribeAssetPropertyRequest$propertyId": "

The ID of the asset property.

", - "DescribeAssetPropertyResponse$assetId": "

The ID of the asset.

", - "DescribeAssetPropertyResponse$assetModelId": "

The ID of the asset model.

", - "DescribeAssetRequest$assetId": "

The ID of the asset.

", - "DescribeAssetResponse$assetId": "

The ID of the asset.

", + "DescribeActionRequest$actionId": "

The ID of the action.

", + "DescribeActionResponse$actionId": "

The ID of the action.

", + "DescribeActionResponse$actionDefinitionId": "

The ID of the action definition.

", + "DescribeAssetCompositeModelResponse$assetId": "

The ID of the asset, in UUID format. This ID uniquely identifies the asset within IoT SiteWise and can be used with other IoT SiteWise APIs.

", + "DescribeAssetCompositeModelResponse$assetCompositeModelId": "

The ID of a composite model on this asset.

", + "DescribeAssetModelCompositeModelResponse$assetModelId": "

The ID of the asset model, in UUID format.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelId": "

The ID of a composite model on this asset model.

", + "DescribeAssetModelResponse$assetModelId": "

The ID of the asset model, in UUID format.

", + "DescribeAssetPropertyResponse$assetId": "

The ID of the asset, in UUID format.

", + "DescribeAssetPropertyResponse$assetModelId": "

The ID of the asset model, in UUID format.

", + "DescribeAssetResponse$assetId": "

The ID of the asset, in UUID format.

", "DescribeAssetResponse$assetModelId": "

The ID of the asset model that was used to create the asset.

", "DescribeBulkImportJobRequest$jobId": "

The ID of the job.

", "DescribeBulkImportJobResponse$jobId": "

The ID of the job.

", @@ -1673,39 +2091,28 @@ "DescribeProjectRequest$projectId": "

The ID of the project.

", "DescribeProjectResponse$projectId": "

The ID of the project.

", "DescribeProjectResponse$portalId": "

The ID of the portal that the project is in.

", - "DescribeTimeSeriesRequest$assetId": "

The ID of the asset in which the asset property was created.

", - "DescribeTimeSeriesRequest$propertyId": "

The ID of the asset property.

", "DescribeTimeSeriesResponse$assetId": "

The ID of the asset in which the asset property was created.

", - "DescribeTimeSeriesResponse$propertyId": "

The ID of the asset property.

", - "DisassociateAssetsRequest$assetId": "

The ID of the parent asset from which to disassociate the child asset.

", - "DisassociateAssetsRequest$hierarchyId": "

The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings of assets to be formed that all come from the same asset model. You can use the hierarchy ID to identify the correct asset to disassociate. For more information, see Asset hierarchies in the IoT SiteWise User Guide.

", - "DisassociateAssetsRequest$childAssetId": "

The ID of the child asset to disassociate.

", - "DisassociateTimeSeriesFromAssetPropertyRequest$assetId": "

The ID of the asset in which the asset property was created.

", - "DisassociateTimeSeriesFromAssetPropertyRequest$propertyId": "

The ID of the asset property.

", + "DescribeTimeSeriesResponse$propertyId": "

The ID of the asset property, in UUID format.

", + "ExecuteActionRequest$actionDefinitionId": "

The ID of the action definition.

", + "ExecuteActionResponse$actionId": "

The ID of the action.

", "GatewaySummary$gatewayId": "

The ID of the gateway device.

", - "GetAssetPropertyAggregatesRequest$assetId": "

The ID of the asset.

", - "GetAssetPropertyAggregatesRequest$propertyId": "

The ID of the asset property.

", - "GetAssetPropertyValueHistoryRequest$assetId": "

The ID of the asset.

", - "GetAssetPropertyValueHistoryRequest$propertyId": "

The ID of the asset property.

", - "GetAssetPropertyValueRequest$assetId": "

The ID of the asset.

", - "GetAssetPropertyValueRequest$propertyId": "

The ID of the asset property.

", - "GetInterpolatedAssetPropertyValuesRequest$assetId": "

The ID of the asset.

", - "GetInterpolatedAssetPropertyValuesRequest$propertyId": "

The ID of the asset property.

", + "GetAssetPropertyAggregatesRequest$assetId": "

The ID of the asset, in UUID format.

", + "GetAssetPropertyAggregatesRequest$propertyId": "

The ID of the asset property, in UUID format.

", + "GetAssetPropertyValueHistoryRequest$assetId": "

The ID of the asset, in UUID format.

", + "GetAssetPropertyValueHistoryRequest$propertyId": "

The ID of the asset property, in UUID format.

", + "GetAssetPropertyValueRequest$assetId": "

The ID of the asset, in UUID format.

", + "GetAssetPropertyValueRequest$propertyId": "

The ID of the asset property, in UUID format.

", + "GetInterpolatedAssetPropertyValuesRequest$assetId": "

The ID of the asset, in UUID format.

", + "GetInterpolatedAssetPropertyValuesRequest$propertyId": "

The ID of the asset property, in UUID format.

", "IDs$member": null, "Image$id": "

The ID of an existing image. Specify this parameter to keep an existing image.

", "ImageLocation$id": "

The ID of the image.

", "JobSummary$id": "

The ID of the job.

", "ListAccessPoliciesRequest$resourceId": "

The ID of the resource. This parameter is required if you specify resourceType.

", - "ListAssetModelPropertiesRequest$assetModelId": "

The ID of the asset model.

", - "ListAssetPropertiesRequest$assetId": "

The ID of the asset.

", - "ListAssetRelationshipsRequest$assetId": "

The ID of the asset.

", - "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.

", - "ListAssociatedAssetsRequest$assetId": "

The ID of the asset to query.

", - "ListAssociatedAssetsRequest$hierarchyId": "

The ID of the hierarchy by which child assets are associated to the asset. 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.

", + "ListCompositionRelationshipsRequest$assetModelId": "

The ID of the asset model. 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.

", "ListDashboardsRequest$projectId": "

The ID of the project.

", "ListProjectAssetsRequest$projectId": "

The ID of the project.

", "ListProjectsRequest$portalId": "

The ID of the portal.

", - "ListTimeSeriesRequest$assetId": "

The ID of the asset in which the asset property was created.

", "PortalResource$id": "

The ID of the portal.

", "PortalSummary$id": "

The ID of the portal.

", "ProjectResource$id": "

The ID of the project.

", @@ -1714,12 +2121,8 @@ "PutAssetPropertyValueEntry$assetId": "

The ID of the asset to update.

", "PutAssetPropertyValueEntry$propertyId": "

The ID of the asset property for this entry.

", "TimeSeriesSummary$assetId": "

The ID of the asset in which the asset property was created.

", - "TimeSeriesSummary$propertyId": "

The ID of the asset property.

", + "TimeSeriesSummary$propertyId": "

The ID of the asset property, in UUID format.

", "UpdateAccessPolicyRequest$accessPolicyId": "

The ID of the access policy.

", - "UpdateAssetModelRequest$assetModelId": "

The ID of the asset model to update.

", - "UpdateAssetPropertyRequest$assetId": "

The ID of the asset to be updated.

", - "UpdateAssetPropertyRequest$propertyId": "

The ID of the asset property to be updated.

", - "UpdateAssetRequest$assetId": "

The ID of the asset to update.

", "UpdateDashboardRequest$dashboardId": "

The ID of the dashboard to update.

", "UpdateGatewayCapabilityConfigurationRequest$gatewayId": "

The ID of the gateway to be updated.

", "UpdateGatewayRequest$gatewayId": "

The ID of the gateway to update.

", @@ -1735,7 +2138,7 @@ } }, "Identity": { - "base": "

Contains an identity that can access an IoT SiteWise Monitor resource.

Currently, you can't use Amazon Web Services APIs to retrieve IAM Identity Center identity IDs. You can find the IAM Identity Center identity IDs in the URL of user and group pages in the IAM Identity Center console.

", + "base": "

Contains an identity that can access an IoT SiteWise Monitor resource.

Currently, you can't use Amazon Web Services API operations to retrieve IAM Identity Center identity IDs. You can find the IAM Identity Center identity IDs in the URL of user and group pages in the IAM Identity Center console.

", "refs": { "AccessPolicySummary$identity": "

The identity (an IAM Identity Center user, an IAM Identity Center group, or an IAM user).

", "CreateAccessPolicyRequest$accessPolicyIdentity": "

The identity for this access policy. Choose an IAM Identity Center user, an IAM Identity Center group, or an IAM user.

", @@ -1844,9 +2247,9 @@ "JobStatus": { "base": null, "refs": { - "CreateBulkImportJobResponse$jobStatus": "

The status of the bulk import job can be one of following values.

", - "DescribeBulkImportJobResponse$jobStatus": "

The status of the bulk import job can be one of following values.

", - "JobSummary$status": "

The status of the bulk import job can be one of following values.

" + "CreateBulkImportJobResponse$jobStatus": "

The status of the bulk import job can be one of following values:

", + "DescribeBulkImportJobResponse$jobStatus": "

The status of the bulk import job can be one of following values:

", + "JobSummary$status": "

The status of the bulk import job can be one of following values:

" } }, "JobSummaries": { @@ -1856,7 +2259,7 @@ } }, "JobSummary": { - "base": "

Contains a job summary information.

", + "base": "

Contains the job summary information.

", "refs": { "JobSummaries$member": null } @@ -1882,6 +2285,26 @@ "refs": { } }, + "ListActionsRequest": { + "base": null, + "refs": { + } + }, + "ListActionsResponse": { + "base": null, + "refs": { + } + }, + "ListAssetModelCompositeModelsRequest": { + "base": null, + "refs": { + } + }, + "ListAssetModelCompositeModelsResponse": { + "base": null, + "refs": { + } + }, "ListAssetModelPropertiesFilter": { "base": null, "refs": { @@ -1908,6 +2331,12 @@ "refs": { } }, + "ListAssetModelsTypeFilter": { + "base": null, + "refs": { + "ListAssetModelsRequest$assetModelTypes": "

The type of asset model.

" + } + }, "ListAssetPropertiesFilter": { "base": null, "refs": { @@ -1976,6 +2405,16 @@ "refs": { } }, + "ListCompositionRelationshipsRequest": { + "base": null, + "refs": { + } + }, + "ListCompositionRelationshipsResponse": { + "base": null, + "refs": { + } + }, "ListDashboardsRequest": { "base": null, "refs": { @@ -2068,8 +2507,8 @@ "Macro": { "base": null, "refs": { - "VariableValue$propertyId": "

The ID of the property to use as the variable. You can use the property name if it's from the same asset model.

", - "VariableValue$hierarchyId": "

The ID of the hierarchy to query for the property ID. You can use the hierarchy's name instead of the hierarchy's ID.

You use a hierarchy ID instead of a model ID because you can have several hierarchies using the same model and therefore the same propertyId. For example, you might have separately grouped assets that come from the same asset model. For more information, see Asset hierarchies in the IoT SiteWise User Guide.

" + "VariableValue$propertyId": "

The ID of the property to use as the variable. You can use the property name if it's from the same asset model. If the property has an external ID, you can specify externalId: followed by the external ID. For more information, see Using external IDs in the IoT SiteWise User Guide.

", + "VariableValue$hierarchyId": "

The ID of the hierarchy to query for the property ID. You can use the hierarchy's name instead of the hierarchy's ID. If the hierarchy has an external ID, you can specify externalId: followed by the external ID. For more information, see Using external IDs in the IoT SiteWise User Guide.

You use a hierarchy ID instead of a model ID because you can have several hierarchies using the same model and therefore the same propertyId. For example, you might have separately grouped assets that come from the same asset model. For more information, see Asset hierarchies in the IoT SiteWise User Guide.

" } }, "MaxInterpolatedResults": { @@ -2082,6 +2521,8 @@ "base": null, "refs": { "ListAccessPoliciesRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", + "ListActionsRequest$maxResults": "

The maximum number of results to return for each paginated request.

", + "ListAssetModelCompositeModelsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListAssetModelPropertiesRequest$maxResults": "

The maximum number of results to return for each paginated request. If not specified, the default value is 50.

", "ListAssetModelsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListAssetPropertiesRequest$maxResults": "

The maximum number of results to return for each paginated request. If not specified, the default value is 50.

", @@ -2089,6 +2530,7 @@ "ListAssetsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListAssociatedAssetsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListBulkImportJobsRequest$maxResults": "

The maximum number of results to return for each paginated request.

", + "ListCompositionRelationshipsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListDashboardsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListGatewaysRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", "ListPortalsRequest$maxResults": "

The maximum number of results to return for each paginated request.

Default: 50

", @@ -2156,28 +2598,41 @@ "Name": { "base": null, "refs": { + "ActionDefinition$actionName": "

The name of the action definition.

", + "ActionDefinition$actionType": "

The type of the action definition.

", "AssetCompositeModel$name": "

The name of the composite model.

", "AssetCompositeModel$type": "

The type of the composite model. For alarm composite models, this type is AWS/ALARM.

", + "AssetCompositeModelPathSegment$name": "

The name of the path segment.

", + "AssetCompositeModelSummary$name": "

The name of the composite model that this summary describes.

", + "AssetCompositeModelSummary$type": "

The type of asset model.

", "AssetHierarchy$name": "

The hierarchy name provided in the CreateAssetModel or UpdateAssetModel API operation.

", "AssetModelCompositeModel$name": "

The name of the composite model.

", "AssetModelCompositeModel$type": "

The type of the composite model. For alarm composite models, this type is AWS/ALARM.

", "AssetModelCompositeModelDefinition$name": "

The name of the composite model.

", "AssetModelCompositeModelDefinition$type": "

The type of the composite model. For alarm composite models, this type is AWS/ALARM.

", + "AssetModelCompositeModelPathSegment$name": "

The name of the path segment.

", + "AssetModelCompositeModelSummary$name": "

The name of the the composite model that this summary describes..

", + "AssetModelCompositeModelSummary$type": "

The type of asset model.

", "AssetModelHierarchy$name": "

The name of the asset model hierarchy that you specify by using the CreateAssetModel or UpdateAssetModel API operation.

", "AssetModelHierarchyDefinition$name": "

The name of the asset model hierarchy definition (as specified in the CreateAssetModel or UpdateAssetModel API operation).

", "AssetModelProperty$name": "

The name of the asset model property.

", "AssetModelProperty$dataTypeSpec": "

The data type of the structure for this property. This parameter exists on properties that have the STRUCT data type.

", "AssetModelPropertyDefinition$name": "

The name of the property definition.

", "AssetModelPropertyDefinition$dataTypeSpec": "

The data type of the structure for this property. This parameter is required on properties that have the STRUCT data type.

The options for this parameter depend on the type of the composite model in which you define this property. Use AWS/ALARM_STATE for alarm state in alarm composite models.

", + "AssetModelPropertyPathSegment$name": "

The name of the path segment.

", "AssetModelPropertySummary$name": "

The name of the property.

", "AssetModelPropertySummary$dataTypeSpec": "

The data type of the structure for this property. This parameter exists on properties that have the STRUCT data type.

", "AssetModelSummary$name": "

The name of the asset model.

", "AssetProperty$name": "

The name of the property.

", "AssetProperty$dataTypeSpec": "

The data type of the structure for this property. This parameter exists on properties that have the STRUCT data type.

", + "AssetPropertyPathSegment$name": "

The name of the path segment.

", "AssetSummary$name": "

The name of the asset.

", "AssociatedAssetsSummary$name": "

The name of the asset.

", "CompositeModelProperty$name": "

The name of the property.

", "CompositeModelProperty$type": "

The type of the composite model that defines this property.

", + "CompositionRelationshipSummary$assetModelCompositeModelType": "

The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY.

", + "CreateAssetModelCompositeModelRequest$assetModelCompositeModelName": "

A unique, friendly name for the composite model.

", + "CreateAssetModelCompositeModelRequest$assetModelCompositeModelType": "

The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY.

", "CreateAssetModelRequest$assetModelName": "

A unique, friendly name for the asset model.

", "CreateAssetRequest$assetName": "

A friendly name for the asset.

", "CreateBulkImportJobRequest$jobName": "

The unique name that helps identify the job request.

", @@ -2187,6 +2642,10 @@ "CreatePortalRequest$portalName": "

A friendly name for the portal.

", "CreateProjectRequest$projectName": "

A friendly name for the project.

", "DashboardSummary$name": "

The name of the dashboard

", + "DescribeAssetCompositeModelResponse$assetCompositeModelName": "

The unique, friendly name for the composite model.

", + "DescribeAssetCompositeModelResponse$assetCompositeModelType": "

The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelName": "

The unique, friendly name for the composite model.

", + "DescribeAssetModelCompositeModelResponse$assetModelCompositeModelType": "

The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY.

", "DescribeAssetModelResponse$assetModelName": "

The name of the asset model.

", "DescribeAssetPropertyResponse$assetName": "

The name of the asset.

", "DescribeAssetResponse$assetName": "

The name of the asset.

", @@ -2202,6 +2661,7 @@ "ProjectSummary$name": "

The name of the project.

", "Property$name": "

The name of the property.

", "TimeSeriesSummary$dataTypeSpec": "

The data type of the structure for this time series. This parameter is required for time series that have the STRUCT data type.

The options for this parameter depend on the type of the composite model in which you created the asset property that is associated with your time series. Use AWS/ALARM_STATE for alarm state in alarm composite models.

", + "UpdateAssetModelCompositeModelRequest$assetModelCompositeModelName": "

A unique, friendly name for the composite model.

", "UpdateAssetModelRequest$assetModelName": "

A unique, friendly name for the asset model.

", "UpdateAssetRequest$assetName": "

A friendly name for the asset.

", "UpdateDashboardRequest$dashboardName": "

A new friendly name for the dashboard.

", @@ -2227,6 +2687,10 @@ "GetInterpolatedAssetPropertyValuesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAccessPoliciesRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListAccessPoliciesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "ListActionsRequest$nextToken": "

The token to be used for the next set of paginated results.

", + "ListActionsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "ListAssetModelCompositeModelsRequest$nextToken": "

The token to be used for the next set of paginated results.

", + "ListAssetModelCompositeModelsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAssetModelPropertiesRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListAssetModelPropertiesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAssetModelsRequest$nextToken": "

The token to be used for the next set of paginated results.

", @@ -2241,6 +2705,8 @@ "ListAssociatedAssetsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListBulkImportJobsRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListBulkImportJobsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "ListCompositionRelationshipsRequest$nextToken": "

The token to be used for the next set of paginated results.

", + "ListCompositionRelationshipsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListDashboardsRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListDashboardsResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListGatewaysRequest$nextToken": "

The token to be used for the next set of paginated results.

", @@ -2255,10 +2721,17 @@ "ListTimeSeriesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

" } }, + "NullableBoolean": { + "base": null, + "refs": { + "Datum$nullValue": "

Indicates if the data point is null.

" + } + }, "NumberOfDays": { "base": null, "refs": { - "RetentionPeriod$numberOfDays": "

The number of days that your data is kept.

If you specified a value for this parameter, the unlimited parameter must be false.

" + "RetentionPeriod$numberOfDays": "

The number of days that your data is kept.

If you specified a value for this parameter, the unlimited parameter must be false.

", + "WarmTierRetentionPeriod$numberOfDays": "

The number of days the data is stored in the warm tier.

" } }, "Offset": { @@ -2275,6 +2748,12 @@ "TimeInNanos$offsetInNanos": "

The nanosecond offset from timeInSeconds.

" } }, + "Parquet": { + "base": "

A parquet file.

", + "refs": { + "FileFormat$parquet": "

The file is in parquet format.

" + } + }, "Permission": { "base": null, "refs": { @@ -2287,7 +2766,7 @@ "PortalClientId": { "base": null, "refs": { - "DescribePortalResponse$portalClientId": "

The IAM Identity Center application generated client ID (used with IAM Identity Center APIs). IoT SiteWise includes portalClientId for only portals that use IAM Identity Center to authenticate users.

" + "DescribePortalResponse$portalClientId": "

The IAM Identity Center application generated client ID (used with IAM Identity Center API operations). IoT SiteWise includes portalClientId for only portals that use IAM Identity Center to authenticate users.

" } }, "PortalResource": { @@ -2434,7 +2913,7 @@ "PropertyValueIntegerValue": { "base": null, "refs": { - "Variant$integerValue": "

Asset property data of type integer (whole number).

" + "Variant$integerValue": "

Asset property data of type integer (number that's greater than or equal to zero).

" } }, "PropertyValueStringValue": { @@ -2503,6 +2982,17 @@ "Qualities$member": null } }, + "QueryStatement": { + "base": null, + "refs": { + "ExecuteQueryRequest$queryStatement": "

The IoT SiteWise query statement.

" + } + }, + "QueryTimeoutException": { + "base": "

The query timed out.

", + "refs": { + } + }, "Resolution": { "base": null, "refs": { @@ -2550,19 +3040,44 @@ } }, "RetentionPeriod": { - "base": "

How many days your data is kept in the hot tier. By default, your data is kept indefinitely in the hot tier.

", + "base": "

The number of days your data is kept in the hot tier. By default, your data is kept indefinitely in the hot tier.

", "refs": { - "DescribeStorageConfigurationResponse$retentionPeriod": "

How many days your data is kept in the hot tier. By default, your data is kept indefinitely in the hot tier.

", + "DescribeStorageConfigurationResponse$retentionPeriod": "

The number of days your data is kept in the hot tier. By default, your data is kept indefinitely in the hot tier.

", "PutStorageConfigurationRequest$retentionPeriod": null, "PutStorageConfigurationResponse$retentionPeriod": null } }, + "Row": { + "base": "

Represents a single row in the query results.

", + "refs": { + "Datum$rowValue": "

Indicates if the data point is a row.

", + "Rows$member": null + } + }, + "Rows": { + "base": null, + "refs": { + "ExecuteQueryResponse$rows": "

Represents a single row in the query results.

" + } + }, "SSOApplicationId": { "base": null, "refs": { "CreatePortalResponse$ssoApplicationId": "

The associated IAM Identity Center application ID, if the portal uses IAM Identity Center.

" } }, + "ScalarType": { + "base": null, + "refs": { + "ColumnType$scalarType": "

The allowed data types that the column has as it's value.

" + } + }, + "ScalarValue": { + "base": null, + "refs": { + "Datum$scalarValue": "

Indicates if the data point is a scalar value such as integer, string, double, or Boolean.

" + } + }, "ServiceUnavailableException": { "base": "

The requested service is unavailable.

", "refs": { @@ -2579,6 +3094,7 @@ "String": { "base": null, "refs": { + "ColumnInfo$name": "

The name of the column description.

", "ErrorReportLocation$prefix": "

Amazon S3 uses the prefix as a folder name to organize data in the bucket. Each Amazon S3 object has a key that is its unique identifier in the bucket. Each object in a bucket has exactly one key. The prefix must end with a forward slash (/). For more information, see Organizing objects using prefixes in the Amazon Simple Storage Service User Guide.

", "File$key": "

The key of the Amazon S3 object that contains your data. Each object has a key that is a unique identifier. Each object has exactly one key.

", "File$versionId": "

The version ID to identify a specific version of the Amazon S3 object that contains your data.

" @@ -2627,6 +3143,20 @@ "TagMap$value": null } }, + "TargetResource": { + "base": "

The resource the action will be taken on.

", + "refs": { + "ActionSummary$targetResource": "

The resource the action will be taken on.

", + "DescribeActionResponse$targetResource": "

The resource the action will be taken on.

", + "ExecuteActionRequest$targetResource": "

The resource the action will be taken on.

" + } + }, + "TargetResourceType": { + "base": null, + "refs": { + "ListActionsRequest$targetResourceType": "

The type of resource.

" + } + }, "ThrottlingException": { "base": "

Your request exceeded a rate limit. For example, you might have exceeded the number of IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so on.

For more information, see Quotas in the IoT SiteWise User Guide.

", "refs": { @@ -2699,6 +3229,7 @@ "DashboardSummary$lastUpdateDate": "

The date the dashboard was last updated, in Unix epoch time.

", "DescribeAccessPolicyResponse$accessPolicyCreationDate": "

The date the access policy was created, in Unix epoch time.

", "DescribeAccessPolicyResponse$accessPolicyLastUpdateDate": "

The date the access policy was last updated, in Unix epoch time.

", + "DescribeActionResponse$executionTime": "

The time the action was executed.

", "DescribeAssetModelResponse$assetModelCreationDate": "

The date the asset model was created, in Unix epoch time.

", "DescribeAssetModelResponse$assetModelLastUpdateDate": "

The date the asset model was last updated, in Unix epoch time.

", "DescribeAssetResponse$assetCreationDate": "

The date the asset was created, in Unix epoch time.

", @@ -2779,7 +3310,8 @@ "Unlimited": { "base": null, "refs": { - "RetentionPeriod$unlimited": "

If true, your data is kept indefinitely.

If configured to true, you must not specify a value for the numberOfDays parameter.

" + "RetentionPeriod$unlimited": "

If true, your data is kept indefinitely.

If configured to true, you must not specify a value for the numberOfDays parameter.

", + "WarmTierRetentionPeriod$unlimited": "

If set to true, the data is stored indefinitely in the warm tier.

" } }, "UntagResourceRequest": { @@ -2802,6 +3334,16 @@ "refs": { } }, + "UpdateAssetModelCompositeModelRequest": { + "base": null, + "refs": { + } + }, + "UpdateAssetModelCompositeModelResponse": { + "base": null, + "refs": { + } + }, "UpdateAssetModelRequest": { "base": null, "refs": { @@ -2887,6 +3429,11 @@ "Identity$user": "

An IAM Identity Center user identity.

" } }, + "ValidationException": { + "base": "

The validation failed for this query.

", + "refs": { + } + }, "VariableName": { "base": null, "refs": { @@ -2905,6 +3452,30 @@ "AssetPropertyValue$value": "

The value of the asset property (see Variant).

", "InterpolatedAssetPropertyValue$value": null } + }, + "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": { + "DescribeStorageConfigurationResponse$warmTierRetentionPeriod": "

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.

", + "PutStorageConfigurationRequest$warmTierRetentionPeriod": "

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.

", + "PutStorageConfigurationResponse$warmTierRetentionPeriod": "

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.

" + } + }, + "WarmTierState": { + "base": null, + "refs": { + "DescribeStorageConfigurationResponse$warmTier": "

A service managed storage tier optimized for analytical queries. It stores periodically uploaded, buffered and historical data ingested with the CreaeBulkImportJob API.

", + "PutStorageConfigurationRequest$warmTier": "

A service managed storage tier optimized for analytical queries. It stores periodically uploaded, buffered and historical data ingested with the CreaeBulkImportJob API.

", + "PutStorageConfigurationResponse$warmTier": "

A service managed storage tier optimized for analytical queries. It stores periodically uploaded, buffered and historical data ingested with the CreaeBulkImportJob API.

" + } + }, + "errorMessage": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "QueryTimeoutException$message": null, + "ValidationException$message": null + } } } } diff --git a/models/apis/iotsitewise/2019-12-02/endpoint-rule-set-1.json b/models/apis/iotsitewise/2019-12-02/endpoint-rule-set-1.json index 4d0aa7174fc..2d6879278ab 100644 --- a/models/apis/iotsitewise/2019-12-02/endpoint-rule-set-1.json +++ b/models/apis/iotsitewise/2019-12-02/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iotsitewise-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://iotsitewise-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iotsitewise-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://iotsitewise-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iotsitewise.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://iotsitewise.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iotsitewise.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://iotsitewise.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/iotsitewise/2019-12-02/paginators-1.json b/models/apis/iotsitewise/2019-12-02/paginators-1.json index 7745303a108..6cba54d08b5 100644 --- a/models/apis/iotsitewise/2019-12-02/paginators-1.json +++ b/models/apis/iotsitewise/2019-12-02/paginators-1.json @@ -14,6 +14,12 @@ "output_token": "nextToken", "limit_key": "maxResults" }, + "ExecuteQuery": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "rows" + }, "GetAssetPropertyAggregates": { "input_token": "nextToken", "output_token": "nextToken", @@ -38,6 +44,18 @@ "limit_key": "maxResults", "result_key": "accessPolicySummaries" }, + "ListActions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "actionSummaries" + }, + "ListAssetModelCompositeModels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetModelCompositeModelSummaries" + }, "ListAssetModelProperties": { "input_token": "nextToken", "output_token": "nextToken", @@ -80,6 +98,12 @@ "limit_key": "maxResults", "result_key": "jobSummaries" }, + "ListCompositionRelationships": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "compositionRelationshipSummaries" + }, "ListDashboards": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/iottwinmaker/2021-11-29/api-2.json b/models/apis/iottwinmaker/2021-11-29/api-2.json index f190f186136..c4938967c7d 100644 --- a/models/apis/iottwinmaker/2021-11-29/api-2.json +++ b/models/apis/iottwinmaker/2021-11-29/api-2.json @@ -42,6 +42,43 @@ "shape": "BatchPutPropertyValuesResponse" } }, + "CancelMetadataTransferJob": { + "endpoint": { + "hostPrefix": "api." + }, + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + } + ], + "http": { + "method": "PUT", + "requestUri": "/metadata-transfer-jobs/{metadataTransferJobId}/cancel", + "responseCode": 200 + }, + "input": { + "shape": "CancelMetadataTransferJobRequest" + }, + "name": "CancelMetadataTransferJob", + "output": { + "shape": "CancelMetadataTransferJobResponse" + } + }, "CreateComponentType": { "endpoint": { "hostPrefix": "api." @@ -116,6 +153,46 @@ "shape": "CreateEntityResponse" } }, + "CreateMetadataTransferJob": { + "endpoint": { + "hostPrefix": "api." + }, + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + } + ], + "http": { + "method": "POST", + "requestUri": "/metadata-transfer-jobs", + "responseCode": 200 + }, + "input": { + "shape": "CreateMetadataTransferJobRequest" + }, + "name": "CreateMetadataTransferJob", + "output": { + "shape": "CreateMetadataTransferJobResponse" + } + }, "CreateScene": { "endpoint": { "hostPrefix": "api." @@ -505,6 +582,40 @@ "shape": "GetEntityResponse" } }, + "GetMetadataTransferJob": { + "endpoint": { + "hostPrefix": "api." + }, + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "GET", + "requestUri": "/metadata-transfer-jobs/{metadataTransferJobId}", + "responseCode": 200 + }, + "input": { + "shape": "GetMetadataTransferJobRequest" + }, + "name": "GetMetadataTransferJob", + "output": { + "shape": "GetMetadataTransferJobResponse" + } + }, "GetPricingPlan": { "endpoint": { "hostPrefix": "api." @@ -752,6 +863,40 @@ "shape": "ListComponentTypesResponse" } }, + "ListComponents": { + "endpoint": { + "hostPrefix": "api." + }, + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "POST", + "requestUri": "/workspaces/{workspaceId}/entities/{entityId}/components-list", + "responseCode": 200 + }, + "input": { + "shape": "ListComponentsRequest" + }, + "name": "ListComponents", + "output": { + "shape": "ListComponentsResponse" + } + }, "ListEntities": { "endpoint": { "hostPrefix": "api." @@ -783,6 +928,71 @@ "shape": "ListEntitiesResponse" } }, + "ListMetadataTransferJobs": { + "endpoint": { + "hostPrefix": "api." + }, + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "POST", + "requestUri": "/metadata-transfer-jobs-list", + "responseCode": 200 + }, + "input": { + "shape": "ListMetadataTransferJobsRequest" + }, + "name": "ListMetadataTransferJobs", + "output": { + "shape": "ListMetadataTransferJobsResponse" + } + }, + "ListProperties": { + "endpoint": { + "hostPrefix": "api." + }, + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "POST", + "requestUri": "/workspaces/{workspaceId}/properties-list", + "responseCode": 200 + }, + "input": { + "shape": "ListPropertiesRequest" + }, + "name": "ListProperties", + "output": { + "shape": "ListPropertiesResponse" + } + }, "ListScenes": { "endpoint": { "hostPrefix": "api." @@ -1267,6 +1477,45 @@ "pattern": ".*", "type": "string" }, + "CancelMetadataTransferJobRequest": { + "members": { + "metadataTransferJobId": { + "location": "uri", + "locationName": "metadataTransferJobId", + "shape": "Id" + } + }, + "required": [ + "metadataTransferJobId" + ], + "type": "structure" + }, + "CancelMetadataTransferJobResponse": { + "members": { + "arn": { + "shape": "TwinMakerArn" + }, + "metadataTransferJobId": { + "shape": "Id" + }, + "progress": { + "shape": "MetadataTransferJobProgress" + }, + "status": { + "shape": "MetadataTransferJobStatus" + }, + "updateDateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "metadataTransferJobId", + "arn", + "updateDateTime", + "status" + ], + "type": "structure" + }, "ColumnDescription": { "members": { "name": { @@ -1296,6 +1545,12 @@ ], "type": "string" }, + "ComponentPath": { + "max": 2048, + "min": 1, + "pattern": "[a-zA-Z_\\-0-9/]+", + "type": "string" + }, "ComponentPropertyGroupRequest": { "members": { "groupType": { @@ -1366,12 +1621,21 @@ }, "ComponentResponse": { "members": { + "areAllCompositeComponentsReturned": { + "shape": "Boolean" + }, + "areAllPropertiesReturned": { + "shape": "Boolean" + }, "componentName": { "shape": "Name" }, "componentTypeId": { "shape": "ComponentTypeId" }, + "compositeComponents": { + "shape": "CompositeComponentResponse" + }, "definedIn": { "shape": "String" }, @@ -1393,6 +1657,46 @@ }, "type": "structure" }, + "ComponentSummaries": { + "member": { + "shape": "ComponentSummary" + }, + "type": "list" + }, + "ComponentSummary": { + "members": { + "componentName": { + "shape": "Name" + }, + "componentPath": { + "shape": "ComponentPath" + }, + "componentTypeId": { + "shape": "ComponentTypeId" + }, + "definedIn": { + "shape": "String" + }, + "description": { + "shape": "Description" + }, + "propertyGroups": { + "shape": "ComponentPropertyGroupResponses" + }, + "status": { + "shape": "Status" + }, + "syncSource": { + "shape": "SyncSource" + } + }, + "required": [ + "componentName", + "componentTypeId", + "status" + ], + "type": "structure" + }, "ComponentTypeId": { "max": 256, "min": 1, @@ -1498,12 +1802,107 @@ "shape": "ComponentRequest" } }, - "Configuration": { - "key": { - "shape": "Name" - }, - "type": "map", - "value": { + "CompositeComponentRequest": { + "members": { + "description": { + "shape": "Description" + }, + "properties": { + "shape": "PropertyRequests" + }, + "propertyGroups": { + "shape": "ComponentPropertyGroupRequests" + } + }, + "type": "structure" + }, + "CompositeComponentResponse": { + "key": { + "shape": "Name" + }, + "type": "map", + "value": { + "shape": "ComponentSummary" + } + }, + "CompositeComponentTypeRequest": { + "members": { + "componentTypeId": { + "shape": "ComponentTypeId" + } + }, + "type": "structure" + }, + "CompositeComponentTypeResponse": { + "members": { + "componentTypeId": { + "shape": "ComponentTypeId" + }, + "isInherited": { + "shape": "Boolean" + } + }, + "type": "structure" + }, + "CompositeComponentTypesRequest": { + "key": { + "shape": "Name" + }, + "type": "map", + "value": { + "shape": "CompositeComponentTypeRequest" + } + }, + "CompositeComponentTypesResponse": { + "key": { + "shape": "Name" + }, + "type": "map", + "value": { + "shape": "CompositeComponentTypeResponse" + } + }, + "CompositeComponentUpdateRequest": { + "members": { + "description": { + "shape": "Description" + }, + "propertyGroupUpdates": { + "shape": "ComponentPropertyGroupRequests" + }, + "propertyUpdates": { + "shape": "PropertyRequests" + }, + "updateType": { + "shape": "ComponentUpdateType" + } + }, + "type": "structure" + }, + "CompositeComponentUpdatesMapRequest": { + "key": { + "shape": "ComponentPath" + }, + "type": "map", + "value": { + "shape": "CompositeComponentUpdateRequest" + } + }, + "CompositeComponentsMapRequest": { + "key": { + "shape": "ComponentPath" + }, + "type": "map", + "value": { + "shape": "CompositeComponentRequest" + } + }, + "Configuration": { + "key": { + "shape": "Name" + }, + "type": "map", + "value": { "shape": "Value" } }, @@ -1556,6 +1955,9 @@ "componentTypeName": { "shape": "ComponentTypeName" }, + "compositeComponentTypes": { + "shape": "CompositeComponentTypesRequest" + }, "description": { "shape": "Description" }, @@ -1613,6 +2015,9 @@ "components": { "shape": "ComponentsMapRequest" }, + "compositeComponents": { + "shape": "CompositeComponentsMapRequest" + }, "description": { "shape": "Description" }, @@ -1663,6 +2068,50 @@ ], "type": "structure" }, + "CreateMetadataTransferJobRequest": { + "members": { + "description": { + "shape": "Description" + }, + "destination": { + "shape": "DestinationConfiguration" + }, + "metadataTransferJobId": { + "shape": "Id" + }, + "sources": { + "shape": "SourceConfigurations" + } + }, + "required": [ + "sources", + "destination" + ], + "type": "structure" + }, + "CreateMetadataTransferJobResponse": { + "members": { + "arn": { + "shape": "TwinMakerArn" + }, + "creationDateTime": { + "shape": "Timestamp" + }, + "metadataTransferJobId": { + "shape": "Id" + }, + "status": { + "shape": "MetadataTransferJobStatus" + } + }, + "required": [ + "metadataTransferJobId", + "arn", + "creationDateTime", + "status" + ], + "type": "structure" + }, "CreateSceneRequest": { "members": { "capabilities": { @@ -1777,9 +2226,7 @@ } }, "required": [ - "workspaceId", - "s3Location", - "role" + "workspaceId" ], "type": "structure" }, @@ -2015,7 +2462,11 @@ "type": "structure" }, "DeleteWorkspaceResponse": { - "members": {}, + "members": { + "message": { + "shape": "WorkspaceDeleteMessage" + } + }, "type": "structure" }, "Description": { @@ -2024,6 +2475,31 @@ "pattern": ".*", "type": "string" }, + "DestinationConfiguration": { + "members": { + "iotTwinMakerConfiguration": { + "shape": "IotTwinMakerDestinationConfiguration" + }, + "s3Configuration": { + "shape": "S3DestinationConfiguration" + }, + "type": { + "shape": "DestinationType" + } + }, + "required": [ + "type" + ], + "type": "structure" + }, + "DestinationType": { + "enum": [ + "s3", + "iotsitewise", + "iottwinmaker" + ], + "type": "string" + }, "Double": { "box": true, "type": "double" @@ -2045,6 +2521,9 @@ "componentName": { "shape": "Name" }, + "componentPath": { + "shape": "ComponentPath" + }, "entityId": { "shape": "EntityId" }, @@ -2120,7 +2599,10 @@ "INTERNAL_FAILURE", "SYNC_INITIALIZING_ERROR", "SYNC_CREATING_ERROR", - "SYNC_PROCESSING_ERROR" + "SYNC_PROCESSING_ERROR", + "SYNC_DELETING_ERROR", + "PROCESSING_ERROR", + "COMPOSITE_COMPONENT_FAILURE" ], "type": "string" }, @@ -2215,6 +2697,62 @@ "shape": "String" } }, + "FilterByAsset": { + "members": { + "assetExternalId": { + "shape": "SiteWiseExternalId" + }, + "assetId": { + "shape": "Uuid" + }, + "includeAssetModel": { + "shape": "Boolean" + }, + "includeOffspring": { + "shape": "Boolean" + } + }, + "type": "structure" + }, + "FilterByAssetModel": { + "members": { + "assetModelExternalId": { + "shape": "SiteWiseExternalId" + }, + "assetModelId": { + "shape": "Uuid" + }, + "includeAssets": { + "shape": "Boolean" + }, + "includeOffspring": { + "shape": "Boolean" + } + }, + "type": "structure" + }, + "FilterByComponentType": { + "members": { + "componentTypeId": { + "shape": "ComponentTypeId" + } + }, + "required": [ + "componentTypeId" + ], + "type": "structure" + }, + "FilterByEntity": { + "members": { + "entityId": { + "shape": "EntityId" + } + }, + "required": [ + "entityId" + ], + "type": "structure" + }, "FunctionRequest": { "members": { "implementedBy": { @@ -2305,6 +2843,9 @@ "componentTypeName": { "shape": "ComponentTypeName" }, + "compositeComponentTypes": { + "shape": "CompositeComponentTypesResponse" + }, "creationDateTime": { "shape": "Timestamp" }, @@ -2375,6 +2916,9 @@ }, "GetEntityResponse": { "members": { + "areAllComponentsReturned": { + "shape": "Boolean" + }, "arn": { "shape": "TwinMakerArn" }, @@ -2425,6 +2969,67 @@ ], "type": "structure" }, + "GetMetadataTransferJobRequest": { + "members": { + "metadataTransferJobId": { + "location": "uri", + "locationName": "metadataTransferJobId", + "shape": "Id" + } + }, + "required": [ + "metadataTransferJobId" + ], + "type": "structure" + }, + "GetMetadataTransferJobResponse": { + "members": { + "arn": { + "shape": "TwinMakerArn" + }, + "creationDateTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "Description" + }, + "destination": { + "shape": "DestinationConfiguration" + }, + "metadataTransferJobId": { + "shape": "Id" + }, + "metadataTransferJobRole": { + "shape": "RoleArn" + }, + "progress": { + "shape": "MetadataTransferJobProgress" + }, + "reportUrl": { + "shape": "String" + }, + "sources": { + "shape": "SourceConfigurations" + }, + "status": { + "shape": "MetadataTransferJobStatus" + }, + "updateDateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "metadataTransferJobId", + "arn", + "sources", + "destination", + "metadataTransferJobRole", + "creationDateTime", + "updateDateTime", + "status" + ], + "type": "structure" + }, "GetPricingPlanRequest": { "members": {}, "type": "structure" @@ -2448,6 +3053,9 @@ "componentName": { "shape": "Name" }, + "componentPath": { + "shape": "ComponentPath" + }, "componentTypeId": { "shape": "ComponentTypeId" }, @@ -2519,6 +3127,9 @@ "componentName": { "shape": "Name" }, + "componentPath": { + "shape": "ComponentPath" + }, "componentTypeId": { "shape": "ComponentTypeId" }, @@ -2708,6 +3319,9 @@ "description": { "shape": "Description" }, + "linkedServices": { + "shape": "LinkedServices" + }, "role": { "shape": "RoleArn" }, @@ -2724,8 +3338,6 @@ "required": [ "workspaceId", "arn", - "s3Location", - "role", "creationDateTime", "updateDateTime" ], @@ -2787,6 +3399,75 @@ "box": true, "type": "long" }, + "IotSiteWiseSourceConfiguration": { + "members": { + "filters": { + "shape": "IotSiteWiseSourceConfigurationFilters" + } + }, + "type": "structure" + }, + "IotSiteWiseSourceConfigurationFilter": { + "members": { + "filterByAsset": { + "shape": "FilterByAsset" + }, + "filterByAssetModel": { + "shape": "FilterByAssetModel" + } + }, + "type": "structure", + "union": true + }, + "IotSiteWiseSourceConfigurationFilters": { + "member": { + "shape": "IotSiteWiseSourceConfigurationFilter" + }, + "type": "list" + }, + "IotTwinMakerDestinationConfiguration": { + "members": { + "workspace": { + "shape": "TwinMakerArn" + } + }, + "required": [ + "workspace" + ], + "type": "structure" + }, + "IotTwinMakerSourceConfiguration": { + "members": { + "filters": { + "shape": "IotTwinMakerSourceConfigurationFilters" + }, + "workspace": { + "shape": "TwinMakerArn" + } + }, + "required": [ + "workspace" + ], + "type": "structure" + }, + "IotTwinMakerSourceConfigurationFilter": { + "members": { + "filterByComponentType": { + "shape": "FilterByComponentType" + }, + "filterByEntity": { + "shape": "FilterByEntity" + } + }, + "type": "structure", + "union": true + }, + "IotTwinMakerSourceConfigurationFilters": { + "member": { + "shape": "IotTwinMakerSourceConfigurationFilter" + }, + "type": "list" + }, "LambdaArn": { "max": 2048, "min": 20, @@ -2804,6 +3485,16 @@ ], "type": "structure" }, + "LinkedService": { + "pattern": "[a-zA-Z_0-9]+", + "type": "string" + }, + "LinkedServices": { + "member": { + "shape": "LinkedService" + }, + "type": "list" + }, "ListComponentTypesFilter": { "members": { "extendsFrom": { @@ -2868,6 +3559,48 @@ ], "type": "structure" }, + "ListComponentsRequest": { + "members": { + "componentPath": { + "shape": "ComponentPath" + }, + "entityId": { + "location": "uri", + "locationName": "entityId", + "shape": "EntityId" + }, + "maxResults": { + "shape": "MaxResults" + }, + "nextToken": { + "shape": "NextToken" + }, + "workspaceId": { + "location": "uri", + "locationName": "workspaceId", + "shape": "Id" + } + }, + "required": [ + "workspaceId", + "entityId" + ], + "type": "structure" + }, + "ListComponentsResponse": { + "members": { + "componentSummaries": { + "shape": "ComponentSummaries" + }, + "nextToken": { + "shape": "NextToken" + } + }, + "required": [ + "componentSummaries" + ], + "type": "structure" + }, "ListEntitiesFilter": { "members": { "componentTypeId": { @@ -2922,6 +3655,105 @@ }, "type": "structure" }, + "ListMetadataTransferJobsFilter": { + "members": { + "state": { + "shape": "MetadataTransferJobState" + }, + "workspaceId": { + "shape": "Id" + } + }, + "type": "structure", + "union": true + }, + "ListMetadataTransferJobsFilters": { + "member": { + "shape": "ListMetadataTransferJobsFilter" + }, + "type": "list" + }, + "ListMetadataTransferJobsRequest": { + "members": { + "destinationType": { + "shape": "DestinationType" + }, + "filters": { + "shape": "ListMetadataTransferJobsFilters" + }, + "maxResults": { + "shape": "MaxResults" + }, + "nextToken": { + "shape": "NextToken" + }, + "sourceType": { + "shape": "SourceType" + } + }, + "required": [ + "sourceType", + "destinationType" + ], + "type": "structure" + }, + "ListMetadataTransferJobsResponse": { + "members": { + "metadataTransferJobSummaries": { + "shape": "MetadataTransferJobSummaries" + }, + "nextToken": { + "shape": "NextToken" + } + }, + "required": [ + "metadataTransferJobSummaries" + ], + "type": "structure" + }, + "ListPropertiesRequest": { + "members": { + "componentName": { + "shape": "Name" + }, + "componentPath": { + "shape": "ComponentPath" + }, + "entityId": { + "shape": "EntityId" + }, + "maxResults": { + "shape": "MaxResults" + }, + "nextToken": { + "shape": "NextToken" + }, + "workspaceId": { + "location": "uri", + "locationName": "workspaceId", + "shape": "Id" + } + }, + "required": [ + "workspaceId", + "entityId" + ], + "type": "structure" + }, + "ListPropertiesResponse": { + "members": { + "nextToken": { + "shape": "NextToken" + }, + "propertySummaries": { + "shape": "PropertySummaries" + } + }, + "required": [ + "propertySummaries" + ], + "type": "structure" + }, "ListScenesRequest": { "members": { "maxResults": { @@ -3081,6 +3913,85 @@ "min": 0, "type": "integer" }, + "MetadataTransferJobProgress": { + "members": { + "failedCount": { + "shape": "Integer" + }, + "skippedCount": { + "shape": "Integer" + }, + "succeededCount": { + "shape": "Integer" + }, + "totalCount": { + "shape": "Integer" + } + }, + "type": "structure" + }, + "MetadataTransferJobState": { + "enum": [ + "VALIDATING", + "PENDING", + "RUNNING", + "CANCELLING", + "ERROR", + "COMPLETED", + "CANCELLED" + ], + "type": "string" + }, + "MetadataTransferJobStatus": { + "members": { + "error": { + "shape": "ErrorDetails" + }, + "queuedPosition": { + "shape": "Integer" + }, + "state": { + "shape": "MetadataTransferJobState" + } + }, + "type": "structure" + }, + "MetadataTransferJobSummaries": { + "member": { + "shape": "MetadataTransferJobSummary" + }, + "type": "list" + }, + "MetadataTransferJobSummary": { + "members": { + "arn": { + "shape": "TwinMakerArn" + }, + "creationDateTime": { + "shape": "Timestamp" + }, + "metadataTransferJobId": { + "shape": "Id" + }, + "progress": { + "shape": "MetadataTransferJobProgress" + }, + "status": { + "shape": "MetadataTransferJobStatus" + }, + "updateDateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "metadataTransferJobId", + "arn", + "creationDateTime", + "updateDateTime", + "status" + ], + "type": "structure" + }, "Name": { "max": 256, "min": 1, @@ -3443,6 +4354,9 @@ }, "PropertyResponse": { "members": { + "areAllPropertyValuesReturned": { + "shape": "Boolean" + }, "definition": { "shape": "PropertyDefinitionResponse" }, @@ -3461,6 +4375,32 @@ "shape": "PropertyResponse" } }, + "PropertySummaries": { + "member": { + "shape": "PropertySummary" + }, + "type": "list" + }, + "PropertySummary": { + "members": { + "areAllPropertyValuesReturned": { + "shape": "Boolean" + }, + "definition": { + "shape": "PropertyDefinitionResponse" + }, + "propertyName": { + "shape": "Name" + }, + "value": { + "shape": "DataValue" + } + }, + "required": [ + "propertyName" + ], + "type": "structure" + }, "PropertyTableValue": { "key": { "shape": "Name" @@ -3624,12 +4564,42 @@ }, "type": "list" }, + "S3DestinationConfiguration": { + "members": { + "location": { + "shape": "S3DestinationLocation" + } + }, + "required": [ + "location" + ], + "type": "structure" + }, + "S3DestinationLocation": { + "pattern": ".*(^arn:((aws)|(aws-cn)|(aws-us-gov)):s3:::)([/a-zA-Z0-9_-]+$).*", + "type": "string" + }, "S3Location": { "max": 1024, "min": 0, "pattern": ".*(^arn:((aws)|(aws-cn)|(aws-us-gov)):s3:::)([a-zA-Z0-9_-]+$).*", "type": "string" }, + "S3SourceConfiguration": { + "members": { + "location": { + "shape": "S3SourceLocation" + } + }, + "required": [ + "location" + ], + "type": "structure" + }, + "S3SourceLocation": { + "pattern": ".*(^arn:((aws)|(aws-cn)|(aws-us-gov)):s3:::)([a-zA-Z0-9_-]+)\\/([/.a-zA-Z0-9_-]+$).*", + "type": "string" + }, "S3Url": { "max": 256, "min": 0, @@ -3748,6 +4718,48 @@ }, "type": "structure" }, + "SiteWiseExternalId": { + "max": 128, + "min": 2, + "pattern": ".*[a-zA-Z0-9_][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9_]+.*", + "type": "string" + }, + "SourceConfiguration": { + "members": { + "iotSiteWiseConfiguration": { + "shape": "IotSiteWiseSourceConfiguration" + }, + "iotTwinMakerConfiguration": { + "shape": "IotTwinMakerSourceConfiguration" + }, + "s3Configuration": { + "shape": "S3SourceConfiguration" + }, + "type": { + "shape": "SourceType" + } + }, + "required": [ + "type" + ], + "type": "structure" + }, + "SourceConfigurations": { + "max": 1, + "member": { + "shape": "SourceConfiguration" + }, + "min": 1, + "type": "list" + }, + "SourceType": { + "enum": [ + "s3", + "iotsitewise", + "iottwinmaker" + ], + "type": "string" + }, "State": { "enum": [ "CREATING", @@ -4066,6 +5078,9 @@ "componentTypeName": { "shape": "ComponentTypeName" }, + "compositeComponentTypes": { + "shape": "CompositeComponentTypesRequest" + }, "description": { "shape": "Description" }, @@ -4124,6 +5139,9 @@ "componentUpdates": { "shape": "ComponentUpdatesMapRequest" }, + "compositeComponentUpdates": { + "shape": "CompositeComponentUpdatesMapRequest" + }, "description": { "shape": "Description" }, @@ -4253,6 +5271,9 @@ "role": { "shape": "RoleArn" }, + "s3Location": { + "shape": "S3Location" + }, "workspaceId": { "location": "uri", "locationName": "workspaceId", @@ -4275,6 +5296,12 @@ ], "type": "structure" }, + "Uuid": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, "ValidationException": { "error": { "httpStatusCode": 400, @@ -4298,6 +5325,12 @@ }, "type": "list" }, + "WorkspaceDeleteMessage": { + "max": 2048, + "min": 0, + "pattern": ".*", + "type": "string" + }, "WorkspaceSummaries": { "member": { "shape": "WorkspaceSummary" @@ -4315,6 +5348,9 @@ "description": { "shape": "Description" }, + "linkedServices": { + "shape": "LinkedServices" + }, "updateDateTime": { "shape": "Timestamp" }, diff --git a/models/apis/iottwinmaker/2021-11-29/docs-2.json b/models/apis/iottwinmaker/2021-11-29/docs-2.json index f0effe44a33..62c2ecb593b 100644 --- a/models/apis/iottwinmaker/2021-11-29/docs-2.json +++ b/models/apis/iottwinmaker/2021-11-29/docs-2.json @@ -3,8 +3,10 @@ "service": "

IoT TwinMaker is a service with which you can build operational digital twins of physical systems. IoT TwinMaker overlays measurements and analysis from real-world sensors, cameras, and enterprise applications so you can create data visualizations to monitor your physical factory, building, or industrial plant. You can use this real-world data to monitor operations and diagnose and repair errors.

", "operations": { "BatchPutPropertyValues": "

Sets values for multiple time series properties.

", + "CancelMetadataTransferJob": "

Cancels the metadata transfer job.

", "CreateComponentType": "

Creates a component type.

", "CreateEntity": "

Creates an entity.

", + "CreateMetadataTransferJob": "

Creates a new metadata transfer job.

", "CreateScene": "

Creates a scene.

", "CreateSyncJob": "

This action creates a SyncJob.

", "CreateWorkspace": "

Creates a workplace.

", @@ -13,9 +15,10 @@ "DeleteScene": "

Deletes a scene.

", "DeleteSyncJob": "

Delete the SyncJob.

", "DeleteWorkspace": "

Deletes a workspace.

", - "ExecuteQuery": "

Run queries to access information from your knowledge graph of entities within individual workspaces.

", + "ExecuteQuery": "

Run queries to access information from your knowledge graph of entities within individual workspaces.

The ExecuteQuery action only works with Amazon Web Services Java SDK2. ExecuteQuery will not work with any Amazon Web Services Java SDK version < 2.x.

", "GetComponentType": "

Retrieves information about a component type.

", "GetEntity": "

Retrieves information about an entity.

", + "GetMetadataTransferJob": "

Gets a nmetadata transfer job.

", "GetPricingPlan": "

Gets the pricing plan.

", "GetPropertyValue": "

Gets the property values for a component, component type, entity, or workspace.

You must specify a value for either componentName, componentTypeId, entityId, or workspaceId.

", "GetPropertyValueHistory": "

Retrieves information about the history of a time series property value for a component, component type, entity, or workspace.

You must specify a value for workspaceId. For entity-specific queries, specify values for componentName and entityId. For cross-entity quries, specify a value for componentTypeId.

", @@ -23,7 +26,10 @@ "GetSyncJob": "

Gets the SyncJob.

", "GetWorkspace": "

Retrieves information about a workspace.

", "ListComponentTypes": "

Lists all component types in a workspace.

", + "ListComponents": "

This API lists the components of an entity.

", "ListEntities": "

Lists all entities in a workspace.

", + "ListMetadataTransferJobs": "

Lists the metadata transfer jobs.

", + "ListProperties": "

This API lists the properties of a component.

", "ListScenes": "

Lists all scenes in a workspace.

", "ListSyncJobs": "

List all SyncJobs.

", "ListSyncResources": "

Lists the sync resources.

", @@ -69,16 +75,24 @@ "base": null, "refs": { "ComponentPropertyGroupResponse$isInherited": "

A Boolean value that specifies whether the property group is inherited from a parent entity

", + "ComponentResponse$areAllPropertiesReturned": "

This flag notes whether all properties of the component are returned in the API response. The maximum number of properties returned is 800.

", + "ComponentResponse$areAllCompositeComponentsReturned": "

This flag notes whether all compositeComponents are returned in the API response.

", + "CompositeComponentTypeResponse$isInherited": "

This boolean indicates whether this compositeComponentType is inherited from its parent.

", "CreateComponentTypeRequest$isSingleton": "

A Boolean value that specifies whether an entity can have more than one component of this type.

", "DataConnector$isNative": "

A Boolean value that specifies whether the data connector is native to IoT TwinMaker.

", "DataValue$booleanValue": "

A Boolean value.

", "DeleteEntityRequest$isRecursive": "

A Boolean value that specifies whether the operation deletes child entities.

", - "EntitySummary$hasChildEntities": "

A Boolean value that specifies whether the entity has child entities or not.

", + "EntitySummary$hasChildEntities": "

An eventual Boolean value that specifies whether the entity has child entities or not.

", + "FilterByAsset$includeOffspring": "

Includes sub-assets.[need description hekp for this]

", + "FilterByAsset$includeAssetModel": "

Boolean to include the asset model.

", + "FilterByAssetModel$includeOffspring": "

Include asset offspring. [need desc.]

", + "FilterByAssetModel$includeAssets": "

Bolean to include assets.

", "FunctionResponse$isInherited": "

Indicates whether this function is inherited.

", "GetComponentTypeResponse$isSingleton": "

A Boolean value that specifies whether an entity can have more than one component of this type.

", "GetComponentTypeResponse$isAbstract": "

A Boolean value that specifies whether the component type is abstract.

", "GetComponentTypeResponse$isSchemaInitialized": "

A Boolean value that specifies whether the component type has a schema initializer and that the schema initializer has run.

", "GetEntityResponse$hasChildEntities": "

A Boolean value that specifies whether the entity has associated child entities.

", + "GetEntityResponse$areAllComponentsReturned": "

This flag notes whether all components are returned in the API response. The maximum number of components returned is 30.

", "ListComponentTypesFilter$isAbstract": "

A Boolean value that specifies whether the component types in the list are abstract.

", "PropertyDefinitionRequest$isRequiredInEntity": "

A Boolean value that specifies whether the property is required.

", "PropertyDefinitionRequest$isExternalId": "

A Boolean value that specifies whether the property ID comes from an external data store.

", @@ -92,6 +106,8 @@ "PropertyDefinitionResponse$isFinal": "

A Boolean value that specifies whether the property definition can be updated.

", "PropertyDefinitionResponse$isInherited": "

A Boolean value that specifies whether the property definition is inherited from a parent entity.

", "PropertyGroupResponse$isInherited": "

A Boolean value that specifies whether the property group is inherited from a parent entity

", + "PropertyResponse$areAllPropertyValuesReturned": "

This flag notes whether all values of a list or map type property are returned in the API response. The maximum number of values per property returned is 50.

", + "PropertySummary$areAllPropertyValuesReturned": "

This flag notes whether all values of a list or map type property are returned in the API response. The maximum number of values per property returned is 50.

", "UpdateComponentTypeRequest$isSingleton": "

A Boolean value that specifies whether an entity can have more than one component of this type.

" } }, @@ -107,6 +123,16 @@ "PricingBundles$member": null } }, + "CancelMetadataTransferJobRequest": { + "base": null, + "refs": { + } + }, + "CancelMetadataTransferJobResponse": { + "base": null, + "refs": { + } + }, "ColumnDescription": { "base": "

A description of the column in the query results.

", "refs": { @@ -131,6 +157,19 @@ "ColumnDescription$type": "

The type of the column description.

" } }, + "ComponentPath": { + "base": null, + "refs": { + "ComponentSummary$componentPath": "

This string specifies the path to the composite component, starting from the top-level component.

", + "CompositeComponentUpdatesMapRequest$key": null, + "CompositeComponentsMapRequest$key": null, + "EntityPropertyReference$componentPath": "

This string specifies the path to the composite component, starting from the top-level component.

", + "GetPropertyValueHistoryRequest$componentPath": "

This string specifies the path to the composite component, starting from the top-level component.

", + "GetPropertyValueRequest$componentPath": "

This string specifies the path to the composite component, starting from the top-level component.

", + "ListComponentsRequest$componentPath": "

This string specifies the path to the composite component, starting from the top-level component.

", + "ListPropertiesRequest$componentPath": "

This string specifies the path to the composite component, starting from the top-level component.

" + } + }, "ComponentPropertyGroupRequest": { "base": "

The component property group request.

", "refs": { @@ -141,7 +180,9 @@ "base": null, "refs": { "ComponentRequest$propertyGroups": "

The property groups.

", - "ComponentUpdateRequest$propertyGroupUpdates": "

The property group updates.

" + "ComponentUpdateRequest$propertyGroupUpdates": "

The property group updates.

", + "CompositeComponentRequest$propertyGroups": "

The property groups.

", + "CompositeComponentUpdateRequest$propertyGroupUpdates": "

The property group updates.

" } }, "ComponentPropertyGroupResponse": { @@ -153,7 +194,8 @@ "ComponentPropertyGroupResponses": { "base": null, "refs": { - "ComponentResponse$propertyGroups": "

The property groups.

" + "ComponentResponse$propertyGroups": "

The property groups.

", + "ComponentSummary$propertyGroups": "

The property groups.

" } }, "ComponentRequest": { @@ -168,16 +210,33 @@ "ComponentsMap$value": null } }, + "ComponentSummaries": { + "base": null, + "refs": { + "ListComponentsResponse$componentSummaries": "

A list of objects that contain information about the components.

" + } + }, + "ComponentSummary": { + "base": "

An object that returns information about a component summary.

", + "refs": { + "ComponentSummaries$member": null, + "CompositeComponentResponse$value": null + } + }, "ComponentTypeId": { "base": null, "refs": { "ComponentRequest$componentTypeId": "

The ID of the component type.

", "ComponentResponse$componentTypeId": "

The ID of the component type.

", + "ComponentSummary$componentTypeId": "

The ID of the component type.

", "ComponentTypeSummary$componentTypeId": "

The ID of the component type.

", "ComponentUpdateRequest$componentTypeId": "

The ID of the component type.

", + "CompositeComponentTypeRequest$componentTypeId": "

This is the componentTypeId that the compositeComponentType refers to.

", + "CompositeComponentTypeResponse$componentTypeId": "

This is the componentTypeId that this compositeComponentType refers to.

", "CreateComponentTypeRequest$componentTypeId": "

The ID of the component type.

", "DeleteComponentTypeRequest$componentTypeId": "

The ID of the component type to delete.

", "ExtendsFrom$member": null, + "FilterByComponentType$componentTypeId": "

The component type Id.

", "GetComponentTypeRequest$componentTypeId": "

The ID of the component type.

", "GetComponentTypeResponse$componentTypeId": "

The ID of the component type.

", "GetPropertyValueHistoryRequest$componentTypeId": "

The ID of the component type.

", @@ -219,7 +278,8 @@ "ComponentUpdateType": { "base": null, "refs": { - "ComponentUpdateRequest$updateType": "

The update type of the component update request.

" + "ComponentUpdateRequest$updateType": "

The update type of the component update request.

", + "CompositeComponentUpdateRequest$updateType": "

The update type of the component update request.

" } }, "ComponentUpdatesMapRequest": { @@ -240,6 +300,61 @@ "CreateEntityRequest$components": "

An object that maps strings to the components in the entity. Each string in the mapping must be unique to this object.

" } }, + "CompositeComponentRequest": { + "base": "

An object that sets information about the composite component update request.

", + "refs": { + "CompositeComponentsMapRequest$value": null + } + }, + "CompositeComponentResponse": { + "base": null, + "refs": { + "ComponentResponse$compositeComponents": "

This lists objects that contain information about the compositeComponents.

" + } + }, + "CompositeComponentTypeRequest": { + "base": "

An object that sets information about the composite component types of a component type.

", + "refs": { + "CompositeComponentTypesRequest$value": null + } + }, + "CompositeComponentTypeResponse": { + "base": "

An object that returns information about the composite component types of a component type.

", + "refs": { + "CompositeComponentTypesResponse$value": null + } + }, + "CompositeComponentTypesRequest": { + "base": null, + "refs": { + "CreateComponentTypeRequest$compositeComponentTypes": "

This is an object that maps strings to compositeComponentTypes of the componentType. CompositeComponentType is referenced by componentTypeId.

", + "UpdateComponentTypeRequest$compositeComponentTypes": "

This is an object that maps strings to compositeComponentTypes of the componentType. CompositeComponentType is referenced by componentTypeId.

" + } + }, + "CompositeComponentTypesResponse": { + "base": null, + "refs": { + "GetComponentTypeResponse$compositeComponentTypes": "

This is an object that maps strings to compositeComponentTypes of the componentType. CompositeComponentType is referenced by componentTypeId.

" + } + }, + "CompositeComponentUpdateRequest": { + "base": "

An object that sets information about the composite component update request.

", + "refs": { + "CompositeComponentUpdatesMapRequest$value": null + } + }, + "CompositeComponentUpdatesMapRequest": { + "base": null, + "refs": { + "UpdateEntityRequest$compositeComponentUpdates": "

This is an object that maps strings to compositeComponent updates in the request. Each key of the map represents the componentPath of the compositeComponent.

" + } + }, + "CompositeComponentsMapRequest": { + "base": null, + "refs": { + "CreateEntityRequest$compositeComponents": "

This is an object that maps strings to compositeComponent updates in the request. Each key of the map represents the componentPath of the compositeComponent.

" + } + }, "Configuration": { "base": null, "refs": { @@ -282,6 +397,16 @@ "refs": { } }, + "CreateMetadataTransferJobRequest": { + "base": null, + "refs": { + } + }, + "CreateMetadataTransferJobResponse": { + "base": null, + "refs": { + } + }, "CreateSceneRequest": { "base": null, "refs": { @@ -338,6 +463,7 @@ "PropertyLatestValue$propertyValue": "

The value of the property.

", "PropertyRequest$value": "

The value of the property.

", "PropertyResponse$value": "

The value of the property.

", + "PropertySummary$value": "

This is the value for the property.

", "PropertyTableValue$value": null, "PropertyValue$value": "

An object that specifies a value for a time series property.

" } @@ -410,15 +536,20 @@ "refs": { "ComponentRequest$description": "

The description of the component request.

", "ComponentResponse$description": "

The description of the component type.

", + "ComponentSummary$description": "

The description of the component request.

", "ComponentTypeSummary$description": "

The description of the component type.

", "ComponentUpdateRequest$description": "

The description of the component type.

", + "CompositeComponentRequest$description": "

The description of the component type.

", + "CompositeComponentUpdateRequest$description": "

The description of the component type.

", "CreateComponentTypeRequest$description": "

The description of the component type.

", "CreateEntityRequest$description": "

The description of the entity.

", + "CreateMetadataTransferJobRequest$description": "

The metadata transfer job description.

", "CreateSceneRequest$description": "

The description for this scene.

", "CreateWorkspaceRequest$description": "

The description of the workspace.

", "EntitySummary$description": "

The description of the entity.

", "GetComponentTypeResponse$description": "

The description of the component type.

", "GetEntityResponse$description": "

The description of the entity.

", + "GetMetadataTransferJobResponse$description": "

The metadata transfer job description.

", "GetSceneResponse$description": "

The description of the scene.

", "GetWorkspaceResponse$description": "

The description of the workspace.

", "SceneSummary$description": "

The scene description.

", @@ -429,6 +560,20 @@ "WorkspaceSummary$description": "

The description of the workspace.

" } }, + "DestinationConfiguration": { + "base": "

The [link to action] metadata transfer job destination configuration.

", + "refs": { + "CreateMetadataTransferJobRequest$destination": "

The metadata transfer job destination.

", + "GetMetadataTransferJobResponse$destination": "

The metadata transfer job's destination.

" + } + }, + "DestinationType": { + "base": null, + "refs": { + "DestinationConfiguration$type": "

The destination type.

", + "ListMetadataTransferJobsRequest$destinationType": "

The metadata transfer job's destination type.

" + } + }, "Double": { "base": null, "refs": { @@ -443,10 +588,13 @@ "DeleteEntityRequest$entityId": "

The ID of the entity to delete.

", "EntityPropertyReference$entityId": "

The ID of the entity.

", "EntitySummary$entityId": "

The ID of the entity.

", + "FilterByEntity$entityId": "

The entity Id.

", "GetEntityRequest$entityId": "

The ID of the entity.

", "GetEntityResponse$entityId": "

The ID of the entity.

", "GetPropertyValueHistoryRequest$entityId": "

The ID of the entity.

", "GetPropertyValueRequest$entityId": "

The ID of the entity whose property values the operation returns.

", + "ListComponentsRequest$entityId": "

The ID for the entity whose metadata (component/properties) is returned by the operation.

", + "ListPropertiesRequest$entityId": "

The ID for the entity whose metadata (component/properties) is returned by the operation.

", "RelationshipValue$targetEntityId": "

The ID of the target entity associated with this relationship value.

", "UpdateEntityRequest$entityId": "

The ID of the entity.

" } @@ -495,6 +643,7 @@ "ErrorDetails": { "base": "

The error details.

", "refs": { + "MetadataTransferJobStatus$error": "

The metadata transfer job error.

", "Status$error": "

The error message.

", "SyncJobStatus$error": "

The SyncJob error.

", "SyncResourceStatus$error": "

The status error.

" @@ -565,6 +714,30 @@ "EntityPropertyReference$externalIdProperty": "

A mapping of external IDs to property names. External IDs uniquely identify properties from external data stores.

" } }, + "FilterByAsset": { + "base": "

Filter by asset. [TwinMaker asset]

", + "refs": { + "IotSiteWiseSourceConfigurationFilter$filterByAsset": "

Filter by asset.

" + } + }, + "FilterByAssetModel": { + "base": "

Filter by asset model.

", + "refs": { + "IotSiteWiseSourceConfigurationFilter$filterByAssetModel": "

Filter by asset model.

" + } + }, + "FilterByComponentType": { + "base": "

Filter by component type.

", + "refs": { + "IotTwinMakerSourceConfigurationFilter$filterByComponentType": "

Filter by component type.

" + } + }, + "FilterByEntity": { + "base": "

Vilter by entity.

", + "refs": { + "IotTwinMakerSourceConfigurationFilter$filterByEntity": "

Filter by entity.

" + } + }, "FunctionRequest": { "base": "

The function request body.

", "refs": { @@ -616,6 +789,16 @@ "refs": { } }, + "GetMetadataTransferJobRequest": { + "base": null, + "refs": { + } + }, + "GetMetadataTransferJobResponse": { + "base": null, + "refs": { + } + }, "GetPricingPlanRequest": { "base": null, "refs": { @@ -689,8 +872,12 @@ "base": null, "refs": { "BatchPutPropertyValuesRequest$workspaceId": "

The ID of the workspace that contains the properties to set.

", + "CancelMetadataTransferJobRequest$metadataTransferJobId": "

The metadata transfer job Id.

", + "CancelMetadataTransferJobResponse$metadataTransferJobId": "

The metadata transfer job Id.

", "CreateComponentTypeRequest$workspaceId": "

The ID of the workspace that contains the component type.

", "CreateEntityRequest$workspaceId": "

The ID of the workspace that contains the entity.

", + "CreateMetadataTransferJobRequest$metadataTransferJobId": "

The metadata transfer job Id.

", + "CreateMetadataTransferJobResponse$metadataTransferJobId": "

The metadata transfer job Id.

", "CreateSceneRequest$workspaceId": "

The ID of the workspace that contains the scene.

", "CreateSceneRequest$sceneId": "

The ID of the scene.

", "CreateSyncJobRequest$workspaceId": "

The workspace ID.

", @@ -706,6 +893,8 @@ "GetComponentTypeResponse$workspaceId": "

The ID of the workspace that contains the component type.

", "GetEntityRequest$workspaceId": "

The ID of the workspace.

", "GetEntityResponse$workspaceId": "

The ID of the workspace.

", + "GetMetadataTransferJobRequest$metadataTransferJobId": "

The metadata transfer job Id.

", + "GetMetadataTransferJobResponse$metadataTransferJobId": "

The metadata transfer job Id.

", "GetPropertyValueHistoryRequest$workspaceId": "

The ID of the workspace.

", "GetPropertyValueRequest$workspaceId": "

The ID of the workspace whose values the operation returns.

", "GetSceneRequest$workspaceId": "

The ID of the workspace that contains the scene.

", @@ -717,10 +906,14 @@ "GetWorkspaceResponse$workspaceId": "

The ID of the workspace.

", "ListComponentTypesRequest$workspaceId": "

The ID of the workspace.

", "ListComponentTypesResponse$workspaceId": "

The ID of the workspace.

", + "ListComponentsRequest$workspaceId": "

The workspace ID.

", "ListEntitiesRequest$workspaceId": "

The ID of the workspace.

", + "ListMetadataTransferJobsFilter$workspaceId": "

The workspace Id.

", + "ListPropertiesRequest$workspaceId": "

The workspace ID.

", "ListScenesRequest$workspaceId": "

The ID of the workspace that contains the scenes.

", "ListSyncJobsRequest$workspaceId": "

The ID of the workspace that contains the sync job.

", "ListSyncResourcesRequest$workspaceId": "

The ID of the workspace that contains the sync job.

", + "MetadataTransferJobSummary$metadataTransferJobId": "

The metadata transfer job summary Id.

", "SceneSummary$sceneId": "

The ID of the scene.

", "SyncJobSummary$workspaceId": "

The ID of the workspace that contains the sync job.

", "SyncResourceFilter$resourceId": "

The sync resource filter resource ID.

", @@ -745,7 +938,12 @@ "Integer": { "base": null, "refs": { - "DataValue$integerValue": "

An integer value.

" + "DataValue$integerValue": "

An integer value.

", + "MetadataTransferJobProgress$totalCount": "

The total count. [of what]

", + "MetadataTransferJobProgress$succeededCount": "

The succeeded count.

", + "MetadataTransferJobProgress$skippedCount": "

The skipped count.

", + "MetadataTransferJobProgress$failedCount": "

The failed count.

", + "MetadataTransferJobStatus$queuedPosition": "

The queued position.

" } }, "InternalServerException": { @@ -771,6 +969,48 @@ "InterpolationParameters$intervalInSeconds": "

The interpolation time interval in seconds.

" } }, + "IotSiteWiseSourceConfiguration": { + "base": "

The metadata transfer job AWS IoT SiteWise source configuration.

", + "refs": { + "SourceConfiguration$iotSiteWiseConfiguration": "

The source configuration IoT SiteWise configuration.

" + } + }, + "IotSiteWiseSourceConfigurationFilter": { + "base": "

The AWS IoT SiteWise soucre configuration filter.[need held with desc here]

", + "refs": { + "IotSiteWiseSourceConfigurationFilters$member": null + } + }, + "IotSiteWiseSourceConfigurationFilters": { + "base": null, + "refs": { + "IotSiteWiseSourceConfiguration$filters": "

The AWS IoT SiteWise soucre configuration filters.

" + } + }, + "IotTwinMakerDestinationConfiguration": { + "base": "

The metadata transfer job AWS IoT TwinMaker destination configuration.

", + "refs": { + "DestinationConfiguration$iotTwinMakerConfiguration": "

The metadata transfer job Amazon Web Services IoT TwinMaker configuration.

" + } + }, + "IotTwinMakerSourceConfiguration": { + "base": "

The metadata transfer job AWS IoT TwinMaker source configuration.

", + "refs": { + "SourceConfiguration$iotTwinMakerConfiguration": "

The source configuration IoT TwinMaker configuration.

" + } + }, + "IotTwinMakerSourceConfigurationFilter": { + "base": "

The metadata transfer job AWS IoT TwinMaker source configuration filter.

", + "refs": { + "IotTwinMakerSourceConfigurationFilters$member": null + } + }, + "IotTwinMakerSourceConfigurationFilters": { + "base": null, + "refs": { + "IotTwinMakerSourceConfiguration$filters": "

The metadata transfer job AWS IoT TwinMaker source configuration filters.

" + } + }, "LambdaArn": { "base": null, "refs": { @@ -783,6 +1023,19 @@ "DataConnector$lambda": "

The Lambda function associated with this data connector.

" } }, + "LinkedService": { + "base": null, + "refs": { + "LinkedServices$member": null + } + }, + "LinkedServices": { + "base": null, + "refs": { + "GetWorkspaceResponse$linkedServices": "

A list of services that are linked to the workspace.

", + "WorkspaceSummary$linkedServices": "

A list of services that are linked to the workspace.

" + } + }, "ListComponentTypesFilter": { "base": "

An object that filters items in a list of component types.

Only one object is accepted as a valid input.

", "refs": { @@ -805,6 +1058,16 @@ "refs": { } }, + "ListComponentsRequest": { + "base": null, + "refs": { + } + }, + "ListComponentsResponse": { + "base": null, + "refs": { + } + }, "ListEntitiesFilter": { "base": "

An object that filters items in a list of entities.

", "refs": { @@ -827,6 +1090,38 @@ "refs": { } }, + "ListMetadataTransferJobsFilter": { + "base": "

The ListMetadataTransferJobs filter.

", + "refs": { + "ListMetadataTransferJobsFilters$member": null + } + }, + "ListMetadataTransferJobsFilters": { + "base": null, + "refs": { + "ListMetadataTransferJobsRequest$filters": "

An object that filters metadata transfer jobs.

" + } + }, + "ListMetadataTransferJobsRequest": { + "base": null, + "refs": { + } + }, + "ListMetadataTransferJobsResponse": { + "base": null, + "refs": { + } + }, + "ListPropertiesRequest": { + "base": null, + "refs": { + } + }, + "ListPropertiesResponse": { + "base": null, + "refs": { + } + }, "ListScenesRequest": { "base": null, "refs": { @@ -891,7 +1186,10 @@ "GetPropertyValueRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

Valid Range: Minimum value of 1. Maximum value of 250.

", "ListComponentTypesRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

Valid Range: Minimum value of 1. Maximum value of 250.

", "ListComponentTypesResponse$maxResults": "

Specifies the maximum number of results to display.

", + "ListComponentsRequest$maxResults": "

The maximum number of results returned at one time. The default is 25.

", "ListEntitiesRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

Valid Range: Minimum value of 1. Maximum value of 250.

", + "ListMetadataTransferJobsRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListPropertiesRequest$maxResults": "

The maximum number of results returned at one time. The default is 25.

", "ListScenesRequest$maxResults": "

Specifies the maximum number of results to display.

", "ListSyncJobsRequest$maxResults": "

The maximum number of results to return at one time. The default is 50.

Valid Range: Minimum value of 0. Maximum value of 200.

", "ListSyncResourcesRequest$maxResults": "

The maximum number of results to return at one time. The default is 50.

Valid Range: Minimum value of 0. Maximum value of 200.

", @@ -899,15 +1197,55 @@ "ListWorkspacesRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

Valid Range: Minimum value of 1. Maximum value of 250.

" } }, + "MetadataTransferJobProgress": { + "base": "

The metadata transfer job's progress.

", + "refs": { + "CancelMetadataTransferJobResponse$progress": "

The metadata transfer job's progress.

", + "GetMetadataTransferJobResponse$progress": "

The metadata transfer job's progress.

", + "MetadataTransferJobSummary$progress": "

The metadata transfer job summary progess.

" + } + }, + "MetadataTransferJobState": { + "base": null, + "refs": { + "ListMetadataTransferJobsFilter$state": "

The filter state.

", + "MetadataTransferJobStatus$state": "

The metadata transfer job state.

" + } + }, + "MetadataTransferJobStatus": { + "base": "

The metadata transfer job status.

", + "refs": { + "CancelMetadataTransferJobResponse$status": "

The metadata transfer job's status.

", + "CreateMetadataTransferJobResponse$status": "

The metadata transfer job response status.

", + "GetMetadataTransferJobResponse$status": "

The metadata transfer job's status.

", + "MetadataTransferJobSummary$status": "

The metadata transfer job summary status.

" + } + }, + "MetadataTransferJobSummaries": { + "base": null, + "refs": { + "ListMetadataTransferJobsResponse$metadataTransferJobSummaries": "

The metadata transfer job summaries.

" + } + }, + "MetadataTransferJobSummary": { + "base": "

The metadata transfer job summary.

", + "refs": { + "MetadataTransferJobSummaries$member": null + } + }, "Name": { "base": null, "refs": { "ComponentPropertyGroupRequests$key": null, "ComponentPropertyGroupResponses$key": null, "ComponentResponse$componentName": "

The name of the component.

", + "ComponentSummary$componentName": "

The name of the component.

", "ComponentUpdatesMapRequest$key": null, "ComponentsMap$key": null, "ComponentsMapRequest$key": null, + "CompositeComponentResponse$key": null, + "CompositeComponentTypesRequest$key": null, + "CompositeComponentTypesResponse$key": null, "Configuration$key": null, "EntityPropertyReference$componentName": "

The name of the component.

", "EntityPropertyReference$propertyName": "

The name of the property.

", @@ -917,6 +1255,7 @@ "GetPropertyValueHistoryRequest$componentName": "

The name of the component.

", "GetPropertyValueRequest$componentName": "

The name of the component whose property values the operation returns.

", "GetPropertyValueRequest$propertyGroupName": "

The property group name.

", + "ListPropertiesRequest$componentName": "

The name of the component whose properties are returned by the operation.

", "PropertyDefinitionsRequest$key": null, "PropertyDefinitionsResponse$key": null, "PropertyGroupsRequest$key": null, @@ -925,6 +1264,7 @@ "PropertyNames$member": null, "PropertyRequests$key": null, "PropertyResponses$key": null, + "PropertySummary$propertyName": "

This is the name of the property.

", "PropertyTableValue$key": null, "RelationshipValue$targetComponentName": "

The name of the target component associated with the relationship value.

", "RequiredProperties$member": null, @@ -942,8 +1282,14 @@ "GetPropertyValueResponse$nextToken": "

The string that specifies the next page of results.

", "ListComponentTypesRequest$nextToken": "

The string that specifies the next page of results.

", "ListComponentTypesResponse$nextToken": "

The string that specifies the next page of results.

", + "ListComponentsRequest$nextToken": "

The string that specifies the next page of results.

", + "ListComponentsResponse$nextToken": "

The string that specifies the next page of component results.

", "ListEntitiesRequest$nextToken": "

The string that specifies the next page of results.

", "ListEntitiesResponse$nextToken": "

The string that specifies the next page of results.

", + "ListMetadataTransferJobsRequest$nextToken": "

The string that specifies the next page of results.

", + "ListMetadataTransferJobsResponse$nextToken": "

The string that specifies the next page of results.

", + "ListPropertiesRequest$nextToken": "

The string that specifies the next page of results.

", + "ListPropertiesResponse$nextToken": "

The string that specifies the next page of property results.

", "ListScenesRequest$nextToken": "

The string that specifies the next page of results.

", "ListScenesResponse$nextToken": "

The string that specifies the next page of results.

", "ListSyncJobsRequest$nextToken": "

The string that specifies the next page of results.

", @@ -1042,7 +1388,8 @@ "base": "

An object that contains response data from a property definition request.

", "refs": { "PropertyDefinitionsResponse$value": null, - "PropertyResponse$definition": "

An object that specifies information about a property.

" + "PropertyResponse$definition": "

An object that specifies information about a property.

", + "PropertySummary$definition": "

This is the schema for the property.

" } }, "PropertyDefinitionsRequest": { @@ -1140,7 +1487,9 @@ "base": null, "refs": { "ComponentRequest$properties": "

An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.

", - "ComponentUpdateRequest$propertyUpdates": "

An object that maps strings to the properties to set in the component type update. Each string in the mapping must be unique to this object.

" + "ComponentUpdateRequest$propertyUpdates": "

An object that maps strings to the properties to set in the component type update. Each string in the mapping must be unique to this object.

", + "CompositeComponentRequest$properties": "

This is an object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.

", + "CompositeComponentUpdateRequest$propertyUpdates": "

An object that maps strings to the properties to set in the component type update. Each string in the mapping must be unique to this object.

" } }, "PropertyResponse": { @@ -1155,6 +1504,18 @@ "ComponentResponse$properties": "

An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.

" } }, + "PropertySummaries": { + "base": null, + "refs": { + "ListPropertiesResponse$propertySummaries": "

A list of objects that contain information about the properties.

" + } + }, + "PropertySummary": { + "base": "

This is an object that contains the information of a property.

", + "refs": { + "PropertySummaries$member": null + } + }, "PropertyTableValue": { "base": null, "refs": { @@ -1208,7 +1569,7 @@ "QueryServiceMaxResults": { "base": null, "refs": { - "ExecuteQueryRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

Valid Range: Minimum value of 1. Maximum value of 250.

" + "ExecuteQueryRequest$maxResults": "

The maximum number of results to return at one time. The default is 50.

" } }, "QueryStatement": { @@ -1251,6 +1612,7 @@ "refs": { "CreateSyncJobRequest$syncRole": "

The SyncJob IAM role. This IAM role is used by the SyncJob to read from the syncSource, and create, update, or delete the corresponding resources.

", "CreateWorkspaceRequest$role": "

The ARN of the execution role associated with the workspace.

", + "GetMetadataTransferJobResponse$metadataTransferJobRole": "

The metadata transfer job's role.

", "GetSyncJobResponse$syncRole": "

The sync IAM role.

", "GetWorkspaceResponse$role": "

The ARN of the execution role associated with the workspace.

", "UpdateWorkspaceRequest$role": "

The ARN of the execution role associated with the workspace.

" @@ -1274,11 +1636,36 @@ "ExecuteQueryResponse$rows": "

Represents a single row in the query results.

" } }, + "S3DestinationConfiguration": { + "base": "

The S3 destination configuration.

", + "refs": { + "DestinationConfiguration$s3Configuration": "

The metadata transfer job S3 configuration. [need to add S3 entity]

" + } + }, + "S3DestinationLocation": { + "base": null, + "refs": { + "S3DestinationConfiguration$location": "

The S3 destination configuration location.

" + } + }, "S3Location": { "base": null, "refs": { "CreateWorkspaceRequest$s3Location": "

The ARN of the S3 bucket where resources associated with the workspace are stored.

", - "GetWorkspaceResponse$s3Location": "

The ARN of the S3 bucket where resources associated with the workspace are stored.

" + "GetWorkspaceResponse$s3Location": "

The ARN of the S3 bucket where resources associated with the workspace are stored.

", + "UpdateWorkspaceRequest$s3Location": "

The ARN of the S3 bucket where resources associated with the workspace are stored.

" + } + }, + "S3SourceConfiguration": { + "base": "

The S3 destination source configuration.

", + "refs": { + "SourceConfiguration$s3Configuration": "

The source configuration S3 configuration.

" + } + }, + "S3SourceLocation": { + "base": null, + "refs": { + "S3SourceConfiguration$location": "

The S3 destination source configuration location.

" } }, "S3Url": { @@ -1362,6 +1749,33 @@ "refs": { } }, + "SiteWiseExternalId": { + "base": null, + "refs": { + "FilterByAsset$assetExternalId": "

The external-Id property of an asset.

", + "FilterByAssetModel$assetModelExternalId": "

The external-Id property of an asset model.

" + } + }, + "SourceConfiguration": { + "base": "

The source configuration.

", + "refs": { + "SourceConfigurations$member": null + } + }, + "SourceConfigurations": { + "base": null, + "refs": { + "CreateMetadataTransferJobRequest$sources": "

The metadata transfer job sources.

", + "GetMetadataTransferJobResponse$sources": "

The metadata transfer job's sources.

" + } + }, + "SourceType": { + "base": null, + "refs": { + "ListMetadataTransferJobsRequest$sourceType": "

The metadata transfer job's source type.

", + "SourceConfiguration$type": "

The source configuration type.

" + } + }, "State": { "base": null, "refs": { @@ -1378,6 +1792,7 @@ "base": "

An object that represents the status of an entity, component, component type, or workspace.

", "refs": { "ComponentResponse$status": "

The status of the component type.

", + "ComponentSummary$status": "

The status of the component type.

", "ComponentTypeSummary$status": "

The current status of the component type.

", "EntitySummary$status": "

The current status of the entity.

", "GetComponentTypeResponse$status": "

The current status of the component type.

", @@ -1390,11 +1805,13 @@ "BatchPutPropertyError$errorCode": "

The error code.

", "BatchPutPropertyError$errorMessage": "

The error message.

", "ComponentResponse$definedIn": "

The name of the property definition set in the request.

", + "ComponentSummary$definedIn": "

The name of the property definition set in the request.

", "DataType$unitOfMeasure": "

The unit of measure used in this data type.

", "DataValue$stringValue": "

A string value.

", "DataValueMap$key": null, "ExternalIdProperty$key": null, "ExternalIdProperty$value": null, + "GetMetadataTransferJobResponse$reportUrl": "

The metadata transfer job's report URL.

", "ListComponentTypesFilter$namespace": "

The namespace to which the component types in the list belong.

", "ListEntitiesFilter$externalId": "

The external-Id property of a component. The external-Id property is the primary key of an external storage system.

", "OrderBy$propertyName": "

The property name.

", @@ -1479,6 +1896,7 @@ "base": null, "refs": { "ComponentResponse$syncSource": "

The syncSource of the sync job, if this entity was created by a sync job.

", + "ComponentSummary$syncSource": "

The syncSource of the sync job, if this entity was created by a sync job.

", "CreateSyncJobRequest$syncSource": "

The sync source.

Currently the only supported syncSoource is SITEWISE .

", "DeleteSyncJobRequest$syncSource": "

The sync source.

Currently the only supported syncSource is SITEWISE .

", "GetComponentTypeResponse$syncSource": "

The syncSource of the SyncJob, if this entity was created by a SyncJob.

", @@ -1564,10 +1982,12 @@ "Timestamp": { "base": "

supports epoch seconds value

", "refs": { + "CancelMetadataTransferJobResponse$updateDateTime": "

Used to update the DateTime property.

", "ComponentTypeSummary$creationDateTime": "

The date and time when the component type was created.

", "ComponentTypeSummary$updateDateTime": "

The date and time when the component type was last updated.

", "CreateComponentTypeResponse$creationDateTime": "

The date and time when the entity was created.

", "CreateEntityResponse$creationDateTime": "

The date and time when the entity was created.

", + "CreateMetadataTransferJobResponse$creationDateTime": "

The The metadata transfer job creation DateTime property.

", "CreateSceneResponse$creationDateTime": "

The date and time when the scene was created.

", "CreateSyncJobResponse$creationDateTime": "

The date and time for the SyncJob creation.

", "CreateWorkspaceResponse$creationDateTime": "

The date and time when the workspace was created.

", @@ -1577,6 +1997,8 @@ "GetComponentTypeResponse$updateDateTime": "

The date and time when the component was last updated.

", "GetEntityResponse$creationDateTime": "

The date and time when the entity was created.

", "GetEntityResponse$updateDateTime": "

The date and time when the entity was last updated.

", + "GetMetadataTransferJobResponse$creationDateTime": "

The metadata transfer job's creation DateTime property.

", + "GetMetadataTransferJobResponse$updateDateTime": "

The metadata transfer job's update DateTime property.

", "GetPropertyValueHistoryRequest$startDateTime": "

The date and time of the earliest property value to return.

", "GetPropertyValueHistoryRequest$endDateTime": "

The date and time of the latest property value to return.

", "GetSceneResponse$creationDateTime": "

The date and time when the scene was created.

", @@ -1585,6 +2007,8 @@ "GetSyncJobResponse$updateDateTime": "

The update date and time.

", "GetWorkspaceResponse$creationDateTime": "

The date and time when the workspace was created.

", "GetWorkspaceResponse$updateDateTime": "

The date and time when the workspace was last updated.

", + "MetadataTransferJobSummary$creationDateTime": "

The metadata transfer job summary creation DateTime object.

", + "MetadataTransferJobSummary$updateDateTime": "

The metadata transfer job summary update DateTime object

", "PricingPlan$effectiveDateTime": "

The effective date and time of the pricing plan.

", "PricingPlan$updateDateTime": "

The set date and time for updating a pricing plan.

", "PropertyValue$timestamp": "

The timestamp of a value for a time series property.

", @@ -1608,19 +2032,25 @@ "TwinMakerArn": { "base": null, "refs": { + "CancelMetadataTransferJobResponse$arn": "

The metadata transfer job ARN.

", "ComponentTypeSummary$arn": "

The ARN of the component type.

", "CreateComponentTypeResponse$arn": "

The ARN of the component type.

", "CreateEntityResponse$arn": "

The ARN of the entity.

", + "CreateMetadataTransferJobResponse$arn": "

The metadata transfer job ARN.

", "CreateSceneResponse$arn": "

The ARN of the scene.

", "CreateSyncJobResponse$arn": "

The SyncJob ARN.

", "CreateWorkspaceResponse$arn": "

The ARN of the workspace.

", "EntitySummary$arn": "

The ARN of the entity.

", "GetComponentTypeResponse$arn": "

The ARN of the component type.

", "GetEntityResponse$arn": "

The ARN of the entity.

", + "GetMetadataTransferJobResponse$arn": "

The metadata transfer job ARN.

", "GetSceneResponse$arn": "

The ARN of the scene.

", "GetSyncJobResponse$arn": "

The sync job ARN.

", "GetWorkspaceResponse$arn": "

The ARN of the workspace.

", + "IotTwinMakerDestinationConfiguration$workspace": "

The IoT TwinMaker workspace.

", + "IotTwinMakerSourceConfiguration$workspace": "

The IoT TwinMaker workspace.

", "ListTagsForResourceRequest$resourceARN": "

The ARN of the resource.

", + "MetadataTransferJobSummary$arn": "

The metadata transfer job summary ARN.

", "SceneSummary$arn": "

The ARN of the scene.

", "SyncJobSummary$arn": "

The SyncJob summary ARN.

", "TagResourceRequest$resourceARN": "

The ARN of the resource.

", @@ -1701,6 +2131,13 @@ "refs": { } }, + "Uuid": { + "base": null, + "refs": { + "FilterByAsset$assetId": "

Filter by asset Id.

", + "FilterByAssetModel$assetModelId": "

The asset model Id.

" + } + }, "ValidationException": { "base": "

Failed

", "refs": { @@ -1718,6 +2155,12 @@ "PropertyValueHistory$values": "

A list of objects that contain information about the values in the history of a time series property.

" } }, + "WorkspaceDeleteMessage": { + "base": null, + "refs": { + "DeleteWorkspaceResponse$message": "

The string that specifies the delete result for the workspace.

" + } + }, "WorkspaceSummaries": { "base": null, "refs": { diff --git a/models/apis/iottwinmaker/2021-11-29/endpoint-rule-set-1.json b/models/apis/iottwinmaker/2021-11-29/endpoint-rule-set-1.json index 6e442dec4e5..3897194e1e9 100644 --- a/models/apis/iottwinmaker/2021-11-29/endpoint-rule-set-1.json +++ b/models/apis/iottwinmaker/2021-11-29/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iottwinmaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://iottwinmaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iottwinmaker-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://iottwinmaker-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iottwinmaker.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://iottwinmaker.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iottwinmaker.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://iottwinmaker.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/iottwinmaker/2021-11-29/paginators-1.json b/models/apis/iottwinmaker/2021-11-29/paginators-1.json index 5c696a64a80..92f746cde40 100644 --- a/models/apis/iottwinmaker/2021-11-29/paginators-1.json +++ b/models/apis/iottwinmaker/2021-11-29/paginators-1.json @@ -20,11 +20,26 @@ "output_token": "nextToken", "limit_key": "maxResults" }, + "ListComponents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, "ListEntities": { "input_token": "nextToken", "output_token": "nextToken", "limit_key": "maxResults" }, + "ListMetadataTransferJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListProperties": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, "ListScenes": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/s3/2006-03-01/api-2.json b/models/apis/s3/2006-03-01/api-2.json index 4c3d5054579..a8b9ed36666 100644 --- a/models/apis/s3/2006-03-01/api-2.json +++ b/models/apis/s3/2006-03-01/api-2.json @@ -5470,7 +5470,8 @@ "members":{ "TargetBucket":{"shape":"TargetBucket"}, "TargetGrants":{"shape":"TargetGrants"}, - "TargetPrefix":{"shape":"TargetPrefix"} + "TargetPrefix":{"shape":"TargetPrefix"}, + "TargetObjectKeyFormat":{"shape":"TargetObjectKeyFormat"} } }, "MFA":{"type":"string"}, @@ -5952,6 +5953,20 @@ }, "PartNumber":{"type":"integer"}, "PartNumberMarker":{"type":"integer"}, + "PartitionDateSource":{ + "type":"string", + "enum":[ + "EventTime", + "DeliveryTime" + ] + }, + "PartitionedPrefix":{ + "type":"structure", + "members":{ + "PartitionDateSource":{"shape":"PartitionDateSource"} + }, + "locationName":"PartitionedPrefix" + }, "Parts":{ "type":"list", "member":{"shape":"Part"}, @@ -7937,6 +7952,12 @@ "type":"boolean", "box":true }, + "SimplePrefix":{ + "type":"structure", + "members":{ + }, + "locationName":"SimplePrefix" + }, "Size":{ "type":"long", "box":true @@ -8078,6 +8099,19 @@ "locationName":"Grant" } }, + "TargetObjectKeyFormat":{ + "type":"structure", + "members":{ + "SimplePrefix":{ + "shape":"SimplePrefix", + "locationName":"SimplePrefix" + }, + "PartitionedPrefix":{ + "shape":"PartitionedPrefix", + "locationName":"PartitionedPrefix" + } + } + }, "TargetPrefix":{"type":"string"}, "Tier":{ "type":"string", diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index 546c861a14d..844ceb036ae 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -46,7 +46,7 @@ "GetBucketTagging": "

Returns the tag set associated with the bucket.

To use this operation, you must have permission to perform the s3:GetBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

GetBucketTagging has the following special error:

The following operations are related to GetBucketTagging:

", "GetBucketVersioning": "

Returns the versioning state of a bucket.

To retrieve the versioning state of a bucket, you must be the bucket owner.

This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete status is enabled, the bucket owner must use an authentication device to change the versioning state of the bucket.

The following operations are related to GetBucketVersioning:

", "GetBucketWebsite": "

Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3.

This GET action requires the S3:GetBucketWebsite permission. By default, only the bucket owner can read the bucket website configuration. However, bucket owners can allow other users to read the website configuration by writing a bucket policy granting them the S3:GetBucketWebsite permission.

The following operations are related to GetBucketWebsite:

", - "GetObject": "

Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header.

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification.

For more information about returning the ACL of an object, see GetObjectAcl.

If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects.

Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 Bad Request error.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object that you request doesn’t exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 (Not Found) error.

If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 (\"access denied\") error.

Versioning

By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource.

  • If you supply a versionId, you need the s3:GetObjectVersion permission to access a specific version of an object. If you request a specific version, you do not need to have the s3:GetObject permission. If you request the current version without a specific version ID, only s3:GetObject permission is required. s3:GetObjectVersion permission won't be required.

  • If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

For more information about versioning, see PutBucketVersioning.

Overriding Response Header Values

There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request.

You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters.

You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request.

Overriding Response Header Values

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

The following operations are related to GetObject:

", + "GetObject": "

Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header.

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification.

For more information about returning the ACL of an object, see GetObjectAcl.

If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects.

Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 Bad Request error.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object that you request doesn’t exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 (Not Found) error.

If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 (\"access denied\") error.

Versioning

By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource.

  • If you supply a versionId, you need the s3:GetObjectVersion permission to access a specific version of an object. If you request a specific version, you do not need to have the s3:GetObject permission. If you request the current version without a specific version ID, only s3:GetObject permission is required. s3:GetObjectVersion permission won't be required.

  • If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

  • If the specified version is a delete marker, the response returns a 405 (Method Not Allowed) error and the Last-Modified: timestamp response header.

For more information about versioning, see PutBucketVersioning.

Overriding Response Header Values

There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request.

You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters.

You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request.

Overriding Response Header Values

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

The following operations are related to GetObject:

", "GetObjectAcl": "

Returns the access control list (ACL) of an object. To use this operation, you must have s3:GetObjectAcl permissions or READ_ACP access to the object. For more information, see Mapping of ACL permissions and access policy permissions in the Amazon S3 User Guide

This action is not supported by Amazon S3 on Outposts.

By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

The following operations are related to GetObjectAcl:

", "GetObjectAttributes": "

Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object.

GetObjectAttributes combines the functionality of HeadObject and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following actions are related to GetObjectAttributes:

", "GetObjectLegalHold": "

Gets an object's current legal hold status. For more information, see Locking Objects.

This action is not supported by Amazon S3 on Outposts.

The following action is related to GetObjectLegalHold:

", @@ -56,14 +56,14 @@ "GetObjectTorrent": "

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files.

You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key.

To use GET, you must have READ access to the object.

This action is not supported by Amazon S3 on Outposts.

The following action is related to GetObjectTorrent:

", "GetPublicAccessBlock": "

Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock settings are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings.

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

The following operations are related to GetPublicAccessBlock:

", "HeadBucket": "

This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it.

If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. A message body is not included, so you cannot determine the exception beyond these error codes.

To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

To use this API operation against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information, see Using access points.

To use this API operation against an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.

", - "HeadObject": "

The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. It is not possible to retrieve the exact exception beyond these error codes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Actions, resources, and condition keys for Amazon S3. If the object you request doesn't exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following actions are related to HeadObject:

", + "HeadObject": "

The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic code, such as 400 Bad Request, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 412 Precondition Failed, or 304 Not Modified. It's not possible to retrieve the exact exception of these error codes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Actions, resources, and condition keys for Amazon S3. If the object you request doesn't exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

Versioning

The following actions are related to HeadObject:

", "ListBucketAnalyticsConfigurations": "

Lists the analytics configurations for the bucket. You can have up to 1,000 analytics configurations per bucket.

This action supports list pagination and does not return more than 100 configurations at a time. You should always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there will be a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis.

The following operations are related to ListBucketAnalyticsConfigurations:

", "ListBucketIntelligentTieringConfigurations": "

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to ListBucketIntelligentTieringConfigurations include:

", "ListBucketInventoryConfigurations": "

Returns a list of inventory configurations for the bucket. You can have up to 1,000 analytics configurations per bucket.

This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory

The following operations are related to ListBucketInventoryConfigurations:

", "ListBucketMetricsConfigurations": "

Lists the metrics configurations for the bucket. The metrics configurations are only for the request metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000 configurations per bucket.

This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For more information about metrics configurations and CloudWatch request metrics, see Monitoring Metrics with Amazon CloudWatch.

The following operations are related to ListBucketMetricsConfigurations:

", "ListBuckets": "

Returns a list of all buckets owned by the authenticated sender of the request. To use this operation, you must have the s3:ListAllMyBuckets permission.

For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

", "ListMultipartUploads": "

This action lists in-progress multipart uploads. An in-progress multipart upload is a multipart upload that has been initiated using the Initiate Multipart Upload request, but has not yet been completed or aborted.

This action returns at most 1,000 multipart uploads in the response. 1,000 multipart uploads is the maximum number of uploads a response can include, which is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads parameter in the response. If additional multipart uploads satisfy the list criteria, the response will contain an IsTruncated element with the value true. To list the additional multipart uploads, use the key-marker and upload-id-marker request parameters.

In the response, the uploads are sorted by key. If your application has initiated more than one multipart upload using the same object key, then uploads in the response are first sorted by key. Additionally, uploads are sorted in ascending order within each key by the upload initiation time.

For more information on multipart uploads, see Uploading Objects Using Multipart Upload.

For information on permissions required to use the multipart upload API, see Multipart Upload and Permissions.

The following operations are related to ListMultipartUploads:

", - "ListObjectVersions": "

Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference.

A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

To use this operation, you must have READ access to the bucket.

This action is not supported by Amazon S3 on Outposts.

The following operations are related to ListObjectVersions:

", + "ListObjectVersions": "

Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference.

A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

To use this operation, you must have READ access to the bucket.

The following operations are related to ListObjectVersions:

", "ListObjects": "

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately.

This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

The following operations are related to ListObjects:

", "ListObjectsV2": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. Objects are returned sorted in an ascending order of the respective key names in the list. For more information about listing objects, see Listing object keys programmatically in the Amazon S3 User Guide.

To use this operation, you must have READ access to the bucket.

To use this action in an Identity and Access Management (IAM) policy, you must have permission to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

This section describes the latest revision of this action. We recommend that you use this revised API operation for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API operation, ListObjects.

To get a list of your buckets, see ListBuckets.

The following operations are related to ListObjectsV2:

", "ListParts": "

Lists the parts that have been uploaded for a specific multipart upload. This operation must include the upload ID, which you obtain by sending the initiate multipart upload request (see CreateMultipartUpload). This request returns a maximum of 1,000 uploaded parts. The default number of parts returned is 1,000 parts. You can restrict the number of parts returned by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. In subsequent ListParts requests you can include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

If the upload was created using a checksum algorithm, you will need to have permission to the kms:Decrypt action for the request to succeed.

For more information on multipart uploads, see Uploading Objects Using Multipart Upload.

For information on permissions required to use the multipart upload API, see Multipart Upload and Permissions.

The following operations are related to ListParts:

", @@ -2288,12 +2288,12 @@ "refs": { "CopyObjectResult$LastModified": "

Creation date of the object.

", "CopyPartResult$LastModified": "

Date and time at which the object was uploaded.

", - "DeleteMarkerEntry$LastModified": "

Date and time the object was last modified.

", + "DeleteMarkerEntry$LastModified": "

Date and time when the object was last modified.

", "GetObjectAttributesOutput$LastModified": "

The creation date of the object.

", - "GetObjectOutput$LastModified": "

Creation date of the object.

", - "HeadObjectOutput$LastModified": "

Creation date of the object.

", + "GetObjectOutput$LastModified": "

Date and time when the object was last modified.

", + "HeadObjectOutput$LastModified": "

Date and time when the object was last modified.

", "Object$LastModified": "

Creation date of the object.

", - "ObjectVersion$LastModified": "

Date and time the object was last modified.

", + "ObjectVersion$LastModified": "

Date and time when the object was last modified.

", "Part$LastModified": "

Date and time at which the part was uploaded.

", "WriteGetObjectResponseRequest$LastModified": "

The date and time that the object was last modified.

" } @@ -3124,6 +3124,18 @@ "ListPartsRequest$PartNumberMarker": "

Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.

" } }, + "PartitionDateSource": { + "base": null, + "refs": { + "PartitionedPrefix$PartitionDateSource": "

Specifies the partition date source for the partitioned prefix. PartitionDateSource can be EventTime or DeliveryTime.

" + } + }, + "PartitionedPrefix": { + "base": "

Amazon S3 keys for log objects are partitioned in the following format:

[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]

PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.

", + "refs": { + "TargetObjectKeyFormat$PartitionedPrefix": "

Partitioned S3 key for log objects.

" + } + }, "Parts": { "base": null, "refs": { @@ -3798,7 +3810,7 @@ "SSECustomerAlgorithm": { "base": null, "refs": { - "CompleteMultipartUploadRequest$SSECustomerAlgorithm": "

The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

", + "CompleteMultipartUploadRequest$SSECustomerAlgorithm": "

The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

", "CopyObjectOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", "CopyObjectRequest$SSECustomerAlgorithm": "

Specifies the algorithm to use to when encrypting the object (for example, AES256).

", "CreateMultipartUploadOutput$SSECustomerAlgorithm": "

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", @@ -3869,11 +3881,11 @@ "base": null, "refs": { "CopyObjectOutput$SSEKMSEncryptionContext": "

If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

", - "CopyObjectRequest$SSEKMSEncryptionContext": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

", + "CopyObjectRequest$SSEKMSEncryptionContext": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value must be explicitly added to specify encryption context for CopyObject requests.

", "CreateMultipartUploadOutput$SSEKMSEncryptionContext": "

If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

", "CreateMultipartUploadRequest$SSEKMSEncryptionContext": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

", "PutObjectOutput$SSEKMSEncryptionContext": "

If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object.

", - "PutObjectRequest$SSEKMSEncryptionContext": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object.

" + "PutObjectRequest$SSEKMSEncryptionContext": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object. This value must be explicitly added during CopyObject operations.

" } }, "SSEKMSKeyId": { @@ -3983,6 +3995,12 @@ "PublicAccessBlockConfiguration$RestrictPublicBuckets": "

Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only Amazon Web Service principals and authorized users within this account if the bucket has a public policy.

Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

" } }, + "SimplePrefix": { + "base": "

To use simple format for S3 keys for log objects, set SimplePrefix to an empty object.

[DestinationPrefix][YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]

", + "refs": { + "TargetObjectKeyFormat$SimplePrefix": "

To use the simple format for S3 keys for log objects. To specify SimplePrefix format, set SimplePrefix to {}.

" + } + }, "Size": { "base": null, "refs": { @@ -4153,6 +4171,12 @@ "LoggingEnabled$TargetGrants": "

Container for granting information.

Buckets that use the bucket owner enforced setting for Object Ownership don't support target grants. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

" } }, + "TargetObjectKeyFormat": { + "base": "

Amazon S3 key format for log objects. Only one format, PartitionedPrefix or SimplePrefix, is allowed.

", + "refs": { + "LoggingEnabled$TargetObjectKeyFormat": "

Amazon S3 key format for log objects.

" + } + }, "TargetPrefix": { "base": null, "refs": { @@ -4292,8 +4316,8 @@ "VersionCount": { "base": null, "refs": { - "NoncurrentVersionExpiration$NewerNoncurrentVersions": "

Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see Lifecycle configuration elements in the Amazon S3 User Guide.

", - "NoncurrentVersionTransition$NewerNoncurrentVersions": "

Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see Lifecycle configuration elements in the Amazon S3 User Guide.

" + "NoncurrentVersionExpiration$NewerNoncurrentVersions": "

Specifies how many newer noncurrent versions must exist before Amazon S3 can perform the associated action on a given version. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see Lifecycle configuration elements in the Amazon S3 User Guide.

", + "NoncurrentVersionTransition$NewerNoncurrentVersions": "

Specifies how many newer noncurrent versions must exist before Amazon S3 can perform the associated action on a given version. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see Lifecycle configuration elements in the Amazon S3 User Guide.

" } }, "VersionIdMarker": { diff --git a/models/apis/s3/2006-03-01/examples-1.json b/models/apis/s3/2006-03-01/examples-1.json index 75c697b58cf..5c73dd44c36 100644 --- a/models/apis/s3/2006-03-01/examples-1.json +++ b/models/apis/s3/2006-03-01/examples-1.json @@ -84,13 +84,10 @@ "CreateBucket": [ { "input": { - "Bucket": "examplebucket", - "CreateBucketConfiguration": { - "LocationConstraint": "eu-west-1" - } + "Bucket": "examplebucket" }, "output": { - "Location": "http://examplebucket..s3.amazonaws.com/" + "Location": "/examplebucket" }, "comments": { "input": { @@ -98,16 +95,19 @@ "output": { } }, - "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", - "id": "to-create-a-bucket-in-a-specific-region-1483399072992", - "title": "To create a bucket in a specific region" + "description": "The following example creates a bucket.", + "id": "to-create-a-bucket--1472851826060", + "title": "To create a bucket " }, { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } }, "output": { - "Location": "/examplebucket" + "Location": "http://examplebucket..s3.amazonaws.com/" }, "comments": { "input": { @@ -115,9 +115,9 @@ "output": { } }, - "description": "The following example creates a bucket.", - "id": "to-create-a-bucket--1472851826060", - "title": "To create a bucket " + "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", + "id": "to-create-a-bucket-in-a-specific-region-1483399072992", + "title": "To create a bucket in a specific region" } ], "CreateMultipartUpload": [ @@ -292,10 +292,11 @@ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "comments": { "input": { @@ -303,18 +304,17 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", - "id": "to-remove-tag-set-from-an-object-1483145342862", - "title": "To remove tag set from an object" + "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "id": "to-remove-tag-set-from-an-object-version-1483145285913", + "title": "To remove tag set from an object version" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" }, "comments": { "input": { @@ -322,9 +322,9 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", - "id": "to-remove-tag-set-from-an-object-version-1483145285913", - "title": "To remove tag set from an object version" + "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "id": "to-remove-tag-set-from-an-object-1483145342862", + "title": "To remove tag set from an object" } ], "DeleteObjects": [ @@ -334,12 +334,10 @@ "Delete": { "Objects": [ { - "Key": "HappyFace.jpg", - "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + "Key": "objectkey1" }, { - "Key": "HappyFace.jpg", - "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + "Key": "objectkey2" } ], "Quiet": false @@ -348,12 +346,14 @@ "output": { "Deleted": [ { - "Key": "HappyFace.jpg", - "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + "DeleteMarker": "true", + "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", + "Key": "objectkey1" }, { - "Key": "HappyFace.jpg", - "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + "DeleteMarker": "true", + "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", + "Key": "objectkey2" } ] }, @@ -363,9 +363,9 @@ "output": { } }, - "description": "The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.", - "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", - "title": "To delete multiple object versions from a versioned bucket" + "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", + "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", + "title": "To delete multiple objects from a versioned bucket" }, { "input": { @@ -373,10 +373,12 @@ "Delete": { "Objects": [ { - "Key": "objectkey1" + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" }, { - "Key": "objectkey2" + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" } ], "Quiet": false @@ -385,14 +387,12 @@ "output": { "Deleted": [ { - "DeleteMarker": "true", - "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", - "Key": "objectkey1" + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" }, { - "DeleteMarker": "true", - "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", - "Key": "objectkey2" + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" } ] }, @@ -402,9 +402,9 @@ "output": { } }, - "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", - "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", - "title": "To delete multiple objects from a versioned bucket" + "description": "The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.", + "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", + "title": "To delete multiple object versions from a versioned bucket" } ], "GetBucketCors": [ @@ -728,17 +728,18 @@ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "SampleFile.txt", + "Range": "bytes=0-9" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "3191", - "ContentType": "image/jpeg", - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", + "ContentLength": "10", + "ContentRange": "bytes 0-9/43", + "ContentType": "text/plain", + "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", + "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", "Metadata": { }, - "TagCount": 2, "VersionId": "null" }, "comments": { @@ -747,25 +748,24 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket.", - "id": "to-retrieve-an-object-1481827837012", - "title": "To retrieve an object" + "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", + "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", + "title": "To retrieve a byte range of an object " }, { "input": { "Bucket": "examplebucket", - "Key": "SampleFile.txt", - "Range": "bytes=0-9" + "Key": "HappyFace.jpg" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "10", - "ContentRange": "bytes 0-9/43", - "ContentType": "text/plain", - "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", - "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", + "ContentLength": "3191", + "ContentType": "image/jpeg", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", "Metadata": { }, + "TagCount": 2, "VersionId": "null" }, "comments": { @@ -774,9 +774,9 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", - "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", - "title": "To retrieve a byte range of an object " + "description": "The following example retrieves an object for an S3 bucket.", + "id": "to-retrieve-an-object-1481827837012", + "title": "To retrieve an object" } ], "GetObjectAcl": [ @@ -989,47 +989,37 @@ "ListMultipartUploads": [ { "input": { - "Bucket": "examplebucket", - "KeyMarker": "nextkeyfrompreviousresponse", - "MaxUploads": "2", - "UploadIdMarker": "valuefrompreviousresponse" + "Bucket": "examplebucket" }, "output": { - "Bucket": "acl1", - "IsTruncated": true, - "KeyMarker": "", - "MaxUploads": "2", - "NextKeyMarker": "someobjectkey", - "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", - "UploadIdMarker": "", "Uploads": [ { "Initiated": "2014-05-01T05:40:58.000Z", "Initiator": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "mohanataws", - "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" }, { "Initiated": "2014-05-01T05:41:27.000Z", "Initiator": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" } ] }, @@ -1039,43 +1029,53 @@ "output": { } }, - "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", - "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", - "title": "List next set of multipart uploads when previous result is truncated" + "description": "The following example lists in-progress multipart uploads on a specific bucket.", + "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", + "title": "To list in-progress multipart uploads on a bucket" }, { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "KeyMarker": "nextkeyfrompreviousresponse", + "MaxUploads": "2", + "UploadIdMarker": "valuefrompreviousresponse" }, "output": { + "Bucket": "acl1", + "IsTruncated": true, + "KeyMarker": "", + "MaxUploads": "2", + "NextKeyMarker": "someobjectkey", + "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", + "UploadIdMarker": "", "Uploads": [ { "Initiated": "2014-05-01T05:40:58.000Z", "Initiator": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "display-name", - "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + "DisplayName": "mohanataws", + "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" }, { "Initiated": "2014-05-01T05:41:27.000Z", "Initiator": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" } ] }, @@ -1085,9 +1085,9 @@ "output": { } }, - "description": "The following example lists in-progress multipart uploads on a specific bucket.", - "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", - "title": "To list in-progress multipart uploads on a bucket" + "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", + "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", + "title": "List next set of multipart uploads when previous result is truncated" } ], "ListObjectVersions": [ @@ -1567,13 +1567,17 @@ "PutObject": [ { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1581,22 +1585,22 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { - "Body": "filetoupload", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", + "Key": "HappyFace.jpg", "ServerSideEncryption": "AES256", - "Tagging": "key1=value1&key2=value2" + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", "ServerSideEncryption": "AES256", - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1604,19 +1608,20 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", - "title": "To upload an object and specify server-side encryption and object tags" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" }, { "input": { - "Body": "filetoupload", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "objectkey" + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" }, "comments": { "input": { @@ -1624,23 +1629,19 @@ "output": { } }, - "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-create-an-object-1483147613675", - "title": "To create an object." + "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" }, { "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "objectkey" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" }, "comments": { "input": { @@ -1648,20 +1649,19 @@ "output": { } }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" + "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-create-an-object-1483147613675", + "title": "To create an object." }, { "input": { - "Body": "c:\\HappyFace.jpg", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "Tagging": "key1=value1&key2=value2" + "Key": "HappyFace.jpg" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" }, "comments": { "input": { @@ -1669,9 +1669,9 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", - "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", - "title": "To upload an object and specify optional tags" + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" }, { "input": { @@ -1696,16 +1696,16 @@ }, { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", + "Key": "exampleobject", "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" } ], "PutObjectAcl": [ @@ -1826,15 +1826,14 @@ "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", - "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "2", + "PartNumber": "1", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", - "LastModified": "2016-12-29T21:44:28.000Z" + "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", + "LastModified": "2016-12-29T21:24:43.000Z" } }, "comments": { @@ -1843,22 +1842,23 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", - "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", - "title": "To upload a part by copying byte range from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", + "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", + "title": "To upload a part by copying data from an existing object as data source" }, { "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", + "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "1", + "PartNumber": "2", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", - "LastModified": "2016-12-29T21:24:43.000Z" + "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", + "LastModified": "2016-12-29T21:44:28.000Z" } }, "comments": { @@ -1867,9 +1867,9 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", - "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", - "title": "To upload a part by copying data from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", + "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", + "title": "To upload a part by copying byte range from an existing object as data source" } ] } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 9c4cb58e22a..01340a41583 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -18807,6 +18807,7 @@ "deprecated" : true, "hostname" : "workspaces-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "sa-east-1" : { }, "us-east-1" : { "variants" : [ { diff --git a/service/cloudfront/api.go b/service/cloudfront/api.go index 8a4ec644549..6dc4e72ec8c 100644 --- a/service/cloudfront/api.go +++ b/service/cloudfront/api.go @@ -1935,6 +1935,101 @@ func (c *CloudFront) CreateKeyGroupWithContext(ctx aws.Context, input *CreateKey return out, req.Send() } +const opCreateKeyValueStore = "CreateKeyValueStore2020_05_31" + +// CreateKeyValueStoreRequest generates a "aws/request.Request" representing the +// client's request for the CreateKeyValueStore operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateKeyValueStore for more information on using the CreateKeyValueStore +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateKeyValueStoreRequest method. +// req, resp := client.CreateKeyValueStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateKeyValueStore +func (c *CloudFront) CreateKeyValueStoreRequest(input *CreateKeyValueStoreInput) (req *request.Request, output *CreateKeyValueStoreOutput) { + op := &request.Operation{ + Name: opCreateKeyValueStore, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/key-value-store/", + } + + if input == nil { + input = &CreateKeyValueStoreInput{} + } + + output = &CreateKeyValueStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateKeyValueStore API operation for Amazon CloudFront. +// +// Specifies the Key Value Store resource to add to your account. In your account, +// the Key Value Store names must be unique. You can also import Key Value Store +// data in JSON format from an S3 bucket by providing a valid ImportSource that +// you own. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation CreateKeyValueStore for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// - ErrCodeEntityLimitExceeded "EntityLimitExceeded" +// The Key Value Store entity limit has been exceeded. +// +// - ErrCodeEntityAlreadyExists "EntityAlreadyExists" +// The Key Value Store entity already exists. You must provide a unique Key +// Value Store entity. +// +// - ErrCodeEntitySizeLimitExceeded "EntitySizeLimitExceeded" +// The Key Value Store entity size limit was exceeded. +// +// - ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateKeyValueStore +func (c *CloudFront) CreateKeyValueStore(input *CreateKeyValueStoreInput) (*CreateKeyValueStoreOutput, error) { + req, out := c.CreateKeyValueStoreRequest(input) + return out, req.Send() +} + +// CreateKeyValueStoreWithContext is the same as CreateKeyValueStore with the addition of +// the ability to pass a context and additional request options. +// +// See CreateKeyValueStore for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) CreateKeyValueStoreWithContext(ctx aws.Context, input *CreateKeyValueStoreInput, opts ...request.Option) (*CreateKeyValueStoreOutput, error) { + req, out := c.CreateKeyValueStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateMonitoringSubscription = "CreateMonitoringSubscription2020_05_31" // CreateMonitoringSubscriptionRequest generates a "aws/request.Request" representing the @@ -3592,6 +3687,98 @@ func (c *CloudFront) DeleteKeyGroupWithContext(ctx aws.Context, input *DeleteKey return out, req.Send() } +const opDeleteKeyValueStore = "DeleteKeyValueStore2020_05_31" + +// DeleteKeyValueStoreRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKeyValueStore operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteKeyValueStore for more information on using the DeleteKeyValueStore +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteKeyValueStoreRequest method. +// req, resp := client.DeleteKeyValueStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteKeyValueStore +func (c *CloudFront) DeleteKeyValueStoreRequest(input *DeleteKeyValueStoreInput) (req *request.Request, output *DeleteKeyValueStoreOutput) { + op := &request.Operation{ + Name: opDeleteKeyValueStore, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/key-value-store/{Name}", + } + + if input == nil { + input = &DeleteKeyValueStoreInput{} + } + + output = &DeleteKeyValueStoreOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteKeyValueStore API operation for Amazon CloudFront. +// +// Specifies the Key Value Store to delete. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation DeleteKeyValueStore for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// - ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// - ErrCodeEntityNotFound "EntityNotFound" +// The Key Value Store entity was not found. +// +// - ErrCodeCannotDeleteEntityWhileInUse "CannotDeleteEntityWhileInUse" +// The Key Value Store entity cannot be deleted while it is in use. +// +// - ErrCodePreconditionFailed "PreconditionFailed" +// The precondition in one or more of the request fields evaluated to false. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteKeyValueStore +func (c *CloudFront) DeleteKeyValueStore(input *DeleteKeyValueStoreInput) (*DeleteKeyValueStoreOutput, error) { + req, out := c.DeleteKeyValueStoreRequest(input) + return out, req.Send() +} + +// DeleteKeyValueStoreWithContext is the same as DeleteKeyValueStore with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteKeyValueStore for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) DeleteKeyValueStoreWithContext(ctx aws.Context, input *DeleteKeyValueStoreInput, opts ...request.Option) (*DeleteKeyValueStoreOutput, error) { + req, out := c.DeleteKeyValueStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteMonitoringSubscription = "DeleteMonitoringSubscription2020_05_31" // DeleteMonitoringSubscriptionRequest generates a "aws/request.Request" representing the @@ -4391,6 +4578,91 @@ func (c *CloudFront) DescribeFunctionWithContext(ctx aws.Context, input *Describ return out, req.Send() } +const opDescribeKeyValueStore = "DescribeKeyValueStore2020_05_31" + +// DescribeKeyValueStoreRequest generates a "aws/request.Request" representing the +// client's request for the DescribeKeyValueStore operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeKeyValueStore for more information on using the DescribeKeyValueStore +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeKeyValueStoreRequest method. +// req, resp := client.DescribeKeyValueStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeKeyValueStore +func (c *CloudFront) DescribeKeyValueStoreRequest(input *DescribeKeyValueStoreInput) (req *request.Request, output *DescribeKeyValueStoreOutput) { + op := &request.Operation{ + Name: opDescribeKeyValueStore, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/key-value-store/{Name}", + } + + if input == nil { + input = &DescribeKeyValueStoreInput{} + } + + output = &DescribeKeyValueStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeKeyValueStore API operation for Amazon CloudFront. +// +// Specifies the Key Value Store and its configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation DescribeKeyValueStore for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// - ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// - ErrCodeEntityNotFound "EntityNotFound" +// The Key Value Store entity was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeKeyValueStore +func (c *CloudFront) DescribeKeyValueStore(input *DescribeKeyValueStoreInput) (*DescribeKeyValueStoreOutput, error) { + req, out := c.DescribeKeyValueStoreRequest(input) + return out, req.Send() +} + +// DescribeKeyValueStoreWithContext is the same as DescribeKeyValueStore with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeKeyValueStore for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) DescribeKeyValueStoreWithContext(ctx aws.Context, input *DescribeKeyValueStoreInput, opts ...request.Option) (*DescribeKeyValueStoreOutput, error) { + req, out := c.DescribeKeyValueStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetCachePolicy = "GetCachePolicy2020_05_31" // GetCachePolicyRequest generates a "aws/request.Request" representing the @@ -8340,6 +8612,145 @@ func (c *CloudFront) ListKeyGroupsWithContext(ctx aws.Context, input *ListKeyGro return out, req.Send() } +const opListKeyValueStores = "ListKeyValueStores2020_05_31" + +// ListKeyValueStoresRequest generates a "aws/request.Request" representing the +// client's request for the ListKeyValueStores operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListKeyValueStores for more information on using the ListKeyValueStores +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListKeyValueStoresRequest method. +// req, resp := client.ListKeyValueStoresRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListKeyValueStores +func (c *CloudFront) ListKeyValueStoresRequest(input *ListKeyValueStoresInput) (req *request.Request, output *ListKeyValueStoresOutput) { + op := &request.Operation{ + Name: opListKeyValueStores, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/key-value-store", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"KeyValueStoreList.NextMarker"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKeyValueStoresInput{} + } + + output = &ListKeyValueStoresOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKeyValueStores API operation for Amazon CloudFront. +// +// Specifies the Key Value Stores to list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation ListKeyValueStores for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// - ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListKeyValueStores +func (c *CloudFront) ListKeyValueStores(input *ListKeyValueStoresInput) (*ListKeyValueStoresOutput, error) { + req, out := c.ListKeyValueStoresRequest(input) + return out, req.Send() +} + +// ListKeyValueStoresWithContext is the same as ListKeyValueStores with the addition of +// the ability to pass a context and additional request options. +// +// See ListKeyValueStores for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListKeyValueStoresWithContext(ctx aws.Context, input *ListKeyValueStoresInput, opts ...request.Option) (*ListKeyValueStoresOutput, error) { + req, out := c.ListKeyValueStoresRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKeyValueStoresPages iterates over the pages of a ListKeyValueStores operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKeyValueStores method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListKeyValueStores operation. +// pageNum := 0 +// err := client.ListKeyValueStoresPages(params, +// func(page *cloudfront.ListKeyValueStoresOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFront) ListKeyValueStoresPages(input *ListKeyValueStoresInput, fn func(*ListKeyValueStoresOutput, bool) bool) error { + return c.ListKeyValueStoresPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKeyValueStoresPagesWithContext same as ListKeyValueStoresPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListKeyValueStoresPagesWithContext(ctx aws.Context, input *ListKeyValueStoresInput, fn func(*ListKeyValueStoresOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKeyValueStoresInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKeyValueStoresRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKeyValueStoresOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListOriginAccessControls = "ListOriginAccessControls2020_05_31" // ListOriginAccessControlsRequest generates a "aws/request.Request" representing the @@ -10819,6 +11230,97 @@ func (c *CloudFront) UpdateKeyGroupWithContext(ctx aws.Context, input *UpdateKey return out, req.Send() } +const opUpdateKeyValueStore = "UpdateKeyValueStore2020_05_31" + +// UpdateKeyValueStoreRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKeyValueStore operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateKeyValueStore for more information on using the UpdateKeyValueStore +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateKeyValueStoreRequest method. +// req, resp := client.UpdateKeyValueStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateKeyValueStore +func (c *CloudFront) UpdateKeyValueStoreRequest(input *UpdateKeyValueStoreInput) (req *request.Request, output *UpdateKeyValueStoreOutput) { + op := &request.Operation{ + Name: opUpdateKeyValueStore, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/key-value-store/{Name}", + } + + if input == nil { + input = &UpdateKeyValueStoreInput{} + } + + output = &UpdateKeyValueStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateKeyValueStore API operation for Amazon CloudFront. +// +// Specifies the Key Value Store to update. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation UpdateKeyValueStore for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// - ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// - ErrCodeEntityNotFound "EntityNotFound" +// The Key Value Store entity was not found. +// +// - ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// - ErrCodePreconditionFailed "PreconditionFailed" +// The precondition in one or more of the request fields evaluated to false. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateKeyValueStore +func (c *CloudFront) UpdateKeyValueStore(input *UpdateKeyValueStoreInput) (*UpdateKeyValueStoreOutput, error) { + req, out := c.UpdateKeyValueStoreRequest(input) + return out, req.Send() +} + +// UpdateKeyValueStoreWithContext is the same as UpdateKeyValueStore with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKeyValueStore for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) UpdateKeyValueStoreWithContext(ctx aws.Context, input *UpdateKeyValueStoreInput, opts ...request.Option) (*UpdateKeyValueStoreOutput, error) { + req, out := c.UpdateKeyValueStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateOriginAccessControl = "UpdateOriginAccessControl2020_05_31" // UpdateOriginAccessControlRequest generates a "aws/request.Request" representing the @@ -15153,6 +15655,128 @@ func (s *CreateKeyGroupOutput) SetLocation(v string) *CreateKeyGroupOutput { return s } +type CreateKeyValueStoreInput struct { + _ struct{} `locationName:"CreateKeyValueStoreRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The comment of the Key Value Store. + Comment *string `type:"string"` + + // The S3 bucket that provides the source for the import. The source must be + // in a valid JSON format. + ImportSource *ImportSource `type:"structure"` + + // The name of the Key Value Store. The maximum length of the name is 32 characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyValueStoreInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyValueStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKeyValueStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKeyValueStoreInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ImportSource != nil { + if err := s.ImportSource.Validate(); err != nil { + invalidParams.AddNested("ImportSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *CreateKeyValueStoreInput) SetComment(v string) *CreateKeyValueStoreInput { + s.Comment = &v + return s +} + +// SetImportSource sets the ImportSource field's value. +func (s *CreateKeyValueStoreInput) SetImportSource(v *ImportSource) *CreateKeyValueStoreInput { + s.ImportSource = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateKeyValueStoreInput) SetName(v string) *CreateKeyValueStoreInput { + s.Name = &v + return s +} + +type CreateKeyValueStoreOutput struct { + _ struct{} `type:"structure" payload:"KeyValueStore"` + + // The ETag in the resulting Key Value Store. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The resulting Key Value Store. + KeyValueStore *KeyValueStore `type:"structure"` + + // The location of the resulting Key Value Store. + Location *string `location:"header" locationName:"Location" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyValueStoreOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyValueStoreOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *CreateKeyValueStoreOutput) SetETag(v string) *CreateKeyValueStoreOutput { + s.ETag = &v + return s +} + +// SetKeyValueStore sets the KeyValueStore field's value. +func (s *CreateKeyValueStoreOutput) SetKeyValueStore(v *KeyValueStore) *CreateKeyValueStoreOutput { + s.KeyValueStore = v + return s +} + +// SetLocation sets the Location field's value. +func (s *CreateKeyValueStoreOutput) SetLocation(v string) *CreateKeyValueStoreOutput { + s.Location = &v + return s +} + type CreateMonitoringSubscriptionInput struct { _ struct{} `locationName:"CreateMonitoringSubscriptionRequest" type:"structure" payload:"MonitoringSubscription"` @@ -17487,6 +18111,91 @@ func (s DeleteKeyGroupOutput) GoString() string { return s.String() } +type DeleteKeyValueStoreInput struct { + _ struct{} `locationName:"DeleteKeyValueStoreRequest" type:"structure"` + + // The Key Value Store to delete, if a match occurs. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The name of the Key Value Store. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyValueStoreInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyValueStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKeyValueStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKeyValueStoreInput"} + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteKeyValueStoreInput) SetIfMatch(v string) *DeleteKeyValueStoreInput { + s.IfMatch = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteKeyValueStoreInput) SetName(v string) *DeleteKeyValueStoreInput { + s.Name = &v + return s +} + +type DeleteKeyValueStoreOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyValueStoreOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyValueStoreOutput) GoString() string { + return s.String() +} + type DeleteMonitoringSubscriptionInput struct { _ struct{} `locationName:"DeleteMonitoringSubscriptionRequest" type:"structure"` @@ -18130,6 +18839,95 @@ func (s *DescribeFunctionOutput) SetFunctionSummary(v *FunctionSummary) *Describ return s } +type DescribeKeyValueStoreInput struct { + _ struct{} `locationName:"DescribeKeyValueStoreRequest" type:"structure"` + + // The name of the Key Value Store. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeKeyValueStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeKeyValueStoreInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DescribeKeyValueStoreInput) SetName(v string) *DescribeKeyValueStoreInput { + s.Name = &v + return s +} + +type DescribeKeyValueStoreOutput struct { + _ struct{} `type:"structure" payload:"KeyValueStore"` + + // The ETag of the resulting Key Value Store. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The resulting Key Value Store. + KeyValueStore *KeyValueStore `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *DescribeKeyValueStoreOutput) SetETag(v string) *DescribeKeyValueStoreOutput { + s.ETag = &v + return s +} + +// SetKeyValueStore sets the KeyValueStore field's value. +func (s *DescribeKeyValueStoreOutput) SetKeyValueStore(v *KeyValueStore) *DescribeKeyValueStoreOutput { + s.KeyValueStore = v + return s +} + // A distribution tells CloudFront where you want content to be delivered from, // and the details about how to track and manage content delivery. type Distribution struct { @@ -19558,7 +20356,7 @@ func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfile return s } -// List of field-level encrpytion configurations. +// List of field-level encryption configurations. type FieldLevelEncryptionList struct { _ struct{} `type:"structure"` @@ -19860,7 +20658,7 @@ type FieldLevelEncryptionProfileSummary struct { // Id is a required field Id *string `type:"string" required:"true"` - // The time when the the field-level encryption profile summary was last updated. + // The time when the field-level encryption profile summary was last updated. // // LastModifiedTime is a required field LastModifiedTime *time.Time `type:"timestamp" required:"true"` @@ -20380,7 +21178,10 @@ type FunctionConfig struct { // Comment is a required field Comment *string `type:"string" required:"true"` - // The function's runtime environment verion. + // The configuration for the Key Value Store associations. + KeyValueStoreAssociations *KeyValueStoreAssociations `type:"structure"` + + // The function's runtime environment version. // // Runtime is a required field Runtime *string `type:"string" required:"true" enum:"FunctionRuntime"` @@ -20413,6 +21214,11 @@ func (s *FunctionConfig) Validate() error { if s.Runtime == nil { invalidParams.Add(request.NewErrParamRequired("Runtime")) } + if s.KeyValueStoreAssociations != nil { + if err := s.KeyValueStoreAssociations.Validate(); err != nil { + invalidParams.AddNested("KeyValueStoreAssociations", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -20426,6 +21232,12 @@ func (s *FunctionConfig) SetComment(v string) *FunctionConfig { return s } +// SetKeyValueStoreAssociations sets the KeyValueStoreAssociations field's value. +func (s *FunctionConfig) SetKeyValueStoreAssociations(v *KeyValueStoreAssociations) *FunctionConfig { + s.KeyValueStoreAssociations = v + return s +} + // SetRuntime sets the Runtime field's value. func (s *FunctionConfig) SetRuntime(v string) *FunctionConfig { s.Runtime = &v @@ -23331,6 +24143,67 @@ func (s *Headers) SetQuantity(v int64) *Headers { return s } +// The import source for the Key Value Store. +type ImportSource struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the import source for the Key Value Store. + // + // SourceARN is a required field + SourceARN *string `type:"string" required:"true"` + + // The source type of the import source for the Key Value Store. + // + // SourceType is a required field + SourceType *string `type:"string" required:"true" enum:"ImportSourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportSource"} + if s.SourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("SourceARN")) + } + if s.SourceType == nil { + invalidParams.Add(request.NewErrParamRequired("SourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceARN sets the SourceARN field's value. +func (s *ImportSource) SetSourceARN(v string) *ImportSource { + s.SourceARN = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *ImportSource) SetSourceType(v string) *ImportSource { + s.SourceType = &v + return s +} + // An invalidation. type Invalidation struct { _ struct{} `type:"structure"` @@ -23950,6 +24823,271 @@ func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { return s } +// The Key Value Store. Use this to separate data from function code, allowing +// you to update data without having to publish a new version of a function. +// The Key Value Store holds keys and their corresponding values. +type KeyValueStore struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + + // A comment for the Key Value Store. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` + + // The unique Id for the Key Value Store. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The last-modified time of the Key Value Store. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The name of the Key Value Store. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The status of the Key Value Store. + Status *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStore) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStore) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *KeyValueStore) SetARN(v string) *KeyValueStore { + s.ARN = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *KeyValueStore) SetComment(v string) *KeyValueStore { + s.Comment = &v + return s +} + +// SetId sets the Id field's value. +func (s *KeyValueStore) SetId(v string) *KeyValueStore { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *KeyValueStore) SetLastModifiedTime(v time.Time) *KeyValueStore { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *KeyValueStore) SetName(v string) *KeyValueStore { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *KeyValueStore) SetStatus(v string) *KeyValueStore { + s.Status = &v + return s +} + +// The Key Value Store association. +type KeyValueStoreAssociation struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Key Value Store association. + // + // KeyValueStoreARN is a required field + KeyValueStoreARN *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStoreAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStoreAssociation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KeyValueStoreAssociation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyValueStoreAssociation"} + if s.KeyValueStoreARN == nil { + invalidParams.Add(request.NewErrParamRequired("KeyValueStoreARN")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyValueStoreARN sets the KeyValueStoreARN field's value. +func (s *KeyValueStoreAssociation) SetKeyValueStoreARN(v string) *KeyValueStoreAssociation { + s.KeyValueStoreARN = &v + return s +} + +// The Key Value Store associations. +type KeyValueStoreAssociations struct { + _ struct{} `type:"structure"` + + // The items of the Key Value Store association. + Items []*KeyValueStoreAssociation `locationNameList:"KeyValueStoreAssociation" type:"list"` + + // The quantity of Key Value Store associations. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStoreAssociations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStoreAssociations) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KeyValueStoreAssociations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyValueStoreAssociations"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *KeyValueStoreAssociations) SetItems(v []*KeyValueStoreAssociation) *KeyValueStoreAssociations { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *KeyValueStoreAssociations) SetQuantity(v int64) *KeyValueStoreAssociations { + s.Quantity = &v + return s +} + +// The Key Value Store list. +type KeyValueStoreList struct { + _ struct{} `type:"structure"` + + // The items of the Key Value Store list. + Items []*KeyValueStore `locationNameList:"KeyValueStore" type:"list"` + + // The maximum number of items in the Key Value Store list. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // The next marker associated with the Key Value Store list. + NextMarker *string `type:"string"` + + // The quantity of the Key Value Store list. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStoreList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyValueStoreList) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *KeyValueStoreList) SetItems(v []*KeyValueStore) *KeyValueStoreList { + s.Items = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *KeyValueStoreList) SetMaxItems(v int64) *KeyValueStoreList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *KeyValueStoreList) SetNextMarker(v string) *KeyValueStoreList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *KeyValueStoreList) SetQuantity(v int64) *KeyValueStoreList { + s.Quantity = &v + return s +} + // Contains information about the Amazon Kinesis data stream where you are sending // real-time log data. type KinesisStreamConfig struct { @@ -25649,6 +26787,86 @@ func (s *ListKeyGroupsOutput) SetKeyGroupList(v *KeyGroupList) *ListKeyGroupsOut return s } +type ListKeyValueStoresInput struct { + _ struct{} `locationName:"ListKeyValueStoresRequest" type:"structure"` + + // The marker associated with the Key Value Stores list. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of items in the Key Value Stores list. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // The status of the request for the Key Value Stores list. + Status *string `location:"querystring" locationName:"Status" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyValueStoresInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyValueStoresInput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListKeyValueStoresInput) SetMarker(v string) *ListKeyValueStoresInput { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListKeyValueStoresInput) SetMaxItems(v int64) *ListKeyValueStoresInput { + s.MaxItems = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListKeyValueStoresInput) SetStatus(v string) *ListKeyValueStoresInput { + s.Status = &v + return s +} + +type ListKeyValueStoresOutput struct { + _ struct{} `type:"structure" payload:"KeyValueStoreList"` + + // The resulting Key Value Stores list. + KeyValueStoreList *KeyValueStoreList `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyValueStoresOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyValueStoresOutput) GoString() string { + return s.String() +} + +// SetKeyValueStoreList sets the KeyValueStoreList field's value. +func (s *ListKeyValueStoresOutput) SetKeyValueStoreList(v *KeyValueStoreList) *ListKeyValueStoresOutput { + s.KeyValueStoreList = v + return s +} + type ListOriginAccessControlsInput struct { _ struct{} `locationName:"ListOriginAccessControlsRequest" type:"structure"` @@ -26370,9 +27588,9 @@ func (s *MonitoringSubscription) SetRealtimeMetricsSubscriptionConfig(v *Realtim // // - Use CustomOriginConfig to specify all other kinds of origins, including: // An Amazon S3 bucket that is configured with static website hosting An -// Elastic Load Balancing load balancer An AWS Elemental MediaPackage endpoint -// An AWS Elemental MediaStore container Any other HTTP server, running on -// an Amazon EC2 instance or any other kind of host +// Elastic Load Balancing load balancer An Elemental MediaPackage endpoint +// An Elemental MediaStore container Any other HTTP server, running on an +// Amazon EC2 instance or any other kind of host // // For the current maximum number of origins that you can specify per distribution, // see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) @@ -27291,7 +28509,7 @@ func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { // An origin group includes two origins (a primary origin and a second origin // to failover to) and a failover criteria that you specify. You create an origin // group to support origin failover in CloudFront. When you create or update -// a distribution, you can specifiy the origin group instead of a single origin, +// a distribution, you can specify the origin group instead of a single origin, // and CloudFront will failover from the primary origin to the second origin // under the failover conditions that you've chosen. type OriginGroup struct { @@ -34281,6 +35499,123 @@ func (s *UpdateKeyGroupOutput) SetKeyGroup(v *KeyGroup) *UpdateKeyGroupOutput { return s } +type UpdateKeyValueStoreInput struct { + _ struct{} `locationName:"UpdateKeyValueStoreRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The comment of the Key Value Store to update. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` + + // The Key Value Store to update, if a match occurs. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The name of the Key Value Store to update. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeyValueStoreInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeyValueStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateKeyValueStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKeyValueStoreInput"} + if s.Comment == nil { + invalidParams.Add(request.NewErrParamRequired("Comment")) + } + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *UpdateKeyValueStoreInput) SetComment(v string) *UpdateKeyValueStoreInput { + s.Comment = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateKeyValueStoreInput) SetIfMatch(v string) *UpdateKeyValueStoreInput { + s.IfMatch = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateKeyValueStoreInput) SetName(v string) *UpdateKeyValueStoreInput { + s.Name = &v + return s +} + +type UpdateKeyValueStoreOutput struct { + _ struct{} `type:"structure" payload:"KeyValueStore"` + + // The ETag of the resulting Key Value Store. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The resulting Key Value Store to update. + KeyValueStore *KeyValueStore `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeyValueStoreOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeyValueStoreOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *UpdateKeyValueStoreOutput) SetETag(v string) *UpdateKeyValueStoreOutput { + s.ETag = &v + return s +} + +// SetKeyValueStore sets the KeyValueStore field's value. +func (s *UpdateKeyValueStoreOutput) SetKeyValueStore(v *KeyValueStore) *UpdateKeyValueStoreOutput { + s.KeyValueStore = v + return s +} + type UpdateOriginAccessControlInput struct { _ struct{} `locationName:"UpdateOriginAccessControlRequest" type:"structure" payload:"OriginAccessControlConfig"` @@ -35467,6 +36802,18 @@ func ICPRecordalStatus_Values() []string { } } +const ( + // ImportSourceTypeS3 is a ImportSourceType enum value + ImportSourceTypeS3 = "S3" +) + +// ImportSourceType_Values returns all elements of the ImportSourceType enum +func ImportSourceType_Values() []string { + return []string{ + ImportSourceTypeS3, + } +} + const ( // ItemSelectionNone is a ItemSelection enum value ItemSelectionNone = "none" diff --git a/service/cloudfront/cloudfrontiface/interface.go b/service/cloudfront/cloudfrontiface/interface.go index e47ad929a84..662efd162ee 100644 --- a/service/cloudfront/cloudfrontiface/interface.go +++ b/service/cloudfront/cloudfrontiface/interface.go @@ -108,6 +108,10 @@ type CloudFrontAPI interface { CreateKeyGroupWithContext(aws.Context, *cloudfront.CreateKeyGroupInput, ...request.Option) (*cloudfront.CreateKeyGroupOutput, error) CreateKeyGroupRequest(*cloudfront.CreateKeyGroupInput) (*request.Request, *cloudfront.CreateKeyGroupOutput) + CreateKeyValueStore(*cloudfront.CreateKeyValueStoreInput) (*cloudfront.CreateKeyValueStoreOutput, error) + CreateKeyValueStoreWithContext(aws.Context, *cloudfront.CreateKeyValueStoreInput, ...request.Option) (*cloudfront.CreateKeyValueStoreOutput, error) + CreateKeyValueStoreRequest(*cloudfront.CreateKeyValueStoreInput) (*request.Request, *cloudfront.CreateKeyValueStoreOutput) + CreateMonitoringSubscription(*cloudfront.CreateMonitoringSubscriptionInput) (*cloudfront.CreateMonitoringSubscriptionOutput, error) CreateMonitoringSubscriptionWithContext(aws.Context, *cloudfront.CreateMonitoringSubscriptionInput, ...request.Option) (*cloudfront.CreateMonitoringSubscriptionOutput, error) CreateMonitoringSubscriptionRequest(*cloudfront.CreateMonitoringSubscriptionInput) (*request.Request, *cloudfront.CreateMonitoringSubscriptionOutput) @@ -172,6 +176,10 @@ type CloudFrontAPI interface { DeleteKeyGroupWithContext(aws.Context, *cloudfront.DeleteKeyGroupInput, ...request.Option) (*cloudfront.DeleteKeyGroupOutput, error) DeleteKeyGroupRequest(*cloudfront.DeleteKeyGroupInput) (*request.Request, *cloudfront.DeleteKeyGroupOutput) + DeleteKeyValueStore(*cloudfront.DeleteKeyValueStoreInput) (*cloudfront.DeleteKeyValueStoreOutput, error) + DeleteKeyValueStoreWithContext(aws.Context, *cloudfront.DeleteKeyValueStoreInput, ...request.Option) (*cloudfront.DeleteKeyValueStoreOutput, error) + DeleteKeyValueStoreRequest(*cloudfront.DeleteKeyValueStoreInput) (*request.Request, *cloudfront.DeleteKeyValueStoreOutput) + DeleteMonitoringSubscription(*cloudfront.DeleteMonitoringSubscriptionInput) (*cloudfront.DeleteMonitoringSubscriptionOutput, error) DeleteMonitoringSubscriptionWithContext(aws.Context, *cloudfront.DeleteMonitoringSubscriptionInput, ...request.Option) (*cloudfront.DeleteMonitoringSubscriptionOutput, error) DeleteMonitoringSubscriptionRequest(*cloudfront.DeleteMonitoringSubscriptionInput) (*request.Request, *cloudfront.DeleteMonitoringSubscriptionOutput) @@ -204,6 +212,10 @@ type CloudFrontAPI interface { DescribeFunctionWithContext(aws.Context, *cloudfront.DescribeFunctionInput, ...request.Option) (*cloudfront.DescribeFunctionOutput, error) DescribeFunctionRequest(*cloudfront.DescribeFunctionInput) (*request.Request, *cloudfront.DescribeFunctionOutput) + DescribeKeyValueStore(*cloudfront.DescribeKeyValueStoreInput) (*cloudfront.DescribeKeyValueStoreOutput, error) + DescribeKeyValueStoreWithContext(aws.Context, *cloudfront.DescribeKeyValueStoreInput, ...request.Option) (*cloudfront.DescribeKeyValueStoreOutput, error) + DescribeKeyValueStoreRequest(*cloudfront.DescribeKeyValueStoreInput) (*request.Request, *cloudfront.DescribeKeyValueStoreOutput) + GetCachePolicy(*cloudfront.GetCachePolicyInput) (*cloudfront.GetCachePolicyOutput, error) GetCachePolicyWithContext(aws.Context, *cloudfront.GetCachePolicyInput, ...request.Option) (*cloudfront.GetCachePolicyOutput, error) GetCachePolicyRequest(*cloudfront.GetCachePolicyInput) (*request.Request, *cloudfront.GetCachePolicyOutput) @@ -389,6 +401,13 @@ type CloudFrontAPI interface { ListKeyGroupsWithContext(aws.Context, *cloudfront.ListKeyGroupsInput, ...request.Option) (*cloudfront.ListKeyGroupsOutput, error) ListKeyGroupsRequest(*cloudfront.ListKeyGroupsInput) (*request.Request, *cloudfront.ListKeyGroupsOutput) + ListKeyValueStores(*cloudfront.ListKeyValueStoresInput) (*cloudfront.ListKeyValueStoresOutput, error) + ListKeyValueStoresWithContext(aws.Context, *cloudfront.ListKeyValueStoresInput, ...request.Option) (*cloudfront.ListKeyValueStoresOutput, error) + ListKeyValueStoresRequest(*cloudfront.ListKeyValueStoresInput) (*request.Request, *cloudfront.ListKeyValueStoresOutput) + + ListKeyValueStoresPages(*cloudfront.ListKeyValueStoresInput, func(*cloudfront.ListKeyValueStoresOutput, bool) bool) error + ListKeyValueStoresPagesWithContext(aws.Context, *cloudfront.ListKeyValueStoresInput, func(*cloudfront.ListKeyValueStoresOutput, bool) bool, ...request.Option) error + ListOriginAccessControls(*cloudfront.ListOriginAccessControlsInput) (*cloudfront.ListOriginAccessControlsOutput, error) ListOriginAccessControlsWithContext(aws.Context, *cloudfront.ListOriginAccessControlsInput, ...request.Option) (*cloudfront.ListOriginAccessControlsOutput, error) ListOriginAccessControlsRequest(*cloudfront.ListOriginAccessControlsInput) (*request.Request, *cloudfront.ListOriginAccessControlsOutput) @@ -472,6 +491,10 @@ type CloudFrontAPI interface { UpdateKeyGroupWithContext(aws.Context, *cloudfront.UpdateKeyGroupInput, ...request.Option) (*cloudfront.UpdateKeyGroupOutput, error) UpdateKeyGroupRequest(*cloudfront.UpdateKeyGroupInput) (*request.Request, *cloudfront.UpdateKeyGroupOutput) + UpdateKeyValueStore(*cloudfront.UpdateKeyValueStoreInput) (*cloudfront.UpdateKeyValueStoreOutput, error) + UpdateKeyValueStoreWithContext(aws.Context, *cloudfront.UpdateKeyValueStoreInput, ...request.Option) (*cloudfront.UpdateKeyValueStoreOutput, error) + UpdateKeyValueStoreRequest(*cloudfront.UpdateKeyValueStoreInput) (*request.Request, *cloudfront.UpdateKeyValueStoreOutput) + UpdateOriginAccessControl(*cloudfront.UpdateOriginAccessControlInput) (*cloudfront.UpdateOriginAccessControlOutput, error) UpdateOriginAccessControlWithContext(aws.Context, *cloudfront.UpdateOriginAccessControlInput, ...request.Option) (*cloudfront.UpdateOriginAccessControlOutput, error) UpdateOriginAccessControlRequest(*cloudfront.UpdateOriginAccessControlInput) (*request.Request, *cloudfront.UpdateOriginAccessControlOutput) diff --git a/service/cloudfront/errors.go b/service/cloudfront/errors.go index 31419dddd57..4a78b75da6e 100644 --- a/service/cloudfront/errors.go +++ b/service/cloudfront/errors.go @@ -42,6 +42,12 @@ const ( // You can't change the value of a public key. ErrCodeCannotChangeImmutablePublicKeyFields = "CannotChangeImmutablePublicKeyFields" + // ErrCodeCannotDeleteEntityWhileInUse for service response error code + // "CannotDeleteEntityWhileInUse". + // + // The Key Value Store entity cannot be deleted while it is in use. + ErrCodeCannotDeleteEntityWhileInUse = "CannotDeleteEntityWhileInUse" + // ErrCodeContinuousDeploymentPolicyAlreadyExists for service response error code // "ContinuousDeploymentPolicyAlreadyExists". // @@ -69,6 +75,31 @@ const ( // distribution before you can delete it. ErrCodeDistributionNotDisabled = "DistributionNotDisabled" + // ErrCodeEntityAlreadyExists for service response error code + // "EntityAlreadyExists". + // + // The Key Value Store entity already exists. You must provide a unique Key + // Value Store entity. + ErrCodeEntityAlreadyExists = "EntityAlreadyExists" + + // ErrCodeEntityLimitExceeded for service response error code + // "EntityLimitExceeded". + // + // The Key Value Store entity limit has been exceeded. + ErrCodeEntityLimitExceeded = "EntityLimitExceeded" + + // ErrCodeEntityNotFound for service response error code + // "EntityNotFound". + // + // The Key Value Store entity was not found. + ErrCodeEntityNotFound = "EntityNotFound" + + // ErrCodeEntitySizeLimitExceeded for service response error code + // "EntitySizeLimitExceeded". + // + // The Key Value Store entity size limit was exceeded. + ErrCodeEntitySizeLimitExceeded = "EntitySizeLimitExceeded" + // ErrCodeFieldLevelEncryptionConfigAlreadyExists for service response error code // "FieldLevelEncryptionConfigAlreadyExists". // diff --git a/service/cloudfront/examples_test.go b/service/cloudfront/examples_test.go index 3de8c925702..f5d3278b6da 100644 --- a/service/cloudfront/examples_test.go +++ b/service/cloudfront/examples_test.go @@ -25,236 +25,41 @@ func parseTime(layout, value string) *time.Time { return &t } -// - -func ExampleCloudFront_CreateCloudFrontOriginAccessIdentity_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.CreateCloudFrontOriginAccessIdentityInput{} - - result, err := svc.CreateCloudFrontOriginAccessIdentity(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeOriginAccessIdentityAlreadyExists: - fmt.Println(cloudfront.ErrCodeOriginAccessIdentityAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeTooManyCloudFrontOriginAccessIdentities: - fmt.Println(cloudfront.ErrCodeTooManyCloudFrontOriginAccessIdentities, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_CreateDistribution_shared00() { +// To create a function +// Use the following command to create a function. +func ExampleCloudFront_CreateFunction_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.CreateDistributionInput{} - - result, err := svc.CreateDistribution(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeCNAMEAlreadyExists: - fmt.Println(cloudfront.ErrCodeCNAMEAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeDistributionAlreadyExists: - fmt.Println(cloudfront.ErrCodeDistributionAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeInvalidOrigin: - fmt.Println(cloudfront.ErrCodeInvalidOrigin, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeInvalidOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeTooManyTrustedSigners: - fmt.Println(cloudfront.ErrCodeTooManyTrustedSigners, aerr.Error()) - case cloudfront.ErrCodeTrustedSignerDoesNotExist: - fmt.Println(cloudfront.ErrCodeTrustedSignerDoesNotExist, aerr.Error()) - case cloudfront.ErrCodeInvalidViewerCertificate: - fmt.Println(cloudfront.ErrCodeInvalidViewerCertificate, aerr.Error()) - case cloudfront.ErrCodeInvalidMinimumProtocolVersion: - fmt.Println(cloudfront.ErrCodeInvalidMinimumProtocolVersion, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributionCNAMEs: - fmt.Println(cloudfront.ErrCodeTooManyDistributionCNAMEs, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributions: - fmt.Println(cloudfront.ErrCodeTooManyDistributions, aerr.Error()) - case cloudfront.ErrCodeInvalidDefaultRootObject: - fmt.Println(cloudfront.ErrCodeInvalidDefaultRootObject, aerr.Error()) - case cloudfront.ErrCodeInvalidRelativePath: - fmt.Println(cloudfront.ErrCodeInvalidRelativePath, aerr.Error()) - case cloudfront.ErrCodeInvalidErrorCode: - fmt.Println(cloudfront.ErrCodeInvalidErrorCode, aerr.Error()) - case cloudfront.ErrCodeInvalidResponseCode: - fmt.Println(cloudfront.ErrCodeInvalidResponseCode, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidRequiredProtocol: - fmt.Println(cloudfront.ErrCodeInvalidRequiredProtocol, aerr.Error()) - case cloudfront.ErrCodeNoSuchOrigin: - fmt.Println(cloudfront.ErrCodeNoSuchOrigin, aerr.Error()) - case cloudfront.ErrCodeTooManyOrigins: - fmt.Println(cloudfront.ErrCodeTooManyOrigins, aerr.Error()) - case cloudfront.ErrCodeTooManyCacheBehaviors: - fmt.Println(cloudfront.ErrCodeTooManyCacheBehaviors, aerr.Error()) - case cloudfront.ErrCodeTooManyCookieNamesInWhiteList: - fmt.Println(cloudfront.ErrCodeTooManyCookieNamesInWhiteList, aerr.Error()) - case cloudfront.ErrCodeInvalidForwardCookies: - fmt.Println(cloudfront.ErrCodeInvalidForwardCookies, aerr.Error()) - case cloudfront.ErrCodeTooManyHeadersInForwardedValues: - fmt.Println(cloudfront.ErrCodeTooManyHeadersInForwardedValues, aerr.Error()) - case cloudfront.ErrCodeInvalidHeadersForS3Origin: - fmt.Println(cloudfront.ErrCodeInvalidHeadersForS3Origin, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) - case cloudfront.ErrCodeTooManyCertificates: - fmt.Println(cloudfront.ErrCodeTooManyCertificates, aerr.Error()) - case cloudfront.ErrCodeInvalidLocationCode: - fmt.Println(cloudfront.ErrCodeInvalidLocationCode, aerr.Error()) - case cloudfront.ErrCodeInvalidGeoRestrictionParameter: - fmt.Println(cloudfront.ErrCodeInvalidGeoRestrictionParameter, aerr.Error()) - case cloudfront.ErrCodeInvalidProtocolSettings: - fmt.Println(cloudfront.ErrCodeInvalidProtocolSettings, aerr.Error()) - case cloudfront.ErrCodeInvalidTTLOrder: - fmt.Println(cloudfront.ErrCodeInvalidTTLOrder, aerr.Error()) - case cloudfront.ErrCodeInvalidWebACLId: - fmt.Println(cloudfront.ErrCodeInvalidWebACLId, aerr.Error()) - case cloudfront.ErrCodeTooManyOriginCustomHeaders: - fmt.Println(cloudfront.ErrCodeTooManyOriginCustomHeaders, aerr.Error()) - case cloudfront.ErrCodeTooManyQueryStringParameters: - fmt.Println(cloudfront.ErrCodeTooManyQueryStringParameters, aerr.Error()) - case cloudfront.ErrCodeInvalidQueryStringParameters: - fmt.Println(cloudfront.ErrCodeInvalidQueryStringParameters, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributionsWithLambdaAssociations: - fmt.Println(cloudfront.ErrCodeTooManyDistributionsWithLambdaAssociations, aerr.Error()) - case cloudfront.ErrCodeTooManyLambdaFunctionAssociations: - fmt.Println(cloudfront.ErrCodeTooManyLambdaFunctionAssociations, aerr.Error()) - case cloudfront.ErrCodeInvalidLambdaFunctionAssociation: - fmt.Println(cloudfront.ErrCodeInvalidLambdaFunctionAssociation, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginReadTimeout: - fmt.Println(cloudfront.ErrCodeInvalidOriginReadTimeout, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginKeepaliveTimeout: - fmt.Println(cloudfront.ErrCodeInvalidOriginKeepaliveTimeout, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return + input := &cloudfront.CreateFunctionInput{ + FunctionCode: []byte("function-code.js"), + FunctionConfig: &cloudfront.FunctionConfig{ + Comment: aws.String("my-function-comment"), + KeyValueStoreAssociations: &cloudfront.KeyValueStoreAssociations{ + Items: []*cloudfront.KeyValueStoreAssociation{ + { + KeyValueStoreARN: aws.String("arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889"), + }, + }, + Quantity: aws.Int64(1), + }, + Runtime: aws.String("cloudfront-js-2.0"), + }, + Name: aws.String("my-function-name"), } - fmt.Println(result) -} - -// - -func ExampleCloudFront_CreateDistributionWithTags_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.CreateDistributionWithTagsInput{} - - result, err := svc.CreateDistributionWithTags(input) + result, err := svc.CreateFunction(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case cloudfront.ErrCodeCNAMEAlreadyExists: - fmt.Println(cloudfront.ErrCodeCNAMEAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeDistributionAlreadyExists: - fmt.Println(cloudfront.ErrCodeDistributionAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeInvalidOrigin: - fmt.Println(cloudfront.ErrCodeInvalidOrigin, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeInvalidOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeTooManyTrustedSigners: - fmt.Println(cloudfront.ErrCodeTooManyTrustedSigners, aerr.Error()) - case cloudfront.ErrCodeTrustedSignerDoesNotExist: - fmt.Println(cloudfront.ErrCodeTrustedSignerDoesNotExist, aerr.Error()) - case cloudfront.ErrCodeInvalidViewerCertificate: - fmt.Println(cloudfront.ErrCodeInvalidViewerCertificate, aerr.Error()) - case cloudfront.ErrCodeInvalidMinimumProtocolVersion: - fmt.Println(cloudfront.ErrCodeInvalidMinimumProtocolVersion, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributionCNAMEs: - fmt.Println(cloudfront.ErrCodeTooManyDistributionCNAMEs, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributions: - fmt.Println(cloudfront.ErrCodeTooManyDistributions, aerr.Error()) - case cloudfront.ErrCodeInvalidDefaultRootObject: - fmt.Println(cloudfront.ErrCodeInvalidDefaultRootObject, aerr.Error()) - case cloudfront.ErrCodeInvalidRelativePath: - fmt.Println(cloudfront.ErrCodeInvalidRelativePath, aerr.Error()) - case cloudfront.ErrCodeInvalidErrorCode: - fmt.Println(cloudfront.ErrCodeInvalidErrorCode, aerr.Error()) - case cloudfront.ErrCodeInvalidResponseCode: - fmt.Println(cloudfront.ErrCodeInvalidResponseCode, aerr.Error()) + case cloudfront.ErrCodeTooManyFunctions: + fmt.Println(cloudfront.ErrCodeTooManyFunctions, aerr.Error()) + case cloudfront.ErrCodeFunctionAlreadyExists: + fmt.Println(cloudfront.ErrCodeFunctionAlreadyExists, aerr.Error()) + case cloudfront.ErrCodeFunctionSizeLimitExceeded: + fmt.Println(cloudfront.ErrCodeFunctionSizeLimitExceeded, aerr.Error()) case cloudfront.ErrCodeInvalidArgument: fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidRequiredProtocol: - fmt.Println(cloudfront.ErrCodeInvalidRequiredProtocol, aerr.Error()) - case cloudfront.ErrCodeNoSuchOrigin: - fmt.Println(cloudfront.ErrCodeNoSuchOrigin, aerr.Error()) - case cloudfront.ErrCodeTooManyOrigins: - fmt.Println(cloudfront.ErrCodeTooManyOrigins, aerr.Error()) - case cloudfront.ErrCodeTooManyCacheBehaviors: - fmt.Println(cloudfront.ErrCodeTooManyCacheBehaviors, aerr.Error()) - case cloudfront.ErrCodeTooManyCookieNamesInWhiteList: - fmt.Println(cloudfront.ErrCodeTooManyCookieNamesInWhiteList, aerr.Error()) - case cloudfront.ErrCodeInvalidForwardCookies: - fmt.Println(cloudfront.ErrCodeInvalidForwardCookies, aerr.Error()) - case cloudfront.ErrCodeTooManyHeadersInForwardedValues: - fmt.Println(cloudfront.ErrCodeTooManyHeadersInForwardedValues, aerr.Error()) - case cloudfront.ErrCodeInvalidHeadersForS3Origin: - fmt.Println(cloudfront.ErrCodeInvalidHeadersForS3Origin, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) - case cloudfront.ErrCodeTooManyCertificates: - fmt.Println(cloudfront.ErrCodeTooManyCertificates, aerr.Error()) - case cloudfront.ErrCodeInvalidLocationCode: - fmt.Println(cloudfront.ErrCodeInvalidLocationCode, aerr.Error()) - case cloudfront.ErrCodeInvalidGeoRestrictionParameter: - fmt.Println(cloudfront.ErrCodeInvalidGeoRestrictionParameter, aerr.Error()) - case cloudfront.ErrCodeInvalidProtocolSettings: - fmt.Println(cloudfront.ErrCodeInvalidProtocolSettings, aerr.Error()) - case cloudfront.ErrCodeInvalidTTLOrder: - fmt.Println(cloudfront.ErrCodeInvalidTTLOrder, aerr.Error()) - case cloudfront.ErrCodeInvalidWebACLId: - fmt.Println(cloudfront.ErrCodeInvalidWebACLId, aerr.Error()) - case cloudfront.ErrCodeTooManyOriginCustomHeaders: - fmt.Println(cloudfront.ErrCodeTooManyOriginCustomHeaders, aerr.Error()) - case cloudfront.ErrCodeInvalidTagging: - fmt.Println(cloudfront.ErrCodeInvalidTagging, aerr.Error()) - case cloudfront.ErrCodeTooManyQueryStringParameters: - fmt.Println(cloudfront.ErrCodeTooManyQueryStringParameters, aerr.Error()) - case cloudfront.ErrCodeInvalidQueryStringParameters: - fmt.Println(cloudfront.ErrCodeInvalidQueryStringParameters, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributionsWithLambdaAssociations: - fmt.Println(cloudfront.ErrCodeTooManyDistributionsWithLambdaAssociations, aerr.Error()) - case cloudfront.ErrCodeTooManyLambdaFunctionAssociations: - fmt.Println(cloudfront.ErrCodeTooManyLambdaFunctionAssociations, aerr.Error()) - case cloudfront.ErrCodeInvalidLambdaFunctionAssociation: - fmt.Println(cloudfront.ErrCodeInvalidLambdaFunctionAssociation, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginReadTimeout: - fmt.Println(cloudfront.ErrCodeInvalidOriginReadTimeout, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginKeepaliveTimeout: - fmt.Println(cloudfront.ErrCodeInvalidOriginKeepaliveTimeout, aerr.Error()) + case cloudfront.ErrCodeUnsupportedOperation: + fmt.Println(cloudfront.ErrCodeUnsupportedOperation, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -269,78 +74,33 @@ func ExampleCloudFront_CreateDistributionWithTags_shared00() { fmt.Println(result) } -// - -func ExampleCloudFront_CreateInvalidation_shared00() { +// To create a KeyValueStore +// Use the following command to create a KeyValueStore. +func ExampleCloudFront_CreateKeyValueStore_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.CreateInvalidationInput{} - - result, err := svc.CreateInvalidation(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) - case cloudfront.ErrCodeBatchTooLarge: - fmt.Println(cloudfront.ErrCodeBatchTooLarge, aerr.Error()) - case cloudfront.ErrCodeTooManyInvalidationsInProgress: - fmt.Println(cloudfront.ErrCodeTooManyInvalidationsInProgress, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return + input := &cloudfront.CreateKeyValueStoreInput{ + Comment: aws.String("my-key-valuestore-comment"), + ImportSource: &cloudfront.ImportSource{ + SourceARN: aws.String("arn:aws:s3:::my-bucket/validJSON.json"), + SourceType: aws.String("S3"), + }, + Name: aws.String("my-keyvaluestore-name"), } - fmt.Println(result) -} - -// - -func ExampleCloudFront_CreateStreamingDistribution_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.CreateStreamingDistributionInput{} - - result, err := svc.CreateStreamingDistribution(input) + result, err := svc.CreateKeyValueStore(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case cloudfront.ErrCodeCNAMEAlreadyExists: - fmt.Println(cloudfront.ErrCodeCNAMEAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeStreamingDistributionAlreadyExists: - fmt.Println(cloudfront.ErrCodeStreamingDistributionAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeInvalidOrigin: - fmt.Println(cloudfront.ErrCodeInvalidOrigin, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeInvalidOriginAccessIdentity, aerr.Error()) case cloudfront.ErrCodeAccessDenied: fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeTooManyTrustedSigners: - fmt.Println(cloudfront.ErrCodeTooManyTrustedSigners, aerr.Error()) - case cloudfront.ErrCodeTrustedSignerDoesNotExist: - fmt.Println(cloudfront.ErrCodeTrustedSignerDoesNotExist, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeTooManyStreamingDistributionCNAMEs: - fmt.Println(cloudfront.ErrCodeTooManyStreamingDistributionCNAMEs, aerr.Error()) - case cloudfront.ErrCodeTooManyStreamingDistributions: - fmt.Println(cloudfront.ErrCodeTooManyStreamingDistributions, aerr.Error()) + case cloudfront.ErrCodeEntityLimitExceeded: + fmt.Println(cloudfront.ErrCodeEntityLimitExceeded, aerr.Error()) + case cloudfront.ErrCodeEntityAlreadyExists: + fmt.Println(cloudfront.ErrCodeEntityAlreadyExists, aerr.Error()) + case cloudfront.ErrCodeEntitySizeLimitExceeded: + fmt.Println(cloudfront.ErrCodeEntitySizeLimitExceeded, aerr.Error()) case cloudfront.ErrCodeInvalidArgument: fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -355,58 +115,27 @@ func ExampleCloudFront_CreateStreamingDistribution_shared00() { fmt.Println(result) } -// - -func ExampleCloudFront_DeleteCloudFrontOriginAccessIdentity_shared00() { +// To delete a KeyValueStore +// Use the following command to delete a KeyValueStore. +func ExampleCloudFront_DeleteKeyValueStore_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.DeleteCloudFrontOriginAccessIdentityInput{} - - result, err := svc.DeleteCloudFrontOriginAccessIdentity(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeInvalidIfMatchVersion: - fmt.Println(cloudfront.ErrCodeInvalidIfMatchVersion, aerr.Error()) - case cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodePreconditionFailed: - fmt.Println(cloudfront.ErrCodePreconditionFailed, aerr.Error()) - case cloudfront.ErrCodeOriginAccessIdentityInUse: - fmt.Println(cloudfront.ErrCodeOriginAccessIdentityInUse, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return + input := &cloudfront.DeleteKeyValueStoreInput{ + IfMatch: aws.String("ETVPDKIKX0DER"), + Name: aws.String("my-keyvaluestore-name"), } - fmt.Println(result) -} - -// - -func ExampleCloudFront_DeleteDistribution_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.DeleteDistributionInput{} - - result, err := svc.DeleteDistribution(input) + result, err := svc.DeleteKeyValueStore(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { case cloudfront.ErrCodeAccessDenied: fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeDistributionNotDisabled: - fmt.Println(cloudfront.ErrCodeDistributionNotDisabled, aerr.Error()) case cloudfront.ErrCodeInvalidIfMatchVersion: fmt.Println(cloudfront.ErrCodeInvalidIfMatchVersion, aerr.Error()) - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) + case cloudfront.ErrCodeEntityNotFound: + fmt.Println(cloudfront.ErrCodeEntityNotFound, aerr.Error()) + case cloudfront.ErrCodeCannotDeleteEntityWhileInUse: + fmt.Println(cloudfront.ErrCodeCannotDeleteEntityWhileInUse, aerr.Error()) case cloudfront.ErrCodePreconditionFailed: fmt.Println(cloudfront.ErrCodePreconditionFailed, aerr.Error()) default: @@ -423,276 +152,24 @@ func ExampleCloudFront_DeleteDistribution_shared00() { fmt.Println(result) } -// - -func ExampleCloudFront_DeleteStreamingDistribution_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.DeleteStreamingDistributionInput{} - - result, err := svc.DeleteStreamingDistribution(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeStreamingDistributionNotDisabled: - fmt.Println(cloudfront.ErrCodeStreamingDistributionNotDisabled, aerr.Error()) - case cloudfront.ErrCodeInvalidIfMatchVersion: - fmt.Println(cloudfront.ErrCodeInvalidIfMatchVersion, aerr.Error()) - case cloudfront.ErrCodeNoSuchStreamingDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchStreamingDistribution, aerr.Error()) - case cloudfront.ErrCodePreconditionFailed: - fmt.Println(cloudfront.ErrCodePreconditionFailed, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetCloudFrontOriginAccessIdentity_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.GetCloudFrontOriginAccessIdentityInput{} - - result, err := svc.GetCloudFrontOriginAccessIdentity(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetCloudFrontOriginAccessIdentityConfig_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.GetCloudFrontOriginAccessIdentityConfigInput{} - - result, err := svc.GetCloudFrontOriginAccessIdentityConfig(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetDistribution_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.GetDistributionInput{} - - result, err := svc.GetDistribution(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetDistributionConfig_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.GetDistributionConfigInput{} - - result, err := svc.GetDistributionConfig(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetInvalidation_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.GetInvalidationInput{} - - result, err := svc.GetInvalidation(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeNoSuchInvalidation: - fmt.Println(cloudfront.ErrCodeNoSuchInvalidation, aerr.Error()) - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetStreamingDistribution_shared00() { +// To describe a KeyValueStore +// Use the following command to describe a KeyValueStore. +func ExampleCloudFront_DescribeKeyValueStore_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.GetStreamingDistributionInput{} - - result, err := svc.GetStreamingDistribution(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeNoSuchStreamingDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchStreamingDistribution, aerr.Error()) - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return + input := &cloudfront.DescribeKeyValueStoreInput{ + Name: aws.String("my-keyvaluestore-name"), } - fmt.Println(result) -} - -// - -func ExampleCloudFront_GetStreamingDistributionConfig_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.GetStreamingDistributionConfigInput{} - - result, err := svc.GetStreamingDistributionConfig(input) + result, err := svc.DescribeKeyValueStore(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case cloudfront.ErrCodeNoSuchStreamingDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchStreamingDistribution, aerr.Error()) case cloudfront.ErrCodeAccessDenied: fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_ListCloudFrontOriginAccessIdentities_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.ListCloudFrontOriginAccessIdentitiesInput{} - - result, err := svc.ListCloudFrontOriginAccessIdentities(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_ListDistributions_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.ListDistributionsInput{} - - result, err := svc.ListDistributions(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { case cloudfront.ErrCodeInvalidArgument: fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) + case cloudfront.ErrCodeEntityNotFound: + fmt.Println(cloudfront.ErrCodeEntityNotFound, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -707,74 +184,22 @@ func ExampleCloudFront_ListDistributions_shared00() { fmt.Println(result) } -// - -func ExampleCloudFront_ListDistributionsByWebACLId_shared00() { +// To get a list of KeyValueStores +// The following command retrieves a list of KeyValueStores with READY status. +func ExampleCloudFront_ListKeyValueStores_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.ListDistributionsByWebACLIdInput{} - - result, err := svc.ListDistributionsByWebACLId(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidWebACLId: - fmt.Println(cloudfront.ErrCodeInvalidWebACLId, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return + input := &cloudfront.ListKeyValueStoresInput{ + Marker: aws.String(""), + MaxItems: aws.Int64(100), + Status: aws.String("READY"), } - fmt.Println(result) -} - -// - -func ExampleCloudFront_ListInvalidations_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.ListInvalidationsInput{} - - result, err := svc.ListInvalidations(input) + result, err := svc.ListKeyValueStores(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) case cloudfront.ErrCodeAccessDenied: fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_ListStreamingDistributions_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.ListStreamingDistributionsInput{} - - result, err := svc.ListStreamingDistributions(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { case cloudfront.ErrCodeInvalidArgument: fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) default: @@ -791,128 +216,44 @@ func ExampleCloudFront_ListStreamingDistributions_shared00() { fmt.Println(result) } -// - -func ExampleCloudFront_ListTagsForResource_shared00() { +// To update a function +// Use the following command to update a function. +func ExampleCloudFront_UpdateFunction_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.ListTagsForResourceInput{} - - result, err := svc.ListTagsForResource(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidTagging: - fmt.Println(cloudfront.ErrCodeInvalidTagging, aerr.Error()) - case cloudfront.ErrCodeNoSuchResource: - fmt.Println(cloudfront.ErrCodeNoSuchResource, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return + input := &cloudfront.UpdateFunctionInput{ + FunctionCode: []byte("function-code-changed.js"), + FunctionConfig: &cloudfront.FunctionConfig{ + Comment: aws.String("my-changed-comment"), + KeyValueStoreAssociations: &cloudfront.KeyValueStoreAssociations{ + Items: []*cloudfront.KeyValueStoreAssociation{ + { + KeyValueStoreARN: aws.String("arn:aws:cloudfront::123456789012:key-value-store/54947df8-0e9e-4471-a2f9-9af509fb5889"), + }, + }, + Quantity: aws.Int64(1), + }, + Runtime: aws.String("cloudfront-js-2.0"), + }, + IfMatch: aws.String("ETVPDKIKX0DER"), + Name: aws.String("my-function-name"), } - fmt.Println(result) -} - -// - -func ExampleCloudFront_TagResource_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.TagResourceInput{} - - result, err := svc.TagResource(input) + result, err := svc.UpdateFunction(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) case cloudfront.ErrCodeInvalidArgument: fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidTagging: - fmt.Println(cloudfront.ErrCodeInvalidTagging, aerr.Error()) - case cloudfront.ErrCodeNoSuchResource: - fmt.Println(cloudfront.ErrCodeNoSuchResource, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_UntagResource_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.UntagResourceInput{} - - result, err := svc.UntagResource(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidTagging: - fmt.Println(cloudfront.ErrCodeInvalidTagging, aerr.Error()) - case cloudfront.ErrCodeNoSuchResource: - fmt.Println(cloudfront.ErrCodeNoSuchResource, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_UpdateCloudFrontOriginAccessIdentity_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.UpdateCloudFrontOriginAccessIdentityInput{} - - result, err := svc.UpdateCloudFrontOriginAccessIdentity(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeIllegalUpdate: - fmt.Println(cloudfront.ErrCodeIllegalUpdate, aerr.Error()) case cloudfront.ErrCodeInvalidIfMatchVersion: fmt.Println(cloudfront.ErrCodeInvalidIfMatchVersion, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeNoSuchCloudFrontOriginAccessIdentity, aerr.Error()) + case cloudfront.ErrCodeNoSuchFunctionExists: + fmt.Println(cloudfront.ErrCodeNoSuchFunctionExists, aerr.Error()) case cloudfront.ErrCodePreconditionFailed: fmt.Println(cloudfront.ErrCodePreconditionFailed, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) + case cloudfront.ErrCodeFunctionSizeLimitExceeded: + fmt.Println(cloudfront.ErrCodeFunctionSizeLimitExceeded, aerr.Error()) + case cloudfront.ErrCodeUnsupportedOperation: + fmt.Println(cloudfront.ErrCodeUnsupportedOperation, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -927,146 +268,30 @@ func ExampleCloudFront_UpdateCloudFrontOriginAccessIdentity_shared00() { fmt.Println(result) } -// - -func ExampleCloudFront_UpdateDistribution_shared00() { +// To update a KeyValueStore +// Use the following command to update a KeyValueStore. +func ExampleCloudFront_UpdateKeyValueStore_shared00() { svc := cloudfront.New(session.New()) - input := &cloudfront.UpdateDistributionInput{} + input := &cloudfront.UpdateKeyValueStoreInput{ + Comment: aws.String("my-changed-comment"), + IfMatch: aws.String("ETVPDKIKX0DER"), + Name: aws.String("my-keyvaluestore-name"), + } - result, err := svc.UpdateDistribution(input) + result, err := svc.UpdateKeyValueStore(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { case cloudfront.ErrCodeAccessDenied: fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeCNAMEAlreadyExists: - fmt.Println(cloudfront.ErrCodeCNAMEAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeIllegalUpdate: - fmt.Println(cloudfront.ErrCodeIllegalUpdate, aerr.Error()) - case cloudfront.ErrCodeInvalidIfMatchVersion: - fmt.Println(cloudfront.ErrCodeInvalidIfMatchVersion, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeNoSuchDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchDistribution, aerr.Error()) - case cloudfront.ErrCodePreconditionFailed: - fmt.Println(cloudfront.ErrCodePreconditionFailed, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributionCNAMEs: - fmt.Println(cloudfront.ErrCodeTooManyDistributionCNAMEs, aerr.Error()) - case cloudfront.ErrCodeInvalidDefaultRootObject: - fmt.Println(cloudfront.ErrCodeInvalidDefaultRootObject, aerr.Error()) - case cloudfront.ErrCodeInvalidRelativePath: - fmt.Println(cloudfront.ErrCodeInvalidRelativePath, aerr.Error()) - case cloudfront.ErrCodeInvalidErrorCode: - fmt.Println(cloudfront.ErrCodeInvalidErrorCode, aerr.Error()) - case cloudfront.ErrCodeInvalidResponseCode: - fmt.Println(cloudfront.ErrCodeInvalidResponseCode, aerr.Error()) case cloudfront.ErrCodeInvalidArgument: fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeInvalidOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodeTooManyTrustedSigners: - fmt.Println(cloudfront.ErrCodeTooManyTrustedSigners, aerr.Error()) - case cloudfront.ErrCodeTrustedSignerDoesNotExist: - fmt.Println(cloudfront.ErrCodeTrustedSignerDoesNotExist, aerr.Error()) - case cloudfront.ErrCodeInvalidViewerCertificate: - fmt.Println(cloudfront.ErrCodeInvalidViewerCertificate, aerr.Error()) - case cloudfront.ErrCodeInvalidMinimumProtocolVersion: - fmt.Println(cloudfront.ErrCodeInvalidMinimumProtocolVersion, aerr.Error()) - case cloudfront.ErrCodeInvalidRequiredProtocol: - fmt.Println(cloudfront.ErrCodeInvalidRequiredProtocol, aerr.Error()) - case cloudfront.ErrCodeNoSuchOrigin: - fmt.Println(cloudfront.ErrCodeNoSuchOrigin, aerr.Error()) - case cloudfront.ErrCodeTooManyOrigins: - fmt.Println(cloudfront.ErrCodeTooManyOrigins, aerr.Error()) - case cloudfront.ErrCodeTooManyCacheBehaviors: - fmt.Println(cloudfront.ErrCodeTooManyCacheBehaviors, aerr.Error()) - case cloudfront.ErrCodeTooManyCookieNamesInWhiteList: - fmt.Println(cloudfront.ErrCodeTooManyCookieNamesInWhiteList, aerr.Error()) - case cloudfront.ErrCodeInvalidForwardCookies: - fmt.Println(cloudfront.ErrCodeInvalidForwardCookies, aerr.Error()) - case cloudfront.ErrCodeTooManyHeadersInForwardedValues: - fmt.Println(cloudfront.ErrCodeTooManyHeadersInForwardedValues, aerr.Error()) - case cloudfront.ErrCodeInvalidHeadersForS3Origin: - fmt.Println(cloudfront.ErrCodeInvalidHeadersForS3Origin, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) - case cloudfront.ErrCodeTooManyCertificates: - fmt.Println(cloudfront.ErrCodeTooManyCertificates, aerr.Error()) - case cloudfront.ErrCodeInvalidLocationCode: - fmt.Println(cloudfront.ErrCodeInvalidLocationCode, aerr.Error()) - case cloudfront.ErrCodeInvalidGeoRestrictionParameter: - fmt.Println(cloudfront.ErrCodeInvalidGeoRestrictionParameter, aerr.Error()) - case cloudfront.ErrCodeInvalidTTLOrder: - fmt.Println(cloudfront.ErrCodeInvalidTTLOrder, aerr.Error()) - case cloudfront.ErrCodeInvalidWebACLId: - fmt.Println(cloudfront.ErrCodeInvalidWebACLId, aerr.Error()) - case cloudfront.ErrCodeTooManyOriginCustomHeaders: - fmt.Println(cloudfront.ErrCodeTooManyOriginCustomHeaders, aerr.Error()) - case cloudfront.ErrCodeTooManyQueryStringParameters: - fmt.Println(cloudfront.ErrCodeTooManyQueryStringParameters, aerr.Error()) - case cloudfront.ErrCodeInvalidQueryStringParameters: - fmt.Println(cloudfront.ErrCodeInvalidQueryStringParameters, aerr.Error()) - case cloudfront.ErrCodeTooManyDistributionsWithLambdaAssociations: - fmt.Println(cloudfront.ErrCodeTooManyDistributionsWithLambdaAssociations, aerr.Error()) - case cloudfront.ErrCodeTooManyLambdaFunctionAssociations: - fmt.Println(cloudfront.ErrCodeTooManyLambdaFunctionAssociations, aerr.Error()) - case cloudfront.ErrCodeInvalidLambdaFunctionAssociation: - fmt.Println(cloudfront.ErrCodeInvalidLambdaFunctionAssociation, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginReadTimeout: - fmt.Println(cloudfront.ErrCodeInvalidOriginReadTimeout, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginKeepaliveTimeout: - fmt.Println(cloudfront.ErrCodeInvalidOriginKeepaliveTimeout, aerr.Error()) - default: - fmt.Println(aerr.Error()) - } - } else { - // Print the error, cast err to awserr.Error to get the Code and - // Message from an error. - fmt.Println(err.Error()) - } - return - } - - fmt.Println(result) -} - -// - -func ExampleCloudFront_UpdateStreamingDistribution_shared00() { - svc := cloudfront.New(session.New()) - input := &cloudfront.UpdateStreamingDistributionInput{} - - result, err := svc.UpdateStreamingDistribution(input) - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - switch aerr.Code() { - case cloudfront.ErrCodeAccessDenied: - fmt.Println(cloudfront.ErrCodeAccessDenied, aerr.Error()) - case cloudfront.ErrCodeCNAMEAlreadyExists: - fmt.Println(cloudfront.ErrCodeCNAMEAlreadyExists, aerr.Error()) - case cloudfront.ErrCodeIllegalUpdate: - fmt.Println(cloudfront.ErrCodeIllegalUpdate, aerr.Error()) + case cloudfront.ErrCodeEntityNotFound: + fmt.Println(cloudfront.ErrCodeEntityNotFound, aerr.Error()) case cloudfront.ErrCodeInvalidIfMatchVersion: fmt.Println(cloudfront.ErrCodeInvalidIfMatchVersion, aerr.Error()) - case cloudfront.ErrCodeMissingBody: - fmt.Println(cloudfront.ErrCodeMissingBody, aerr.Error()) - case cloudfront.ErrCodeNoSuchStreamingDistribution: - fmt.Println(cloudfront.ErrCodeNoSuchStreamingDistribution, aerr.Error()) case cloudfront.ErrCodePreconditionFailed: fmt.Println(cloudfront.ErrCodePreconditionFailed, aerr.Error()) - case cloudfront.ErrCodeTooManyStreamingDistributionCNAMEs: - fmt.Println(cloudfront.ErrCodeTooManyStreamingDistributionCNAMEs, aerr.Error()) - case cloudfront.ErrCodeInvalidArgument: - fmt.Println(cloudfront.ErrCodeInvalidArgument, aerr.Error()) - case cloudfront.ErrCodeInvalidOriginAccessIdentity: - fmt.Println(cloudfront.ErrCodeInvalidOriginAccessIdentity, aerr.Error()) - case cloudfront.ErrCodeTooManyTrustedSigners: - fmt.Println(cloudfront.ErrCodeTooManyTrustedSigners, aerr.Error()) - case cloudfront.ErrCodeTrustedSignerDoesNotExist: - fmt.Println(cloudfront.ErrCodeTrustedSignerDoesNotExist, aerr.Error()) - case cloudfront.ErrCodeInconsistentQuantities: - fmt.Println(cloudfront.ErrCodeInconsistentQuantities, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/cloudfrontkeyvaluestore/api.go b/service/cloudfrontkeyvaluestore/api.go new file mode 100644 index 00000000000..8ccaf0854c2 --- /dev/null +++ b/service/cloudfrontkeyvaluestore/api.go @@ -0,0 +1,2010 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudfrontkeyvaluestore + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" +) + +const opDeleteKey = "DeleteKey" + +// DeleteKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKey operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteKey for more information on using the DeleteKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteKeyRequest method. +// req, resp := client.DeleteKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/DeleteKey +func (c *CloudFrontKeyValueStore) DeleteKeyRequest(input *DeleteKeyInput) (req *request.Request, output *DeleteKeyOutput) { + op := &request.Operation{ + Name: opDeleteKey, + HTTPMethod: "DELETE", + HTTPPath: "/key-value-stores/{KvsARN}/keys/{Key}", + } + + if input == nil { + input = &DeleteKeyInput{} + } + + output = &DeleteKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteKey API operation for Amazon CloudFront KeyValueStore. +// +// Deletes the key value pair specified by the key. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront KeyValueStore's +// API operation DeleteKey for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Resource is not in expected state. +// +// - ValidationException +// Validation failed. +// +// - InternalServerException +// Internal server error. +// +// - ServiceQuotaExceededException +// Limit exceeded. +// +// - ResourceNotFoundException +// Resource was not found. +// +// - AccessDeniedException +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/DeleteKey +func (c *CloudFrontKeyValueStore) DeleteKey(input *DeleteKeyInput) (*DeleteKeyOutput, error) { + req, out := c.DeleteKeyRequest(input) + return out, req.Send() +} + +// DeleteKeyWithContext is the same as DeleteKey with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) DeleteKeyWithContext(ctx aws.Context, input *DeleteKeyInput, opts ...request.Option) (*DeleteKeyOutput, error) { + req, out := c.DeleteKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeKeyValueStore = "DescribeKeyValueStore" + +// DescribeKeyValueStoreRequest generates a "aws/request.Request" representing the +// client's request for the DescribeKeyValueStore operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeKeyValueStore for more information on using the DescribeKeyValueStore +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeKeyValueStoreRequest method. +// req, resp := client.DescribeKeyValueStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/DescribeKeyValueStore +func (c *CloudFrontKeyValueStore) DescribeKeyValueStoreRequest(input *DescribeKeyValueStoreInput) (req *request.Request, output *DescribeKeyValueStoreOutput) { + op := &request.Operation{ + Name: opDescribeKeyValueStore, + HTTPMethod: "GET", + HTTPPath: "/key-value-stores/{KvsARN}", + } + + if input == nil { + input = &DescribeKeyValueStoreInput{} + } + + output = &DescribeKeyValueStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeKeyValueStore API operation for Amazon CloudFront KeyValueStore. +// +// Returns metadata information about Key Value Store. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront KeyValueStore's +// API operation DescribeKeyValueStore for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Resource is not in expected state. +// +// - InternalServerException +// Internal server error. +// +// - ResourceNotFoundException +// Resource was not found. +// +// - AccessDeniedException +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/DescribeKeyValueStore +func (c *CloudFrontKeyValueStore) DescribeKeyValueStore(input *DescribeKeyValueStoreInput) (*DescribeKeyValueStoreOutput, error) { + req, out := c.DescribeKeyValueStoreRequest(input) + return out, req.Send() +} + +// DescribeKeyValueStoreWithContext is the same as DescribeKeyValueStore with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeKeyValueStore for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) DescribeKeyValueStoreWithContext(ctx aws.Context, input *DescribeKeyValueStoreInput, opts ...request.Option) (*DescribeKeyValueStoreOutput, error) { + req, out := c.DescribeKeyValueStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKey = "GetKey" + +// GetKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetKey operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetKey for more information on using the GetKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetKeyRequest method. +// req, resp := client.GetKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/GetKey +func (c *CloudFrontKeyValueStore) GetKeyRequest(input *GetKeyInput) (req *request.Request, output *GetKeyOutput) { + op := &request.Operation{ + Name: opGetKey, + HTTPMethod: "GET", + HTTPPath: "/key-value-stores/{KvsARN}/keys/{Key}", + } + + if input == nil { + input = &GetKeyInput{} + } + + output = &GetKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKey API operation for Amazon CloudFront KeyValueStore. +// +// Returns a key value pair. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront KeyValueStore's +// API operation GetKey for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Resource is not in expected state. +// +// - InternalServerException +// Internal server error. +// +// - ResourceNotFoundException +// Resource was not found. +// +// - AccessDeniedException +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/GetKey +func (c *CloudFrontKeyValueStore) GetKey(input *GetKeyInput) (*GetKeyOutput, error) { + req, out := c.GetKeyRequest(input) + return out, req.Send() +} + +// GetKeyWithContext is the same as GetKey with the addition of +// the ability to pass a context and additional request options. +// +// See GetKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) GetKeyWithContext(ctx aws.Context, input *GetKeyInput, opts ...request.Option) (*GetKeyOutput, error) { + req, out := c.GetKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListKeys = "ListKeys" + +// ListKeysRequest generates a "aws/request.Request" representing the +// client's request for the ListKeys operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListKeys for more information on using the ListKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListKeysRequest method. +// req, resp := client.ListKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/ListKeys +func (c *CloudFrontKeyValueStore) ListKeysRequest(input *ListKeysInput) (req *request.Request, output *ListKeysOutput) { + op := &request.Operation{ + Name: opListKeys, + HTTPMethod: "GET", + HTTPPath: "/key-value-stores/{KvsARN}/keys", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKeysInput{} + } + + output = &ListKeysOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKeys API operation for Amazon CloudFront KeyValueStore. +// +// Returns a list of key value pairs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront KeyValueStore's +// API operation ListKeys for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Resource is not in expected state. +// +// - ValidationException +// Validation failed. +// +// - InternalServerException +// Internal server error. +// +// - ResourceNotFoundException +// Resource was not found. +// +// - AccessDeniedException +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/ListKeys +func (c *CloudFrontKeyValueStore) ListKeys(input *ListKeysInput) (*ListKeysOutput, error) { + req, out := c.ListKeysRequest(input) + return out, req.Send() +} + +// ListKeysWithContext is the same as ListKeys with the addition of +// the ability to pass a context and additional request options. +// +// See ListKeys for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) ListKeysWithContext(ctx aws.Context, input *ListKeysInput, opts ...request.Option) (*ListKeysOutput, error) { + req, out := c.ListKeysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKeysPages iterates over the pages of a ListKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKeys method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListKeys operation. +// pageNum := 0 +// err := client.ListKeysPages(params, +// func(page *cloudfrontkeyvaluestore.ListKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFrontKeyValueStore) ListKeysPages(input *ListKeysInput, fn func(*ListKeysOutput, bool) bool) error { + return c.ListKeysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKeysPagesWithContext same as ListKeysPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) ListKeysPagesWithContext(ctx aws.Context, input *ListKeysInput, fn func(*ListKeysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKeysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKeysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKeysOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutKey = "PutKey" + +// PutKeyRequest generates a "aws/request.Request" representing the +// client's request for the PutKey operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutKey for more information on using the PutKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PutKeyRequest method. +// req, resp := client.PutKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/PutKey +func (c *CloudFrontKeyValueStore) PutKeyRequest(input *PutKeyInput) (req *request.Request, output *PutKeyOutput) { + op := &request.Operation{ + Name: opPutKey, + HTTPMethod: "PUT", + HTTPPath: "/key-value-stores/{KvsARN}/keys/{Key}", + } + + if input == nil { + input = &PutKeyInput{} + } + + output = &PutKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutKey API operation for Amazon CloudFront KeyValueStore. +// +// Creates a new key value pair or replaces the value of an existing key. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront KeyValueStore's +// API operation PutKey for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Resource is not in expected state. +// +// - ValidationException +// Validation failed. +// +// - InternalServerException +// Internal server error. +// +// - ServiceQuotaExceededException +// Limit exceeded. +// +// - ResourceNotFoundException +// Resource was not found. +// +// - AccessDeniedException +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/PutKey +func (c *CloudFrontKeyValueStore) PutKey(input *PutKeyInput) (*PutKeyOutput, error) { + req, out := c.PutKeyRequest(input) + return out, req.Send() +} + +// PutKeyWithContext is the same as PutKey with the addition of +// the ability to pass a context and additional request options. +// +// See PutKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) PutKeyWithContext(ctx aws.Context, input *PutKeyInput, opts ...request.Option) (*PutKeyOutput, error) { + req, out := c.PutKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateKeys = "UpdateKeys" + +// UpdateKeysRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKeys operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateKeys for more information on using the UpdateKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateKeysRequest method. +// req, resp := client.UpdateKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/UpdateKeys +func (c *CloudFrontKeyValueStore) UpdateKeysRequest(input *UpdateKeysInput) (req *request.Request, output *UpdateKeysOutput) { + op := &request.Operation{ + Name: opUpdateKeys, + HTTPMethod: "POST", + HTTPPath: "/key-value-stores/{KvsARN}/keys", + } + + if input == nil { + input = &UpdateKeysInput{} + } + + output = &UpdateKeysOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateKeys API operation for Amazon CloudFront KeyValueStore. +// +// Puts or Deletes multiple key value pairs in a single, all-or-nothing operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront KeyValueStore's +// API operation UpdateKeys for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Resource is not in expected state. +// +// - ValidationException +// Validation failed. +// +// - InternalServerException +// Internal server error. +// +// - ServiceQuotaExceededException +// Limit exceeded. +// +// - ResourceNotFoundException +// Resource was not found. +// +// - AccessDeniedException +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26/UpdateKeys +func (c *CloudFrontKeyValueStore) UpdateKeys(input *UpdateKeysInput) (*UpdateKeysOutput, error) { + req, out := c.UpdateKeysRequest(input) + return out, req.Send() +} + +// UpdateKeysWithContext is the same as UpdateKeys with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKeys for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFrontKeyValueStore) UpdateKeysWithContext(ctx aws.Context, input *UpdateKeysInput, opts ...request.Option) (*UpdateKeysOutput, error) { + req, out := c.UpdateKeysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Access denied. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Resource is not in expected state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteKeyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The current version (ETag) of the Key Value Store that you are deleting keys + // from, which you can get using DescribeKeyValueStore. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The key to delete. + // + // Key is a required field + Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `location:"uri" locationName:"KvsARN" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKeyInput"} + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.KvsARN == nil { + invalidParams.Add(request.NewErrParamRequired("KvsARN")) + } + if s.KvsARN != nil && len(*s.KvsARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KvsARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteKeyInput) SetIfMatch(v string) *DeleteKeyInput { + s.IfMatch = &v + return s +} + +// SetKey sets the Key field's value. +func (s *DeleteKeyInput) SetKey(v string) *DeleteKeyInput { + s.Key = &v + return s +} + +// SetKvsARN sets the KvsARN field's value. +func (s *DeleteKeyInput) SetKvsARN(v string) *DeleteKeyInput { + s.KvsARN = &v + return s +} + +// Metadata information about a Key Value Store. +type DeleteKeyOutput struct { + _ struct{} `type:"structure"` + + // The current version identifier of the Key Value Store after the successful + // delete. + // + // ETag is a required field + ETag *string `location:"header" locationName:"ETag" type:"string" required:"true"` + + // Number of key value pairs in the Key Value Store after the successful delete. + // + // ItemCount is a required field + ItemCount *int64 `type:"integer" required:"true"` + + // Total size of the Key Value Store after the successful delete, in bytes. + // + // TotalSizeInBytes is a required field + TotalSizeInBytes *int64 `type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *DeleteKeyOutput) SetETag(v string) *DeleteKeyOutput { + s.ETag = &v + return s +} + +// SetItemCount sets the ItemCount field's value. +func (s *DeleteKeyOutput) SetItemCount(v int64) *DeleteKeyOutput { + s.ItemCount = &v + return s +} + +// SetTotalSizeInBytes sets the TotalSizeInBytes field's value. +func (s *DeleteKeyOutput) SetTotalSizeInBytes(v int64) *DeleteKeyOutput { + s.TotalSizeInBytes = &v + return s +} + +// List item for keys to delete. +type DeleteKeyRequestListItem struct { + _ struct{} `type:"structure"` + + // The key of the key value pair to be deleted. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyRequestListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyRequestListItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKeyRequestListItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKeyRequestListItem"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *DeleteKeyRequestListItem) SetKey(v string) *DeleteKeyRequestListItem { + s.Key = &v + return s +} + +type DescribeKeyValueStoreInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `location:"uri" locationName:"KvsARN" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeKeyValueStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeKeyValueStoreInput"} + if s.KvsARN == nil { + invalidParams.Add(request.NewErrParamRequired("KvsARN")) + } + if s.KvsARN != nil && len(*s.KvsARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KvsARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKvsARN sets the KvsARN field's value. +func (s *DescribeKeyValueStoreInput) SetKvsARN(v string) *DescribeKeyValueStoreInput { + s.KvsARN = &v + return s +} + +// Metadata information about a Key Value Store. +type DescribeKeyValueStoreOutput struct { + _ struct{} `type:"structure"` + + // Date and time when the Key Value Store was created. + // + // Created is a required field + Created *time.Time `type:"timestamp" required:"true"` + + // The version identifier for the current version of the Key Value Store. + // + // ETag is a required field + ETag *string `location:"header" locationName:"ETag" type:"string" required:"true"` + + // Number of key value pairs in the Key Value Store. + // + // ItemCount is a required field + ItemCount *int64 `type:"integer" required:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `min:"1" type:"string" required:"true"` + + // Date and time when the key value pairs in the Key Value Store was last modified. + LastModified *time.Time `type:"timestamp"` + + // Total size of the Key Value Store in bytes. + // + // TotalSizeInBytes is a required field + TotalSizeInBytes *int64 `type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeKeyValueStoreOutput) GoString() string { + return s.String() +} + +// SetCreated sets the Created field's value. +func (s *DescribeKeyValueStoreOutput) SetCreated(v time.Time) *DescribeKeyValueStoreOutput { + s.Created = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *DescribeKeyValueStoreOutput) SetETag(v string) *DescribeKeyValueStoreOutput { + s.ETag = &v + return s +} + +// SetItemCount sets the ItemCount field's value. +func (s *DescribeKeyValueStoreOutput) SetItemCount(v int64) *DescribeKeyValueStoreOutput { + s.ItemCount = &v + return s +} + +// SetKvsARN sets the KvsARN field's value. +func (s *DescribeKeyValueStoreOutput) SetKvsARN(v string) *DescribeKeyValueStoreOutput { + s.KvsARN = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *DescribeKeyValueStoreOutput) SetLastModified(v time.Time) *DescribeKeyValueStoreOutput { + s.LastModified = &v + return s +} + +// SetTotalSizeInBytes sets the TotalSizeInBytes field's value. +func (s *DescribeKeyValueStoreOutput) SetTotalSizeInBytes(v int64) *DescribeKeyValueStoreOutput { + s.TotalSizeInBytes = &v + return s +} + +type GetKeyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The key to get. + // + // Key is a required field + Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `location:"uri" locationName:"KvsARN" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKeyInput"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.KvsARN == nil { + invalidParams.Add(request.NewErrParamRequired("KvsARN")) + } + if s.KvsARN != nil && len(*s.KvsARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KvsARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *GetKeyInput) SetKey(v string) *GetKeyInput { + s.Key = &v + return s +} + +// SetKvsARN sets the KvsARN field's value. +func (s *GetKeyInput) SetKvsARN(v string) *GetKeyInput { + s.KvsARN = &v + return s +} + +// A key value pair. +type GetKeyOutput struct { + _ struct{} `type:"structure"` + + // Number of key value pairs in the Key Value Store. + // + // ItemCount is a required field + ItemCount *int64 `type:"integer" required:"true"` + + // The key of the key value pair. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // Total size of the Key Value Store in bytes. + // + // TotalSizeInBytes is a required field + TotalSizeInBytes *int64 `type:"long" required:"true"` + + // The value of the key value pair. + // + // Value is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetKeyOutput's + // String and GoString methods. + // + // Value is a required field + Value *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyOutput) GoString() string { + return s.String() +} + +// SetItemCount sets the ItemCount field's value. +func (s *GetKeyOutput) SetItemCount(v int64) *GetKeyOutput { + s.ItemCount = &v + return s +} + +// SetKey sets the Key field's value. +func (s *GetKeyOutput) SetKey(v string) *GetKeyOutput { + s.Key = &v + return s +} + +// SetTotalSizeInBytes sets the TotalSizeInBytes field's value. +func (s *GetKeyOutput) SetTotalSizeInBytes(v int64) *GetKeyOutput { + s.TotalSizeInBytes = &v + return s +} + +// SetValue sets the Value field's value. +func (s *GetKeyOutput) SetValue(v string) *GetKeyOutput { + s.Value = &v + return s +} + +// Internal server error. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListKeysInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `location:"uri" locationName:"KvsARN" min:"1" type:"string" required:"true"` + + // Maximum number of results that are returned per call. The default is 10 and + // maximum allowed page is 50. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // If nextToken is returned in the response, there are more results available. + // Make the next call using the returned token to retrieve the next page. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeysInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKeysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKeysInput"} + if s.KvsARN == nil { + invalidParams.Add(request.NewErrParamRequired("KvsARN")) + } + if s.KvsARN != nil && len(*s.KvsARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KvsARN", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKvsARN sets the KvsARN field's value. +func (s *ListKeysInput) SetKvsARN(v string) *ListKeysInput { + s.KvsARN = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKeysInput) SetMaxResults(v int64) *ListKeysInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKeysInput) SetNextToken(v string) *ListKeysInput { + s.NextToken = &v + return s +} + +type ListKeysOutput struct { + _ struct{} `type:"structure"` + + // Key value pairs + Items []*ListKeysResponseListItem `type:"list"` + + // If nextToken is returned in the response, there are more results available. + // Make the next call using the returned token to retrieve the next page. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeysOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListKeysOutput) SetItems(v []*ListKeysResponseListItem) *ListKeysOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKeysOutput) SetNextToken(v string) *ListKeysOutput { + s.NextToken = &v + return s +} + +// A key value pair. +type ListKeysResponseListItem struct { + _ struct{} `type:"structure"` + + // The key of the key value pair. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the key value pair. + // + // Value is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ListKeysResponseListItem's + // String and GoString methods. + // + // Value is a required field + Value *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeysResponseListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeysResponseListItem) GoString() string { + return s.String() +} + +// SetKey sets the Key field's value. +func (s *ListKeysResponseListItem) SetKey(v string) *ListKeysResponseListItem { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ListKeysResponseListItem) SetValue(v string) *ListKeysResponseListItem { + s.Value = &v + return s +} + +// A key value pair. +type PutKeyInput struct { + _ struct{} `type:"structure"` + + // The current version (ETag) of the Key Value Store that you are putting keys + // into, which you can get using DescribeKeyValueStore. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The key to put. + // + // Key is a required field + Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `location:"uri" locationName:"KvsARN" min:"1" type:"string" required:"true"` + + // The value to put. + // + // Value is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by PutKeyInput's + // String and GoString methods. + // + // Value is a required field + Value *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutKeyInput"} + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.KvsARN == nil { + invalidParams.Add(request.NewErrParamRequired("KvsARN")) + } + if s.KvsARN != nil && len(*s.KvsARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KvsARN", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIfMatch sets the IfMatch field's value. +func (s *PutKeyInput) SetIfMatch(v string) *PutKeyInput { + s.IfMatch = &v + return s +} + +// SetKey sets the Key field's value. +func (s *PutKeyInput) SetKey(v string) *PutKeyInput { + s.Key = &v + return s +} + +// SetKvsARN sets the KvsARN field's value. +func (s *PutKeyInput) SetKvsARN(v string) *PutKeyInput { + s.KvsARN = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PutKeyInput) SetValue(v string) *PutKeyInput { + s.Value = &v + return s +} + +// Metadata information about a Key Value Store. +type PutKeyOutput struct { + _ struct{} `type:"structure"` + + // The current version identifier of the Key Value Store after the successful + // put. + // + // ETag is a required field + ETag *string `location:"header" locationName:"ETag" type:"string" required:"true"` + + // Number of key value pairs in the Key Value Store after the successful put. + // + // ItemCount is a required field + ItemCount *int64 `type:"integer" required:"true"` + + // Total size of the Key Value Store after the successful put, in bytes. + // + // TotalSizeInBytes is a required field + TotalSizeInBytes *int64 `type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutKeyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *PutKeyOutput) SetETag(v string) *PutKeyOutput { + s.ETag = &v + return s +} + +// SetItemCount sets the ItemCount field's value. +func (s *PutKeyOutput) SetItemCount(v int64) *PutKeyOutput { + s.ItemCount = &v + return s +} + +// SetTotalSizeInBytes sets the TotalSizeInBytes field's value. +func (s *PutKeyOutput) SetTotalSizeInBytes(v int64) *PutKeyOutput { + s.TotalSizeInBytes = &v + return s +} + +// List item for key value pair to put. +type PutKeyRequestListItem struct { + _ struct{} `type:"structure"` + + // The key of the key value pair list item to put. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value for the key value pair to put. + // + // Value is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by PutKeyRequestListItem's + // String and GoString methods. + // + // Value is a required field + Value *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutKeyRequestListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutKeyRequestListItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutKeyRequestListItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutKeyRequestListItem"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *PutKeyRequestListItem) SetKey(v string) *PutKeyRequestListItem { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PutKeyRequestListItem) SetValue(v string) *PutKeyRequestListItem { + s.Value = &v + return s +} + +// Resource was not found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Limit exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UpdateKeysInput struct { + _ struct{} `type:"structure"` + + // List of keys to delete. + Deletes []*DeleteKeyRequestListItem `type:"list"` + + // The current version (ETag) of the Key Value Store that you are updating keys + // of, which you can get using DescribeKeyValueStore. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Key Value Store. + // + // KvsARN is a required field + KvsARN *string `location:"uri" locationName:"KvsARN" min:"1" type:"string" required:"true"` + + // List of key value pairs to put. + Puts []*PutKeyRequestListItem `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeysInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateKeysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKeysInput"} + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.KvsARN == nil { + invalidParams.Add(request.NewErrParamRequired("KvsARN")) + } + if s.KvsARN != nil && len(*s.KvsARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KvsARN", 1)) + } + if s.Deletes != nil { + for i, v := range s.Deletes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Deletes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Puts != nil { + for i, v := range s.Puts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Puts", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeletes sets the Deletes field's value. +func (s *UpdateKeysInput) SetDeletes(v []*DeleteKeyRequestListItem) *UpdateKeysInput { + s.Deletes = v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateKeysInput) SetIfMatch(v string) *UpdateKeysInput { + s.IfMatch = &v + return s +} + +// SetKvsARN sets the KvsARN field's value. +func (s *UpdateKeysInput) SetKvsARN(v string) *UpdateKeysInput { + s.KvsARN = &v + return s +} + +// SetPuts sets the Puts field's value. +func (s *UpdateKeysInput) SetPuts(v []*PutKeyRequestListItem) *UpdateKeysInput { + s.Puts = v + return s +} + +// Metadata information about a Key Value Store. +type UpdateKeysOutput struct { + _ struct{} `type:"structure"` + + // The current version identifier of the Key Value Store after the successful + // update. + // + // ETag is a required field + ETag *string `location:"header" locationName:"ETag" type:"string" required:"true"` + + // Number of key value pairs in the Key Value Store after the successful update. + // + // ItemCount is a required field + ItemCount *int64 `type:"integer" required:"true"` + + // Total size of the Key Value Store after the successful update, in bytes. + // + // TotalSizeInBytes is a required field + TotalSizeInBytes *int64 `type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateKeysOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *UpdateKeysOutput) SetETag(v string) *UpdateKeysOutput { + s.ETag = &v + return s +} + +// SetItemCount sets the ItemCount field's value. +func (s *UpdateKeysOutput) SetItemCount(v int64) *UpdateKeysOutput { + s.ItemCount = &v + return s +} + +// SetTotalSizeInBytes sets the TotalSizeInBytes field's value. +func (s *UpdateKeysOutput) SetTotalSizeInBytes(v int64) *UpdateKeysOutput { + s.TotalSizeInBytes = &v + return s +} + +// Validation failed. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} diff --git a/service/cloudfrontkeyvaluestore/cloudfrontkeyvaluestoreiface/interface.go b/service/cloudfrontkeyvaluestore/cloudfrontkeyvaluestoreiface/interface.go new file mode 100644 index 00000000000..290eb886c84 --- /dev/null +++ b/service/cloudfrontkeyvaluestore/cloudfrontkeyvaluestoreiface/interface.go @@ -0,0 +1,91 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cloudfrontkeyvaluestoreiface provides an interface to enable mocking the Amazon CloudFront KeyValueStore service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package cloudfrontkeyvaluestoreiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/cloudfrontkeyvaluestore" +) + +// CloudFrontKeyValueStoreAPI provides an interface to enable mocking the +// cloudfrontkeyvaluestore.CloudFrontKeyValueStore service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon CloudFront KeyValueStore. +// func myFunc(svc cloudfrontkeyvaluestoreiface.CloudFrontKeyValueStoreAPI) bool { +// // Make svc.DeleteKey request +// } +// +// func main() { +// sess := session.New() +// svc := cloudfrontkeyvaluestore.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockCloudFrontKeyValueStoreClient struct { +// cloudfrontkeyvaluestoreiface.CloudFrontKeyValueStoreAPI +// } +// func (m *mockCloudFrontKeyValueStoreClient) DeleteKey(input *cloudfrontkeyvaluestore.DeleteKeyInput) (*cloudfrontkeyvaluestore.DeleteKeyOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockCloudFrontKeyValueStoreClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type CloudFrontKeyValueStoreAPI interface { + DeleteKey(*cloudfrontkeyvaluestore.DeleteKeyInput) (*cloudfrontkeyvaluestore.DeleteKeyOutput, error) + DeleteKeyWithContext(aws.Context, *cloudfrontkeyvaluestore.DeleteKeyInput, ...request.Option) (*cloudfrontkeyvaluestore.DeleteKeyOutput, error) + DeleteKeyRequest(*cloudfrontkeyvaluestore.DeleteKeyInput) (*request.Request, *cloudfrontkeyvaluestore.DeleteKeyOutput) + + DescribeKeyValueStore(*cloudfrontkeyvaluestore.DescribeKeyValueStoreInput) (*cloudfrontkeyvaluestore.DescribeKeyValueStoreOutput, error) + DescribeKeyValueStoreWithContext(aws.Context, *cloudfrontkeyvaluestore.DescribeKeyValueStoreInput, ...request.Option) (*cloudfrontkeyvaluestore.DescribeKeyValueStoreOutput, error) + DescribeKeyValueStoreRequest(*cloudfrontkeyvaluestore.DescribeKeyValueStoreInput) (*request.Request, *cloudfrontkeyvaluestore.DescribeKeyValueStoreOutput) + + GetKey(*cloudfrontkeyvaluestore.GetKeyInput) (*cloudfrontkeyvaluestore.GetKeyOutput, error) + GetKeyWithContext(aws.Context, *cloudfrontkeyvaluestore.GetKeyInput, ...request.Option) (*cloudfrontkeyvaluestore.GetKeyOutput, error) + GetKeyRequest(*cloudfrontkeyvaluestore.GetKeyInput) (*request.Request, *cloudfrontkeyvaluestore.GetKeyOutput) + + ListKeys(*cloudfrontkeyvaluestore.ListKeysInput) (*cloudfrontkeyvaluestore.ListKeysOutput, error) + ListKeysWithContext(aws.Context, *cloudfrontkeyvaluestore.ListKeysInput, ...request.Option) (*cloudfrontkeyvaluestore.ListKeysOutput, error) + ListKeysRequest(*cloudfrontkeyvaluestore.ListKeysInput) (*request.Request, *cloudfrontkeyvaluestore.ListKeysOutput) + + ListKeysPages(*cloudfrontkeyvaluestore.ListKeysInput, func(*cloudfrontkeyvaluestore.ListKeysOutput, bool) bool) error + ListKeysPagesWithContext(aws.Context, *cloudfrontkeyvaluestore.ListKeysInput, func(*cloudfrontkeyvaluestore.ListKeysOutput, bool) bool, ...request.Option) error + + PutKey(*cloudfrontkeyvaluestore.PutKeyInput) (*cloudfrontkeyvaluestore.PutKeyOutput, error) + PutKeyWithContext(aws.Context, *cloudfrontkeyvaluestore.PutKeyInput, ...request.Option) (*cloudfrontkeyvaluestore.PutKeyOutput, error) + PutKeyRequest(*cloudfrontkeyvaluestore.PutKeyInput) (*request.Request, *cloudfrontkeyvaluestore.PutKeyOutput) + + UpdateKeys(*cloudfrontkeyvaluestore.UpdateKeysInput) (*cloudfrontkeyvaluestore.UpdateKeysOutput, error) + UpdateKeysWithContext(aws.Context, *cloudfrontkeyvaluestore.UpdateKeysInput, ...request.Option) (*cloudfrontkeyvaluestore.UpdateKeysOutput, error) + UpdateKeysRequest(*cloudfrontkeyvaluestore.UpdateKeysInput) (*request.Request, *cloudfrontkeyvaluestore.UpdateKeysOutput) +} + +var _ CloudFrontKeyValueStoreAPI = (*cloudfrontkeyvaluestore.CloudFrontKeyValueStore)(nil) diff --git a/service/cloudfrontkeyvaluestore/doc.go b/service/cloudfrontkeyvaluestore/doc.go new file mode 100644 index 00000000000..189c3e1bf76 --- /dev/null +++ b/service/cloudfrontkeyvaluestore/doc.go @@ -0,0 +1,29 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cloudfrontkeyvaluestore provides the client and types for making API +// requests to Amazon CloudFront KeyValueStore. +// +// Amazon CloudFront KeyValueStore Service to View and Update Data in a KVS +// Resource +// +// See https://docs.aws.amazon.com/goto/WebAPI/cloudfront-keyvaluestore-2022-07-26 for more information on this service. +// +// See cloudfrontkeyvaluestore package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudfrontkeyvaluestore/ +// +// # Using the Client +// +// To contact Amazon CloudFront KeyValueStore with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon CloudFront KeyValueStore client CloudFrontKeyValueStore for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudfrontkeyvaluestore/#New +package cloudfrontkeyvaluestore diff --git a/service/cloudfrontkeyvaluestore/errors.go b/service/cloudfrontkeyvaluestore/errors.go new file mode 100644 index 00000000000..0163c2148e5 --- /dev/null +++ b/service/cloudfrontkeyvaluestore/errors.go @@ -0,0 +1,55 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudfrontkeyvaluestore + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Access denied. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Resource is not in expected state. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Internal server error. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Resource was not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // Limit exceeded. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Validation failed. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ValidationException": newErrorValidationException, +} diff --git a/service/cloudfrontkeyvaluestore/service.go b/service/cloudfrontkeyvaluestore/service.go new file mode 100644 index 00000000000..006c6ab4fb1 --- /dev/null +++ b/service/cloudfrontkeyvaluestore/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudfrontkeyvaluestore + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// CloudFrontKeyValueStore provides the API operation methods for making requests to +// Amazon CloudFront KeyValueStore. See this package's package overview docs +// for details on the service. +// +// CloudFrontKeyValueStore methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type CloudFrontKeyValueStore struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "CloudFront KeyValueStore" // Name of service. + EndpointsID = "cloudfront-keyvaluestore" // ID to lookup a service endpoint with. + ServiceID = "CloudFront KeyValueStore" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the CloudFrontKeyValueStore client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a CloudFrontKeyValueStore client from just a session. +// svc := cloudfrontkeyvaluestore.New(mySession) +// +// // Create a CloudFrontKeyValueStore client with additional configuration +// svc := cloudfrontkeyvaluestore.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *CloudFrontKeyValueStore { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "cloudfront-keyvaluestore" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *CloudFrontKeyValueStore { + svc := &CloudFrontKeyValueStore{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2022-07-26", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a CloudFrontKeyValueStore operation and runs any +// custom request initialization. +func (c *CloudFrontKeyValueStore) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/ec2/api.go b/service/ec2/api.go index 77246fe6c9b..4a303a01a48 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -81066,15 +81066,15 @@ type CreateVolumeInput struct { // // The following are the supported values for each volume type: // - // * gp3: 3,000-16,000 IOPS + // * gp3: 3,000 - 16,000 IOPS // - // * io1: 100-64,000 IOPS + // * io1: 100 - 64,000 IOPS // - // * io2: 100-64,000 IOPS + // * io2: 100 - 256,000 IOPS // - // io1 and io2 volumes support up to 64,000 IOPS only on Instances built on + // For io2 volumes, you can achieve up to 256,000 IOPS on instances built on // the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families support performance up to 32,000 IOPS. + // On other instances, you can achieve performance up to 32,000 IOPS. // // This parameter is required for io1 and io2 volumes. The default for gp3 volumes // is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard @@ -81118,13 +81118,15 @@ type CreateVolumeInput struct { // // The following are the supported volumes sizes for each volume type: // - // * gp2 and gp3: 1-16,384 + // * gp2 and gp3: 1 - 16,384 GiB // - // * io1 and io2: 4-16,384 + // * io1: 4 - 16,384 GiB // - // * st1 and sc1: 125-16,384 + // * io2: 4 - 65,536 GiB // - // * standard: 1-1,024 + // * st1 and sc1: 125 - 16,384 GiB + // + // * standard: 1 - 1024 GiB Size *int64 `type:"integer"` // The snapshot from which to create the volume. You must specify either a snapshot @@ -106400,8 +106402,8 @@ type DescribeSpotInstanceRequestsInput struct { // in GiB. // // * launch.block-device-mapping.volume-type - The type of EBS volume: gp2 - // for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for - // Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic. + // or gp3 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 + // for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic. // // * launch.group-id - The ID of the security group for the instance. // @@ -116785,19 +116787,18 @@ type EbsBlockDevice struct { // // The following are the supported values for each volume type: // - // * gp3: 3,000-16,000 IOPS + // * gp3: 3,000 - 16,000 IOPS // - // * io1: 100-64,000 IOPS + // * io1: 100 - 64,000 IOPS // - // * io2: 100-64,000 IOPS + // * io2: 100 - 256,000 IOPS // - // For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built - // on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families guarantee performance up to 32,000 IOPS. + // For io2 volumes, you can achieve up to 256,000 IOPS on instances built on + // the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // On other instances, you can achieve performance up to 32,000 IOPS. // // This parameter is required for io1 and io2 volumes. The default for gp3 volumes - // is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard - // volumes. + // is 3,000 IOPS. Iops *int64 `locationName:"iops" type:"integer"` // Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed @@ -116829,20 +116830,21 @@ type EbsBlockDevice struct { // You can specify a volume size that is equal to or larger than the snapshot // size. // - // The following are the supported volumes sizes for each volume type: + // The following are the supported sizes for each volume type: + // + // * gp2 and gp3: 1 - 16,384 GiB // - // * gp2 and gp3:1-16,384 + // * io1: 4 - 16,384 GiB // - // * io1 and io2: 4-16,384 + // * io2: 4 - 65,536 GiB // - // * st1 and sc1: 125-16,384 + // * st1 and sc1: 125 - 16,384 GiB // - // * standard: 1-1,024 + // * standard: 1 - 1024 GiB VolumeSize *int64 `locationName:"volumeSize" type:"integer"` // The volume type. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - // in the Amazon EC2 User Guide. If the volume type is io1 or io2, you must - // specify the IOPS that the volume supports. + // in the Amazon EC2 User Guide. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"` } @@ -142055,18 +142057,17 @@ type LaunchTemplateEbsBlockDeviceRequest struct { // // The following are the supported values for each volume type: // - // * gp3: 3,000-16,000 IOPS + // * gp3: 3,000 - 16,000 IOPS // - // * io1: 100-64,000 IOPS + // * io1: 100 - 64,000 IOPS // - // * io2: 100-64,000 IOPS + // * io2: 100 - 256,000 IOPS // - // For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built - // on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families guarantee performance up to 32,000 IOPS. + // For io2 volumes, you can achieve up to 256,000 IOPS on instances built on + // the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // On other instances, you can achieve performance up to 32,000 IOPS. // - // This parameter is supported for io1, io2, and gp3 volumes only. This parameter - // is not supported for gp2, st1, sc1, or standard volumes. + // This parameter is supported for io1, io2, and gp3 volumes only. Iops *int64 `type:"integer"` // The ARN of the symmetric Key Management Service (KMS) CMK used for encryption. @@ -142084,13 +142085,15 @@ type LaunchTemplateEbsBlockDeviceRequest struct { // a volume size. The following are the supported volumes sizes for each volume // type: // - // * gp2 and gp3: 1-16,384 + // * gp2 and gp3: 1 - 16,384 GiB // - // * io1 and io2: 4-16,384 + // * io1: 4 - 16,384 GiB // - // * st1 and sc1: 125-16,384 + // * io2: 4 - 65,536 GiB // - // * standard: 1-1,024 + // * st1 and sc1: 125 - 16,384 GiB + // + // * standard: 1 - 1024 GiB VolumeSize *int64 `type:"integer"` // The volume type. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) @@ -153779,11 +153782,15 @@ type ModifyVolumeInput struct { // // The following are the supported values for each volume type: // - // * gp3: 3,000-16,000 IOPS + // * gp3: 3,000 - 16,000 IOPS + // + // * io1: 100 - 64,000 IOPS // - // * io1: 100-64,000 IOPS + // * io2: 100 - 256,000 IOPS // - // * io2: 100-64,000 IOPS + // For io2 volumes, you can achieve up to 256,000 IOPS on instances built on + // the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // On other instances, you can achieve performance up to 32,000 IOPS. // // Default: The existing value is retained if you keep the same volume type. // If you change the volume type to io1, io2, or gp3, the default is 3,000. @@ -153801,13 +153808,15 @@ type ModifyVolumeInput struct { // // The following are the supported volumes sizes for each volume type: // - // * gp2 and gp3: 1-16,384 + // * gp2 and gp3: 1 - 16,384 GiB + // + // * io1: 4 - 16,384 GiB // - // * io1 and io2: 4-16,384 + // * io2: 4 - 65,536 GiB // - // * st1 and sc1: 125-16,384 + // * st1 and sc1: 125 - 16,384 GiB // - // * standard: 1-1,024 + // * standard: 1 - 1024 GiB // // Default: The existing size is retained. Size *int64 `type:"integer"` @@ -171882,16 +171891,8 @@ type ScheduledInstancesEbs struct { // only to instances that support them. Encrypted *bool `type:"boolean"` - // The number of I/O operations per second (IOPS) to provision for an io1 or - // io2 volume, with a maximum ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB - // for io2. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum - // IOPS of 64,000 is guaranteed only on instances built on the Nitro System - // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - // in the Amazon EC2 User Guide. - // - // This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes. + // The number of I/O operations per second (IOPS) to provision for a gp3, io1, + // or io2 volume. Iops *int64 `type:"integer"` // The ID of the snapshot. @@ -171903,9 +171904,7 @@ type ScheduledInstancesEbs struct { // a volume size, the default is the snapshot size. VolumeSize *int64 `type:"integer"` - // The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned - // IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard - // for Magnetic. + // The volume type. // // Default: gp2 VolumeType *string `type:"string"` diff --git a/service/iotsitewise/api.go b/service/iotsitewise/api.go index 8096e519b45..a066f9ce76b 100644 --- a/service/iotsitewise/api.go +++ b/service/iotsitewise/api.go @@ -1299,6 +1299,15 @@ func (c *IoTSiteWise) CreateAssetModelRequest(input *CreateAssetModelInput) (req // For more information, see Defining asset models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html) // in the IoT SiteWise User Guide. // +// You can create two types of asset models, ASSET_MODEL or COMPONENT_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. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1363,6 +1372,137 @@ func (c *IoTSiteWise) CreateAssetModelWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateAssetModelCompositeModel = "CreateAssetModelCompositeModel" + +// CreateAssetModelCompositeModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateAssetModelCompositeModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateAssetModelCompositeModel for more information on using the CreateAssetModelCompositeModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateAssetModelCompositeModelRequest method. +// req, resp := client.CreateAssetModelCompositeModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModelCompositeModel +func (c *IoTSiteWise) CreateAssetModelCompositeModelRequest(input *CreateAssetModelCompositeModelInput) (req *request.Request, output *CreateAssetModelCompositeModelOutput) { + op := &request.Operation{ + Name: opCreateAssetModelCompositeModel, + HTTPMethod: "POST", + HTTPPath: "/asset-models/{assetModelId}/composite-models", + } + + if input == nil { + input = &CreateAssetModelCompositeModelInput{} + } + + output = &CreateAssetModelCompositeModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CreateAssetModelCompositeModel API operation for AWS IoT SiteWise. +// +// Creates a custom composite model from specified property and hierarchy definitions. +// There are two types of custom composite models, inline and component-model-based. +// +// Use component-model-based custom composite models to define standard, reusable +// components. A component-model-based custom composite model consists of a +// name, a description, and the ID of the component model it references. A component-model-based +// custom composite model has no properties of its own; its referenced component +// model provides its associated properties to any created assets. For more +// information, see Custom composite models (Components) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html) +// in the IoT SiteWise User Guide. +// +// Use inline custom composite models to organize the properties of an asset +// model. The properties of inline custom composite models are local to the +// asset model where they are included and can't be used to create multiple +// assets. +// +// To create a component-model-based model, specify the composedAssetModelId +// of an existing asset model with assetModelType of COMPONENT_MODEL. +// +// To create an inline model, specify the assetModelCompositeModelProperties +// and don't include an composedAssetModelId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation CreateAssetModelCompositeModel for usage and error information. +// +// Returned Error Types: +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceAlreadyExistsException +// The resource already exists. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModelCompositeModel +func (c *IoTSiteWise) CreateAssetModelCompositeModel(input *CreateAssetModelCompositeModelInput) (*CreateAssetModelCompositeModelOutput, error) { + req, out := c.CreateAssetModelCompositeModelRequest(input) + return out, req.Send() +} + +// CreateAssetModelCompositeModelWithContext is the same as CreateAssetModelCompositeModel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAssetModelCompositeModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) CreateAssetModelCompositeModelWithContext(ctx aws.Context, input *CreateAssetModelCompositeModelInput, opts ...request.Option) (*CreateAssetModelCompositeModelOutput, error) { + req, out := c.CreateAssetModelCompositeModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateBulkImportJob = "CreateBulkImportJob" // CreateBulkImportJobRequest generates a "aws/request.Request" representing the @@ -1412,9 +1552,13 @@ func (c *IoTSiteWise) CreateBulkImportJobRequest(input *CreateBulkImportJobInput // see Create a bulk import job (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/CreateBulkImportJob.html) // in the Amazon Simple Storage Service User Guide. // -// You must enable IoT SiteWise to export data to Amazon S3 before you create -// a bulk import job. For more information about how to configure storage settings, -// see PutStorageConfiguration (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutStorageConfiguration.html). +// Before you create a bulk import job, you must enable IoT SiteWise warm tier +// or IoT SiteWise cold tier. For more information about how to configure storage +// settings, see PutStorageConfiguration (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutStorageConfiguration.html). +// +// Bulk import is designed to store historical data to IoT SiteWise. It does +// not trigger computations or notifications on IoT SiteWise warm or cold tier +// storage. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2218,6 +2362,111 @@ func (c *IoTSiteWise) DeleteAssetModelWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDeleteAssetModelCompositeModel = "DeleteAssetModelCompositeModel" + +// DeleteAssetModelCompositeModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAssetModelCompositeModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAssetModelCompositeModel for more information on using the DeleteAssetModelCompositeModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteAssetModelCompositeModelRequest method. +// req, resp := client.DeleteAssetModelCompositeModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModelCompositeModel +func (c *IoTSiteWise) DeleteAssetModelCompositeModelRequest(input *DeleteAssetModelCompositeModelInput) (req *request.Request, output *DeleteAssetModelCompositeModelOutput) { + op := &request.Operation{ + Name: opDeleteAssetModelCompositeModel, + HTTPMethod: "DELETE", + HTTPPath: "/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}", + } + + if input == nil { + input = &DeleteAssetModelCompositeModelInput{} + } + + output = &DeleteAssetModelCompositeModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeleteAssetModelCompositeModel API operation for AWS IoT SiteWise. +// +// Deletes a composite model. This action can't be undone. You must delete all +// assets created from a composite model before you can delete the model. Also, +// you can't delete a composite model if a parent asset model exists that contains +// a property formula expression that depends on the asset model that you want +// to delete. For more information, see Deleting assets and models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html) +// in the IoT SiteWise User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation DeleteAssetModelCompositeModel for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModelCompositeModel +func (c *IoTSiteWise) DeleteAssetModelCompositeModel(input *DeleteAssetModelCompositeModelInput) (*DeleteAssetModelCompositeModelOutput, error) { + req, out := c.DeleteAssetModelCompositeModelRequest(input) + return out, req.Send() +} + +// DeleteAssetModelCompositeModelWithContext is the same as DeleteAssetModelCompositeModel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAssetModelCompositeModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) DeleteAssetModelCompositeModelWithContext(ctx aws.Context, input *DeleteAssetModelCompositeModelInput, opts ...request.Option) (*DeleteAssetModelCompositeModelOutput, error) { + req, out := c.DeleteAssetModelCompositeModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDashboard = "DeleteDashboard" // DeleteDashboardRequest generates a "aws/request.Request" representing the @@ -2819,59 +3068,59 @@ func (c *IoTSiteWise) DescribeAccessPolicyWithContext(ctx aws.Context, input *De return out, req.Send() } -const opDescribeAsset = "DescribeAsset" +const opDescribeAction = "DescribeAction" -// DescribeAssetRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAsset operation. The "output" return +// DescribeActionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAction operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeAsset for more information on using the DescribeAsset +// See DescribeAction for more information on using the DescribeAction // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeAssetRequest method. -// req, resp := client.DescribeAssetRequest(params) +// // Example sending a request using the DescribeActionRequest method. +// req, resp := client.DescribeActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset -func (c *IoTSiteWise) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAction +func (c *IoTSiteWise) DescribeActionRequest(input *DescribeActionInput) (req *request.Request, output *DescribeActionOutput) { op := &request.Operation{ - Name: opDescribeAsset, + Name: opDescribeAction, HTTPMethod: "GET", - HTTPPath: "/assets/{assetId}", + HTTPPath: "/actions/{actionId}", } if input == nil { - input = &DescribeAssetInput{} + input = &DescribeActionInput{} } - output = &DescribeAssetOutput{} + output = &DescribeActionOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// DescribeAsset API operation for AWS IoT SiteWise. +// DescribeAction API operation for AWS IoT SiteWise. // -// Retrieves information about an asset. +// Retrieves information about an action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation DescribeAsset for usage and error information. +// API operation DescribeAction for usage and error information. // // Returned Error Types: // @@ -2893,81 +3142,81 @@ func (c *IoTSiteWise) DescribeAssetRequest(input *DescribeAssetInput) (req *requ // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset -func (c *IoTSiteWise) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) { - req, out := c.DescribeAssetRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAction +func (c *IoTSiteWise) DescribeAction(input *DescribeActionInput) (*DescribeActionOutput, error) { + req, out := c.DescribeActionRequest(input) return out, req.Send() } -// DescribeAssetWithContext is the same as DescribeAsset with the addition of +// DescribeActionWithContext is the same as DescribeAction with the addition of // the ability to pass a context and additional request options. // -// See DescribeAsset for details on how to use this API operation. +// See DescribeAction for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) { - req, out := c.DescribeAssetRequest(input) +func (c *IoTSiteWise) DescribeActionWithContext(ctx aws.Context, input *DescribeActionInput, opts ...request.Option) (*DescribeActionOutput, error) { + req, out := c.DescribeActionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeAssetModel = "DescribeAssetModel" +const opDescribeAsset = "DescribeAsset" -// DescribeAssetModelRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAssetModel operation. The "output" return +// DescribeAssetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAsset operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeAssetModel for more information on using the DescribeAssetModel +// See DescribeAsset for more information on using the DescribeAsset // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeAssetModelRequest method. -// req, resp := client.DescribeAssetModelRequest(params) +// // Example sending a request using the DescribeAssetRequest method. +// req, resp := client.DescribeAssetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel -func (c *IoTSiteWise) DescribeAssetModelRequest(input *DescribeAssetModelInput) (req *request.Request, output *DescribeAssetModelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset +func (c *IoTSiteWise) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) { op := &request.Operation{ - Name: opDescribeAssetModel, + Name: opDescribeAsset, HTTPMethod: "GET", - HTTPPath: "/asset-models/{assetModelId}", + HTTPPath: "/assets/{assetId}", } if input == nil { - input = &DescribeAssetModelInput{} + input = &DescribeAssetInput{} } - output = &DescribeAssetModelOutput{} + output = &DescribeAssetOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// DescribeAssetModel API operation for AWS IoT SiteWise. +// DescribeAsset API operation for AWS IoT SiteWise. // -// Retrieves information about an asset model. +// Retrieves information about an asset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation DescribeAssetModel for usage and error information. +// API operation DescribeAsset for usage and error information. // // Returned Error Types: // @@ -2989,62 +3238,356 @@ func (c *IoTSiteWise) DescribeAssetModelRequest(input *DescribeAssetModelInput) // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel -func (c *IoTSiteWise) DescribeAssetModel(input *DescribeAssetModelInput) (*DescribeAssetModelOutput, error) { - req, out := c.DescribeAssetModelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset +func (c *IoTSiteWise) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) { + req, out := c.DescribeAssetRequest(input) return out, req.Send() } -// DescribeAssetModelWithContext is the same as DescribeAssetModel with the addition of +// DescribeAssetWithContext is the same as DescribeAsset with the addition of // the ability to pass a context and additional request options. // -// See DescribeAssetModel for details on how to use this API operation. +// See DescribeAsset for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) DescribeAssetModelWithContext(ctx aws.Context, input *DescribeAssetModelInput, opts ...request.Option) (*DescribeAssetModelOutput, error) { - req, out := c.DescribeAssetModelRequest(input) +func (c *IoTSiteWise) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) { + req, out := c.DescribeAssetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeAssetProperty = "DescribeAssetProperty" +const opDescribeAssetCompositeModel = "DescribeAssetCompositeModel" -// DescribeAssetPropertyRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAssetProperty operation. The "output" return +// DescribeAssetCompositeModelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAssetCompositeModel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeAssetProperty for more information on using the DescribeAssetProperty +// See DescribeAssetCompositeModel for more information on using the DescribeAssetCompositeModel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeAssetPropertyRequest method. -// req, resp := client.DescribeAssetPropertyRequest(params) +// // Example sending a request using the DescribeAssetCompositeModelRequest method. +// req, resp := client.DescribeAssetCompositeModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty -func (c *IoTSiteWise) DescribeAssetPropertyRequest(input *DescribeAssetPropertyInput) (req *request.Request, output *DescribeAssetPropertyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetCompositeModel +func (c *IoTSiteWise) DescribeAssetCompositeModelRequest(input *DescribeAssetCompositeModelInput) (req *request.Request, output *DescribeAssetCompositeModelOutput) { op := &request.Operation{ - Name: opDescribeAssetProperty, + Name: opDescribeAssetCompositeModel, HTTPMethod: "GET", - HTTPPath: "/assets/{assetId}/properties/{propertyId}", + HTTPPath: "/assets/{assetId}/composite-models/{assetCompositeModelId}", } if input == nil { - input = &DescribeAssetPropertyInput{} + input = &DescribeAssetCompositeModelInput{} + } + + output = &DescribeAssetCompositeModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DescribeAssetCompositeModel API operation for AWS IoT SiteWise. +// +// Retrieves information about an asset composite model (also known as an asset +// component). An AssetCompositeModel is an instance of an AssetModelCompositeModel. +// If you want to see information about the model this is based on, call DescribeAssetModelCompositeModel +// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModelCompositeModel.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation DescribeAssetCompositeModel for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetCompositeModel +func (c *IoTSiteWise) DescribeAssetCompositeModel(input *DescribeAssetCompositeModelInput) (*DescribeAssetCompositeModelOutput, error) { + req, out := c.DescribeAssetCompositeModelRequest(input) + return out, req.Send() +} + +// DescribeAssetCompositeModelWithContext is the same as DescribeAssetCompositeModel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAssetCompositeModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) DescribeAssetCompositeModelWithContext(ctx aws.Context, input *DescribeAssetCompositeModelInput, opts ...request.Option) (*DescribeAssetCompositeModelOutput, error) { + req, out := c.DescribeAssetCompositeModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAssetModel = "DescribeAssetModel" + +// DescribeAssetModelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAssetModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAssetModel for more information on using the DescribeAssetModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeAssetModelRequest method. +// req, resp := client.DescribeAssetModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel +func (c *IoTSiteWise) DescribeAssetModelRequest(input *DescribeAssetModelInput) (req *request.Request, output *DescribeAssetModelOutput) { + op := &request.Operation{ + Name: opDescribeAssetModel, + HTTPMethod: "GET", + HTTPPath: "/asset-models/{assetModelId}", + } + + if input == nil { + input = &DescribeAssetModelInput{} + } + + output = &DescribeAssetModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DescribeAssetModel API operation for AWS IoT SiteWise. +// +// Retrieves information about an asset model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation DescribeAssetModel for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel +func (c *IoTSiteWise) DescribeAssetModel(input *DescribeAssetModelInput) (*DescribeAssetModelOutput, error) { + req, out := c.DescribeAssetModelRequest(input) + return out, req.Send() +} + +// DescribeAssetModelWithContext is the same as DescribeAssetModel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAssetModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) DescribeAssetModelWithContext(ctx aws.Context, input *DescribeAssetModelInput, opts ...request.Option) (*DescribeAssetModelOutput, error) { + req, out := c.DescribeAssetModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAssetModelCompositeModel = "DescribeAssetModelCompositeModel" + +// DescribeAssetModelCompositeModelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAssetModelCompositeModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAssetModelCompositeModel for more information on using the DescribeAssetModelCompositeModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeAssetModelCompositeModelRequest method. +// req, resp := client.DescribeAssetModelCompositeModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModelCompositeModel +func (c *IoTSiteWise) DescribeAssetModelCompositeModelRequest(input *DescribeAssetModelCompositeModelInput) (req *request.Request, output *DescribeAssetModelCompositeModelOutput) { + op := &request.Operation{ + Name: opDescribeAssetModelCompositeModel, + HTTPMethod: "GET", + HTTPPath: "/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}", + } + + if input == nil { + input = &DescribeAssetModelCompositeModelInput{} + } + + output = &DescribeAssetModelCompositeModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DescribeAssetModelCompositeModel API operation for AWS IoT SiteWise. +// +// Retrieves information about an asset model composite model (also known as +// an asset model component). For more information, see Custom composite models +// (Components) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html) +// in the IoT SiteWise User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation DescribeAssetModelCompositeModel for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModelCompositeModel +func (c *IoTSiteWise) DescribeAssetModelCompositeModel(input *DescribeAssetModelCompositeModelInput) (*DescribeAssetModelCompositeModelOutput, error) { + req, out := c.DescribeAssetModelCompositeModelRequest(input) + return out, req.Send() +} + +// DescribeAssetModelCompositeModelWithContext is the same as DescribeAssetModelCompositeModel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAssetModelCompositeModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) DescribeAssetModelCompositeModelWithContext(ctx aws.Context, input *DescribeAssetModelCompositeModelInput, opts ...request.Option) (*DescribeAssetModelCompositeModelOutput, error) { + req, out := c.DescribeAssetModelCompositeModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAssetProperty = "DescribeAssetProperty" + +// DescribeAssetPropertyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAssetProperty operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAssetProperty for more information on using the DescribeAssetProperty +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeAssetPropertyRequest method. +// req, resp := client.DescribeAssetPropertyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty +func (c *IoTSiteWise) DescribeAssetPropertyRequest(input *DescribeAssetPropertyInput) (req *request.Request, output *DescribeAssetPropertyOutput) { + op := &request.Operation{ + Name: opDescribeAssetProperty, + HTTPMethod: "GET", + HTTPPath: "/assets/{assetId}/properties/{propertyId}", + } + + if input == nil { + input = &DescribeAssetPropertyInput{} } output = &DescribeAssetPropertyOutput{} @@ -4306,6 +4849,277 @@ func (c *IoTSiteWise) DisassociateTimeSeriesFromAssetPropertyWithContext(ctx aws return out, req.Send() } +const opExecuteAction = "ExecuteAction" + +// ExecuteActionRequest generates a "aws/request.Request" representing the +// client's request for the ExecuteAction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ExecuteAction for more information on using the ExecuteAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ExecuteActionRequest method. +// req, resp := client.ExecuteActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ExecuteAction +func (c *IoTSiteWise) ExecuteActionRequest(input *ExecuteActionInput) (req *request.Request, output *ExecuteActionOutput) { + op := &request.Operation{ + Name: opExecuteAction, + HTTPMethod: "POST", + HTTPPath: "/actions", + } + + if input == nil { + input = &ExecuteActionInput{} + } + + output = &ExecuteActionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ExecuteAction API operation for AWS IoT SiteWise. +// +// Executes an action on a target resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation ExecuteAction for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ExecuteAction +func (c *IoTSiteWise) ExecuteAction(input *ExecuteActionInput) (*ExecuteActionOutput, error) { + req, out := c.ExecuteActionRequest(input) + return out, req.Send() +} + +// ExecuteActionWithContext is the same as ExecuteAction with the addition of +// the ability to pass a context and additional request options. +// +// See ExecuteAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) ExecuteActionWithContext(ctx aws.Context, input *ExecuteActionInput, opts ...request.Option) (*ExecuteActionOutput, error) { + req, out := c.ExecuteActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opExecuteQuery = "ExecuteQuery" + +// ExecuteQueryRequest generates a "aws/request.Request" representing the +// client's request for the ExecuteQuery operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ExecuteQuery for more information on using the ExecuteQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ExecuteQueryRequest method. +// req, resp := client.ExecuteQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ExecuteQuery +func (c *IoTSiteWise) ExecuteQueryRequest(input *ExecuteQueryInput) (req *request.Request, output *ExecuteQueryOutput) { + op := &request.Operation{ + Name: opExecuteQuery, + HTTPMethod: "POST", + HTTPPath: "/queries/execution", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ExecuteQueryInput{} + } + + output = &ExecuteQueryOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ExecuteQuery API operation for AWS IoT SiteWise. +// +// Run SQL queries to retrieve metadata and time-series data from asset models, +// assets, measurements, metrics, transforms, and aggregates. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation ExecuteQuery for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - AccessDeniedException +// Access is denied. +// +// - ValidationException +// The validation failed for this query. +// +// - QueryTimeoutException +// The query timed out. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ServiceUnavailableException +// The requested service is unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ExecuteQuery +func (c *IoTSiteWise) ExecuteQuery(input *ExecuteQueryInput) (*ExecuteQueryOutput, error) { + req, out := c.ExecuteQueryRequest(input) + return out, req.Send() +} + +// ExecuteQueryWithContext is the same as ExecuteQuery with the addition of +// the ability to pass a context and additional request options. +// +// See ExecuteQuery for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) ExecuteQueryWithContext(ctx aws.Context, input *ExecuteQueryInput, opts ...request.Option) (*ExecuteQueryOutput, error) { + req, out := c.ExecuteQueryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ExecuteQueryPages iterates over the pages of a ExecuteQuery operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ExecuteQuery method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ExecuteQuery operation. +// pageNum := 0 +// err := client.ExecuteQueryPages(params, +// func(page *iotsitewise.ExecuteQueryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTSiteWise) ExecuteQueryPages(input *ExecuteQueryInput, fn func(*ExecuteQueryOutput, bool) bool) error { + return c.ExecuteQueryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ExecuteQueryPagesWithContext same as ExecuteQueryPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) ExecuteQueryPagesWithContext(ctx aws.Context, input *ExecuteQueryInput, fn func(*ExecuteQueryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ExecuteQueryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ExecuteQueryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ExecuteQueryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetAssetPropertyAggregates = "GetAssetPropertyAggregates" // GetAssetPropertyAggregatesRequest generates a "aws/request.Request" representing the @@ -5065,36 +5879,36 @@ func (c *IoTSiteWise) ListAccessPoliciesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListAssetModelProperties = "ListAssetModelProperties" +const opListActions = "ListActions" -// ListAssetModelPropertiesRequest generates a "aws/request.Request" representing the -// client's request for the ListAssetModelProperties operation. The "output" return +// ListActionsRequest generates a "aws/request.Request" representing the +// client's request for the ListActions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAssetModelProperties for more information on using the ListAssetModelProperties +// See ListActions for more information on using the ListActions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAssetModelPropertiesRequest method. -// req, resp := client.ListAssetModelPropertiesRequest(params) +// // Example sending a request using the ListActionsRequest method. +// req, resp := client.ListActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModelProperties -func (c *IoTSiteWise) ListAssetModelPropertiesRequest(input *ListAssetModelPropertiesInput) (req *request.Request, output *ListAssetModelPropertiesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListActions +func (c *IoTSiteWise) ListActionsRequest(input *ListActionsInput) (req *request.Request, output *ListActionsOutput) { op := &request.Operation{ - Name: opListAssetModelProperties, + Name: opListActions, HTTPMethod: "GET", - HTTPPath: "/asset-models/{assetModelId}/properties", + HTTPPath: "/actions", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5104,28 +5918,26 @@ func (c *IoTSiteWise) ListAssetModelPropertiesRequest(input *ListAssetModelPrope } if input == nil { - input = &ListAssetModelPropertiesInput{} + input = &ListActionsInput{} } - output = &ListAssetModelPropertiesOutput{} + output = &ListActionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAssetModelProperties API operation for AWS IoT SiteWise. +// ListActions API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of properties associated with an asset model. -// If you update properties associated with the model before you finish listing -// all the properties, you need to start all over again. +// Retrieves a paginated list of actions for a specific target resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListAssetModelProperties for usage and error information. +// API operation ListActions for usage and error information. // // Returned Error Types: // @@ -5147,64 +5959,64 @@ func (c *IoTSiteWise) ListAssetModelPropertiesRequest(input *ListAssetModelPrope // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModelProperties -func (c *IoTSiteWise) ListAssetModelProperties(input *ListAssetModelPropertiesInput) (*ListAssetModelPropertiesOutput, error) { - req, out := c.ListAssetModelPropertiesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListActions +func (c *IoTSiteWise) ListActions(input *ListActionsInput) (*ListActionsOutput, error) { + req, out := c.ListActionsRequest(input) return out, req.Send() } -// ListAssetModelPropertiesWithContext is the same as ListAssetModelProperties with the addition of +// ListActionsWithContext is the same as ListActions with the addition of // the ability to pass a context and additional request options. // -// See ListAssetModelProperties for details on how to use this API operation. +// See ListActions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetModelPropertiesWithContext(ctx aws.Context, input *ListAssetModelPropertiesInput, opts ...request.Option) (*ListAssetModelPropertiesOutput, error) { - req, out := c.ListAssetModelPropertiesRequest(input) +func (c *IoTSiteWise) ListActionsWithContext(ctx aws.Context, input *ListActionsInput, opts ...request.Option) (*ListActionsOutput, error) { + req, out := c.ListActionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAssetModelPropertiesPages iterates over the pages of a ListAssetModelProperties operation, +// ListActionsPages iterates over the pages of a ListActions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAssetModelProperties method for more information on how to use this operation. +// See ListActions method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAssetModelProperties operation. +// // Example iterating over at most 3 pages of a ListActions operation. // pageNum := 0 -// err := client.ListAssetModelPropertiesPages(params, -// func(page *iotsitewise.ListAssetModelPropertiesOutput, lastPage bool) bool { +// err := client.ListActionsPages(params, +// func(page *iotsitewise.ListActionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListAssetModelPropertiesPages(input *ListAssetModelPropertiesInput, fn func(*ListAssetModelPropertiesOutput, bool) bool) error { - return c.ListAssetModelPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListActionsPages(input *ListActionsInput, fn func(*ListActionsOutput, bool) bool) error { + return c.ListActionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAssetModelPropertiesPagesWithContext same as ListAssetModelPropertiesPages except +// ListActionsPagesWithContext same as ListActionsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetModelPropertiesPagesWithContext(ctx aws.Context, input *ListAssetModelPropertiesInput, fn func(*ListAssetModelPropertiesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListActionsPagesWithContext(ctx aws.Context, input *ListActionsInput, fn func(*ListActionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAssetModelPropertiesInput + var inCpy *ListActionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAssetModelPropertiesRequest(inCpy) + req, _ := c.ListActionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5212,7 +6024,7 @@ func (c *IoTSiteWise) ListAssetModelPropertiesPagesWithContext(ctx aws.Context, } for p.Next() { - if !fn(p.Page().(*ListAssetModelPropertiesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListActionsOutput), !p.HasNextPage()) { break } } @@ -5220,36 +6032,36 @@ func (c *IoTSiteWise) ListAssetModelPropertiesPagesWithContext(ctx aws.Context, return p.Err() } -const opListAssetModels = "ListAssetModels" +const opListAssetModelCompositeModels = "ListAssetModelCompositeModels" -// ListAssetModelsRequest generates a "aws/request.Request" representing the -// client's request for the ListAssetModels operation. The "output" return +// ListAssetModelCompositeModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssetModelCompositeModels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAssetModels for more information on using the ListAssetModels +// See ListAssetModelCompositeModels for more information on using the ListAssetModelCompositeModels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAssetModelsRequest method. -// req, resp := client.ListAssetModelsRequest(params) +// // Example sending a request using the ListAssetModelCompositeModelsRequest method. +// req, resp := client.ListAssetModelCompositeModelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels -func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req *request.Request, output *ListAssetModelsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModelCompositeModels +func (c *IoTSiteWise) ListAssetModelCompositeModelsRequest(input *ListAssetModelCompositeModelsInput) (req *request.Request, output *ListAssetModelCompositeModelsOutput) { op := &request.Operation{ - Name: opListAssetModels, + Name: opListAssetModelCompositeModels, HTTPMethod: "GET", - HTTPPath: "/asset-models", + HTTPPath: "/asset-models/{assetModelId}/composite-models", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5259,26 +6071,27 @@ func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req * } if input == nil { - input = &ListAssetModelsInput{} + input = &ListAssetModelCompositeModelsInput{} } - output = &ListAssetModelsOutput{} + output = &ListAssetModelCompositeModelsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAssetModels API operation for AWS IoT SiteWise. +// ListAssetModelCompositeModels API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of summaries of all asset models. +// Retrieves a paginated list of composite models associated with the asset +// model // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListAssetModels for usage and error information. +// API operation ListAssetModelCompositeModels for usage and error information. // // Returned Error Types: // @@ -5297,64 +6110,67 @@ func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req * // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels -func (c *IoTSiteWise) ListAssetModels(input *ListAssetModelsInput) (*ListAssetModelsOutput, error) { - req, out := c.ListAssetModelsRequest(input) +// - ResourceNotFoundException +// The requested resource can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModelCompositeModels +func (c *IoTSiteWise) ListAssetModelCompositeModels(input *ListAssetModelCompositeModelsInput) (*ListAssetModelCompositeModelsOutput, error) { + req, out := c.ListAssetModelCompositeModelsRequest(input) return out, req.Send() } -// ListAssetModelsWithContext is the same as ListAssetModels with the addition of +// ListAssetModelCompositeModelsWithContext is the same as ListAssetModelCompositeModels with the addition of // the ability to pass a context and additional request options. // -// See ListAssetModels for details on how to use this API operation. +// See ListAssetModelCompositeModels for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetModelsWithContext(ctx aws.Context, input *ListAssetModelsInput, opts ...request.Option) (*ListAssetModelsOutput, error) { - req, out := c.ListAssetModelsRequest(input) +func (c *IoTSiteWise) ListAssetModelCompositeModelsWithContext(ctx aws.Context, input *ListAssetModelCompositeModelsInput, opts ...request.Option) (*ListAssetModelCompositeModelsOutput, error) { + req, out := c.ListAssetModelCompositeModelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAssetModelsPages iterates over the pages of a ListAssetModels operation, +// ListAssetModelCompositeModelsPages iterates over the pages of a ListAssetModelCompositeModels operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAssetModels method for more information on how to use this operation. +// See ListAssetModelCompositeModels method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAssetModels operation. +// // Example iterating over at most 3 pages of a ListAssetModelCompositeModels operation. // pageNum := 0 -// err := client.ListAssetModelsPages(params, -// func(page *iotsitewise.ListAssetModelsOutput, lastPage bool) bool { +// err := client.ListAssetModelCompositeModelsPages(params, +// func(page *iotsitewise.ListAssetModelCompositeModelsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListAssetModelsPages(input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool) error { - return c.ListAssetModelsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssetModelCompositeModelsPages(input *ListAssetModelCompositeModelsInput, fn func(*ListAssetModelCompositeModelsOutput, bool) bool) error { + return c.ListAssetModelCompositeModelsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAssetModelsPagesWithContext same as ListAssetModelsPages except +// ListAssetModelCompositeModelsPagesWithContext same as ListAssetModelCompositeModelsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssetModelCompositeModelsPagesWithContext(ctx aws.Context, input *ListAssetModelCompositeModelsInput, fn func(*ListAssetModelCompositeModelsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAssetModelsInput + var inCpy *ListAssetModelCompositeModelsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAssetModelsRequest(inCpy) + req, _ := c.ListAssetModelCompositeModelsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5362,7 +6178,7 @@ func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *Li } for p.Next() { - if !fn(p.Page().(*ListAssetModelsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssetModelCompositeModelsOutput), !p.HasNextPage()) { break } } @@ -5370,36 +6186,36 @@ func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opListAssetProperties = "ListAssetProperties" +const opListAssetModelProperties = "ListAssetModelProperties" -// ListAssetPropertiesRequest generates a "aws/request.Request" representing the -// client's request for the ListAssetProperties operation. The "output" return +// ListAssetModelPropertiesRequest generates a "aws/request.Request" representing the +// client's request for the ListAssetModelProperties operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAssetProperties for more information on using the ListAssetProperties +// See ListAssetModelProperties for more information on using the ListAssetModelProperties // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAssetPropertiesRequest method. -// req, resp := client.ListAssetPropertiesRequest(params) +// // Example sending a request using the ListAssetModelPropertiesRequest method. +// req, resp := client.ListAssetModelPropertiesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetProperties -func (c *IoTSiteWise) ListAssetPropertiesRequest(input *ListAssetPropertiesInput) (req *request.Request, output *ListAssetPropertiesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModelProperties +func (c *IoTSiteWise) ListAssetModelPropertiesRequest(input *ListAssetModelPropertiesInput) (req *request.Request, output *ListAssetModelPropertiesOutput) { op := &request.Operation{ - Name: opListAssetProperties, + Name: opListAssetModelProperties, HTTPMethod: "GET", - HTTPPath: "/assets/{assetId}/properties", + HTTPPath: "/asset-models/{assetModelId}/properties", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5409,28 +6225,28 @@ func (c *IoTSiteWise) ListAssetPropertiesRequest(input *ListAssetPropertiesInput } if input == nil { - input = &ListAssetPropertiesInput{} + input = &ListAssetModelPropertiesInput{} } - output = &ListAssetPropertiesOutput{} + output = &ListAssetModelPropertiesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAssetProperties API operation for AWS IoT SiteWise. +// ListAssetModelProperties API operation for AWS IoT SiteWise. // -// 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. +// Retrieves a paginated list of properties associated with an asset model. +// If you update properties associated with the model before you finish listing +// all the properties, you need to start all over again. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListAssetProperties for usage and error information. +// API operation ListAssetModelProperties for usage and error information. // // Returned Error Types: // @@ -5452,64 +6268,64 @@ func (c *IoTSiteWise) ListAssetPropertiesRequest(input *ListAssetPropertiesInput // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetProperties -func (c *IoTSiteWise) ListAssetProperties(input *ListAssetPropertiesInput) (*ListAssetPropertiesOutput, error) { - req, out := c.ListAssetPropertiesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModelProperties +func (c *IoTSiteWise) ListAssetModelProperties(input *ListAssetModelPropertiesInput) (*ListAssetModelPropertiesOutput, error) { + req, out := c.ListAssetModelPropertiesRequest(input) return out, req.Send() } -// ListAssetPropertiesWithContext is the same as ListAssetProperties with the addition of +// ListAssetModelPropertiesWithContext is the same as ListAssetModelProperties with the addition of // the ability to pass a context and additional request options. // -// See ListAssetProperties for details on how to use this API operation. +// See ListAssetModelProperties for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetPropertiesWithContext(ctx aws.Context, input *ListAssetPropertiesInput, opts ...request.Option) (*ListAssetPropertiesOutput, error) { - req, out := c.ListAssetPropertiesRequest(input) +func (c *IoTSiteWise) ListAssetModelPropertiesWithContext(ctx aws.Context, input *ListAssetModelPropertiesInput, opts ...request.Option) (*ListAssetModelPropertiesOutput, error) { + req, out := c.ListAssetModelPropertiesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAssetPropertiesPages iterates over the pages of a ListAssetProperties operation, +// ListAssetModelPropertiesPages iterates over the pages of a ListAssetModelProperties operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAssetProperties method for more information on how to use this operation. +// See ListAssetModelProperties method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAssetProperties operation. +// // Example iterating over at most 3 pages of a ListAssetModelProperties operation. // pageNum := 0 -// err := client.ListAssetPropertiesPages(params, -// func(page *iotsitewise.ListAssetPropertiesOutput, lastPage bool) bool { +// err := client.ListAssetModelPropertiesPages(params, +// func(page *iotsitewise.ListAssetModelPropertiesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListAssetPropertiesPages(input *ListAssetPropertiesInput, fn func(*ListAssetPropertiesOutput, bool) bool) error { - return c.ListAssetPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssetModelPropertiesPages(input *ListAssetModelPropertiesInput, fn func(*ListAssetModelPropertiesOutput, bool) bool) error { + return c.ListAssetModelPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAssetPropertiesPagesWithContext same as ListAssetPropertiesPages except +// ListAssetModelPropertiesPagesWithContext same as ListAssetModelPropertiesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetPropertiesPagesWithContext(ctx aws.Context, input *ListAssetPropertiesInput, fn func(*ListAssetPropertiesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssetModelPropertiesPagesWithContext(ctx aws.Context, input *ListAssetModelPropertiesInput, fn func(*ListAssetModelPropertiesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAssetPropertiesInput + var inCpy *ListAssetModelPropertiesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAssetPropertiesRequest(inCpy) + req, _ := c.ListAssetModelPropertiesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5517,7 +6333,7 @@ func (c *IoTSiteWise) ListAssetPropertiesPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListAssetPropertiesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssetModelPropertiesOutput), !p.HasNextPage()) { break } } @@ -5525,36 +6341,36 @@ func (c *IoTSiteWise) ListAssetPropertiesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListAssetRelationships = "ListAssetRelationships" +const opListAssetModels = "ListAssetModels" -// ListAssetRelationshipsRequest generates a "aws/request.Request" representing the -// client's request for the ListAssetRelationships operation. The "output" return +// ListAssetModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssetModels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAssetRelationships for more information on using the ListAssetRelationships +// See ListAssetModels for more information on using the ListAssetModels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAssetRelationshipsRequest method. -// req, resp := client.ListAssetRelationshipsRequest(params) +// // Example sending a request using the ListAssetModelsRequest method. +// req, resp := client.ListAssetModelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships -func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationshipsInput) (req *request.Request, output *ListAssetRelationshipsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels +func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req *request.Request, output *ListAssetModelsOutput) { op := &request.Operation{ - Name: opListAssetRelationships, + Name: opListAssetModels, HTTPMethod: "GET", - HTTPPath: "/assets/{assetId}/assetRelationships", + HTTPPath: "/asset-models", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5564,28 +6380,26 @@ func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationship } if input == nil { - input = &ListAssetRelationshipsInput{} + input = &ListAssetModelsInput{} } - output = &ListAssetRelationshipsOutput{} + output = &ListAssetModelsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAssetRelationships API operation for AWS IoT SiteWise. +// ListAssetModels API operation for AWS IoT SiteWise. // -// 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. +// Retrieves a paginated list of summaries of all asset models. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListAssetRelationships for usage and error information. +// API operation ListAssetModels for usage and error information. // // Returned Error Types: // @@ -5596,9 +6410,6 @@ func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationship // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // -// - ResourceNotFoundException -// The requested resource can't be found. -// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -5607,64 +6418,64 @@ func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationship // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships -func (c *IoTSiteWise) ListAssetRelationships(input *ListAssetRelationshipsInput) (*ListAssetRelationshipsOutput, error) { - req, out := c.ListAssetRelationshipsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels +func (c *IoTSiteWise) ListAssetModels(input *ListAssetModelsInput) (*ListAssetModelsOutput, error) { + req, out := c.ListAssetModelsRequest(input) return out, req.Send() } -// ListAssetRelationshipsWithContext is the same as ListAssetRelationships with the addition of +// ListAssetModelsWithContext is the same as ListAssetModels with the addition of // the ability to pass a context and additional request options. // -// See ListAssetRelationships for details on how to use this API operation. +// See ListAssetModels for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetRelationshipsWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, opts ...request.Option) (*ListAssetRelationshipsOutput, error) { - req, out := c.ListAssetRelationshipsRequest(input) +func (c *IoTSiteWise) ListAssetModelsWithContext(ctx aws.Context, input *ListAssetModelsInput, opts ...request.Option) (*ListAssetModelsOutput, error) { + req, out := c.ListAssetModelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAssetRelationshipsPages iterates over the pages of a ListAssetRelationships operation, +// ListAssetModelsPages iterates over the pages of a ListAssetModels operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAssetRelationships method for more information on how to use this operation. +// See ListAssetModels method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAssetRelationships operation. +// // Example iterating over at most 3 pages of a ListAssetModels operation. // pageNum := 0 -// err := client.ListAssetRelationshipsPages(params, -// func(page *iotsitewise.ListAssetRelationshipsOutput, lastPage bool) bool { +// err := client.ListAssetModelsPages(params, +// func(page *iotsitewise.ListAssetModelsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListAssetRelationshipsPages(input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool) error { - return c.ListAssetRelationshipsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssetModelsPages(input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool) error { + return c.ListAssetModelsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAssetRelationshipsPagesWithContext same as ListAssetRelationshipsPages except +// ListAssetModelsPagesWithContext same as ListAssetModelsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAssetRelationshipsInput + var inCpy *ListAssetModelsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAssetRelationshipsRequest(inCpy) + req, _ := c.ListAssetModelsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5672,7 +6483,7 @@ func (c *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, in } for p.Next() { - if !fn(p.Page().(*ListAssetRelationshipsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssetModelsOutput), !p.HasNextPage()) { break } } @@ -5680,36 +6491,36 @@ func (c *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, in return p.Err() } -const opListAssets = "ListAssets" +const opListAssetProperties = "ListAssetProperties" -// ListAssetsRequest generates a "aws/request.Request" representing the -// client's request for the ListAssets operation. The "output" return +// ListAssetPropertiesRequest generates a "aws/request.Request" representing the +// client's request for the ListAssetProperties operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAssets for more information on using the ListAssets +// See ListAssetProperties for more information on using the ListAssetProperties // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAssetsRequest method. -// req, resp := client.ListAssetsRequest(params) +// // Example sending a request using the ListAssetPropertiesRequest method. +// req, resp := client.ListAssetPropertiesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets -func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetProperties +func (c *IoTSiteWise) ListAssetPropertiesRequest(input *ListAssetPropertiesInput) (req *request.Request, output *ListAssetPropertiesOutput) { op := &request.Operation{ - Name: opListAssets, + Name: opListAssetProperties, HTTPMethod: "GET", - HTTPPath: "/assets", + HTTPPath: "/assets/{assetId}/properties", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5719,37 +6530,28 @@ func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Re } if input == nil { - input = &ListAssetsInput{} + input = &ListAssetPropertiesInput{} } - output = &ListAssetsOutput{} + output = &ListAssetPropertiesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAssets API operation for AWS IoT SiteWise. -// -// Retrieves a paginated list of asset summaries. -// -// You can use this operation to do the following: -// -// - List assets based on a specific asset model. -// -// - List top-level assets. +// ListAssetProperties API operation for AWS IoT SiteWise. // -// You can't use this operation to list all assets. To retrieve summaries for -// all of your assets, use ListAssetModels (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssetModels.html) -// to get all of your asset model IDs. Then, use ListAssets to get all assets -// for each asset model. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListAssets for usage and error information. +// API operation ListAssetProperties for usage and error information. // // Returned Error Types: // @@ -5771,64 +6573,64 @@ func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Re // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets -func (c *IoTSiteWise) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) { - req, out := c.ListAssetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetProperties +func (c *IoTSiteWise) ListAssetProperties(input *ListAssetPropertiesInput) (*ListAssetPropertiesOutput, error) { + req, out := c.ListAssetPropertiesRequest(input) return out, req.Send() } -// ListAssetsWithContext is the same as ListAssets with the addition of +// ListAssetPropertiesWithContext is the same as ListAssetProperties with the addition of // the ability to pass a context and additional request options. // -// See ListAssets for details on how to use this API operation. +// See ListAssetProperties for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) { - req, out := c.ListAssetsRequest(input) +func (c *IoTSiteWise) ListAssetPropertiesWithContext(ctx aws.Context, input *ListAssetPropertiesInput, opts ...request.Option) (*ListAssetPropertiesOutput, error) { + req, out := c.ListAssetPropertiesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAssetsPages iterates over the pages of a ListAssets operation, +// ListAssetPropertiesPages iterates over the pages of a ListAssetProperties operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAssets method for more information on how to use this operation. +// See ListAssetProperties method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAssets operation. +// // Example iterating over at most 3 pages of a ListAssetProperties operation. // pageNum := 0 -// err := client.ListAssetsPages(params, -// func(page *iotsitewise.ListAssetsOutput, lastPage bool) bool { +// err := client.ListAssetPropertiesPages(params, +// func(page *iotsitewise.ListAssetPropertiesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error { - return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssetPropertiesPages(input *ListAssetPropertiesInput, fn func(*ListAssetPropertiesOutput, bool) bool) error { + return c.ListAssetPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAssetsPagesWithContext same as ListAssetsPages except +// ListAssetPropertiesPagesWithContext same as ListAssetPropertiesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssetPropertiesPagesWithContext(ctx aws.Context, input *ListAssetPropertiesInput, fn func(*ListAssetPropertiesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAssetsInput + var inCpy *ListAssetPropertiesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAssetsRequest(inCpy) + req, _ := c.ListAssetPropertiesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5836,7 +6638,7 @@ func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAss } for p.Next() { - if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssetPropertiesOutput), !p.HasNextPage()) { break } } @@ -5844,36 +6646,36 @@ func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAss return p.Err() } -const opListAssociatedAssets = "ListAssociatedAssets" +const opListAssetRelationships = "ListAssetRelationships" -// ListAssociatedAssetsRequest generates a "aws/request.Request" representing the -// client's request for the ListAssociatedAssets operation. The "output" return -// value will be populated with the request's response once the request completes +// ListAssetRelationshipsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssetRelationships operation. The "output" return +// value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAssociatedAssets for more information on using the ListAssociatedAssets +// See ListAssetRelationships for more information on using the ListAssetRelationships // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAssociatedAssetsRequest method. -// req, resp := client.ListAssociatedAssetsRequest(params) +// // Example sending a request using the ListAssetRelationshipsRequest method. +// req, resp := client.ListAssetRelationshipsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets -func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInput) (req *request.Request, output *ListAssociatedAssetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships +func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationshipsInput) (req *request.Request, output *ListAssetRelationshipsOutput) { op := &request.Operation{ - Name: opListAssociatedAssets, + Name: opListAssetRelationships, HTTPMethod: "GET", - HTTPPath: "/assets/{assetId}/hierarchies", + HTTPPath: "/assets/{assetId}/assetRelationships", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5883,33 +6685,28 @@ func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInp } if input == nil { - input = &ListAssociatedAssetsInput{} + input = &ListAssetRelationshipsInput{} } - output = &ListAssociatedAssetsOutput{} + output = &ListAssetRelationshipsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAssociatedAssets API operation for AWS IoT SiteWise. -// -// Retrieves a paginated list of associated assets. -// -// You can use this operation to do the following: -// -// - List child assets associated to a parent asset by a hierarchy that you -// specify. +// ListAssetRelationships API operation for AWS IoT SiteWise. // -// - List an asset's parent asset. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListAssociatedAssets for usage and error information. +// API operation ListAssetRelationships for usage and error information. // // Returned Error Types: // @@ -5931,64 +6728,64 @@ func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInp // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets -func (c *IoTSiteWise) ListAssociatedAssets(input *ListAssociatedAssetsInput) (*ListAssociatedAssetsOutput, error) { - req, out := c.ListAssociatedAssetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships +func (c *IoTSiteWise) ListAssetRelationships(input *ListAssetRelationshipsInput) (*ListAssetRelationshipsOutput, error) { + req, out := c.ListAssetRelationshipsRequest(input) return out, req.Send() } -// ListAssociatedAssetsWithContext is the same as ListAssociatedAssets with the addition of +// ListAssetRelationshipsWithContext is the same as ListAssetRelationships with the addition of // the ability to pass a context and additional request options. // -// See ListAssociatedAssets for details on how to use this API operation. +// See ListAssetRelationships for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssociatedAssetsWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, opts ...request.Option) (*ListAssociatedAssetsOutput, error) { - req, out := c.ListAssociatedAssetsRequest(input) +func (c *IoTSiteWise) ListAssetRelationshipsWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, opts ...request.Option) (*ListAssetRelationshipsOutput, error) { + req, out := c.ListAssetRelationshipsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAssociatedAssetsPages iterates over the pages of a ListAssociatedAssets operation, +// ListAssetRelationshipsPages iterates over the pages of a ListAssetRelationships operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAssociatedAssets method for more information on how to use this operation. +// See ListAssetRelationships method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAssociatedAssets operation. +// // Example iterating over at most 3 pages of a ListAssetRelationships operation. // pageNum := 0 -// err := client.ListAssociatedAssetsPages(params, -// func(page *iotsitewise.ListAssociatedAssetsOutput, lastPage bool) bool { +// err := client.ListAssetRelationshipsPages(params, +// func(page *iotsitewise.ListAssetRelationshipsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListAssociatedAssetsPages(input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool) error { - return c.ListAssociatedAssetsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssetRelationshipsPages(input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool) error { + return c.ListAssetRelationshipsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAssociatedAssetsPagesWithContext same as ListAssociatedAssetsPages except +// ListAssetRelationshipsPagesWithContext same as ListAssetRelationshipsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAssociatedAssetsInput + var inCpy *ListAssetRelationshipsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAssociatedAssetsRequest(inCpy) + req, _ := c.ListAssetRelationshipsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5996,7 +6793,7 @@ func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, inpu } for p.Next() { - if !fn(p.Page().(*ListAssociatedAssetsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssetRelationshipsOutput), !p.HasNextPage()) { break } } @@ -6004,36 +6801,36 @@ func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opListBulkImportJobs = "ListBulkImportJobs" +const opListAssets = "ListAssets" -// ListBulkImportJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListBulkImportJobs operation. The "output" return +// ListAssetsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListBulkImportJobs for more information on using the ListBulkImportJobs +// See ListAssets for more information on using the ListAssets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListBulkImportJobsRequest method. -// req, resp := client.ListBulkImportJobsRequest(params) +// // Example sending a request using the ListAssetsRequest method. +// req, resp := client.ListAssetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListBulkImportJobs -func (c *IoTSiteWise) ListBulkImportJobsRequest(input *ListBulkImportJobsInput) (req *request.Request, output *ListBulkImportJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets +func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) { op := &request.Operation{ - Name: opListBulkImportJobs, + Name: opListAssets, HTTPMethod: "GET", - HTTPPath: "/jobs", + HTTPPath: "/assets", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6043,28 +6840,37 @@ func (c *IoTSiteWise) ListBulkImportJobsRequest(input *ListBulkImportJobsInput) } if input == nil { - input = &ListBulkImportJobsInput{} + input = &ListAssetsInput{} } - output = &ListBulkImportJobsOutput{} + output = &ListAssetsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListBulkImportJobs API operation for AWS IoT SiteWise. +// ListAssets API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of bulk import job requests. For more information, -// see List bulk import jobs (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ListBulkImportJobs.html) -// in the IoT SiteWise User Guide. +// Retrieves a paginated list of asset summaries. +// +// You can use this operation to do the following: +// +// - List assets based on a specific asset model. +// +// - List top-level assets. +// +// You can't use this operation to list all assets. To retrieve summaries for +// all of your assets, use ListAssetModels (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssetModels.html) +// to get all of your asset model IDs. Then, use ListAssets to get all assets +// for each asset model. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListBulkImportJobs for usage and error information. +// API operation ListAssets for usage and error information. // // Returned Error Types: // @@ -6086,64 +6892,64 @@ func (c *IoTSiteWise) ListBulkImportJobsRequest(input *ListBulkImportJobsInput) // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListBulkImportJobs -func (c *IoTSiteWise) ListBulkImportJobs(input *ListBulkImportJobsInput) (*ListBulkImportJobsOutput, error) { - req, out := c.ListBulkImportJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets +func (c *IoTSiteWise) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) { + req, out := c.ListAssetsRequest(input) return out, req.Send() } -// ListBulkImportJobsWithContext is the same as ListBulkImportJobs with the addition of +// ListAssetsWithContext is the same as ListAssets with the addition of // the ability to pass a context and additional request options. // -// See ListBulkImportJobs for details on how to use this API operation. +// See ListAssets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListBulkImportJobsWithContext(ctx aws.Context, input *ListBulkImportJobsInput, opts ...request.Option) (*ListBulkImportJobsOutput, error) { - req, out := c.ListBulkImportJobsRequest(input) +func (c *IoTSiteWise) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) { + req, out := c.ListAssetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListBulkImportJobsPages iterates over the pages of a ListBulkImportJobs operation, +// ListAssetsPages iterates over the pages of a ListAssets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListBulkImportJobs method for more information on how to use this operation. +// See ListAssets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListBulkImportJobs operation. +// // Example iterating over at most 3 pages of a ListAssets operation. // pageNum := 0 -// err := client.ListBulkImportJobsPages(params, -// func(page *iotsitewise.ListBulkImportJobsOutput, lastPage bool) bool { +// err := client.ListAssetsPages(params, +// func(page *iotsitewise.ListAssetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListBulkImportJobsPages(input *ListBulkImportJobsInput, fn func(*ListBulkImportJobsOutput, bool) bool) error { - return c.ListBulkImportJobsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error { + return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListBulkImportJobsPagesWithContext same as ListBulkImportJobsPages except +// ListAssetsPagesWithContext same as ListAssetsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListBulkImportJobsPagesWithContext(ctx aws.Context, input *ListBulkImportJobsInput, fn func(*ListBulkImportJobsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListBulkImportJobsInput + var inCpy *ListAssetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListBulkImportJobsRequest(inCpy) + req, _ := c.ListAssetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6151,7 +6957,7 @@ func (c *IoTSiteWise) ListBulkImportJobsPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListBulkImportJobsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) { break } } @@ -6159,36 +6965,36 @@ func (c *IoTSiteWise) ListBulkImportJobsPagesWithContext(ctx aws.Context, input return p.Err() } -const opListDashboards = "ListDashboards" +const opListAssociatedAssets = "ListAssociatedAssets" -// ListDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboards operation. The "output" return +// ListAssociatedAssetsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssociatedAssets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDashboards for more information on using the ListDashboards +// See ListAssociatedAssets for more information on using the ListAssociatedAssets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListDashboardsRequest method. -// req, resp := client.ListDashboardsRequest(params) +// // Example sending a request using the ListAssociatedAssetsRequest method. +// req, resp := client.ListAssociatedAssetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards -func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets +func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInput) (req *request.Request, output *ListAssociatedAssetsOutput) { op := &request.Operation{ - Name: opListDashboards, + Name: opListAssociatedAssets, HTTPMethod: "GET", - HTTPPath: "/dashboards", + HTTPPath: "/assets/{assetId}/hierarchies", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6198,26 +7004,33 @@ func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *re } if input == nil { - input = &ListDashboardsInput{} + input = &ListAssociatedAssetsInput{} } - output = &ListDashboardsOutput{} + output = &ListAssociatedAssetsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListDashboards API operation for AWS IoT SiteWise. +// ListAssociatedAssets API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of dashboards for an IoT SiteWise Monitor project. +// Retrieves a paginated list of associated assets. +// +// You can use this operation to do the following: +// +// - List child assets associated to a parent asset by a hierarchy that you +// specify. +// +// - List an asset's parent asset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListDashboards for usage and error information. +// API operation ListAssociatedAssets for usage and error information. // // Returned Error Types: // @@ -6228,6 +7041,9 @@ func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *re // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // +// - ResourceNotFoundException +// The requested resource can't be found. +// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -6236,64 +7052,64 @@ func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *re // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards -func (c *IoTSiteWise) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { - req, out := c.ListDashboardsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets +func (c *IoTSiteWise) ListAssociatedAssets(input *ListAssociatedAssetsInput) (*ListAssociatedAssetsOutput, error) { + req, out := c.ListAssociatedAssetsRequest(input) return out, req.Send() } -// ListDashboardsWithContext is the same as ListDashboards with the addition of +// ListAssociatedAssetsWithContext is the same as ListAssociatedAssets with the addition of // the ability to pass a context and additional request options. // -// See ListDashboards for details on how to use this API operation. +// See ListAssociatedAssets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { - req, out := c.ListDashboardsRequest(input) +func (c *IoTSiteWise) ListAssociatedAssetsWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, opts ...request.Option) (*ListAssociatedAssetsOutput, error) { + req, out := c.ListAssociatedAssetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDashboardsPages iterates over the pages of a ListDashboards operation, +// ListAssociatedAssetsPages iterates over the pages of a ListAssociatedAssets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListDashboards method for more information on how to use this operation. +// See ListAssociatedAssets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListDashboards operation. +// // Example iterating over at most 3 pages of a ListAssociatedAssets operation. // pageNum := 0 -// err := client.ListDashboardsPages(params, -// func(page *iotsitewise.ListDashboardsOutput, lastPage bool) bool { +// err := client.ListAssociatedAssetsPages(params, +// func(page *iotsitewise.ListAssociatedAssetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error { - return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListAssociatedAssetsPages(input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool) error { + return c.ListAssociatedAssetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListDashboardsPagesWithContext same as ListDashboardsPages except +// ListAssociatedAssetsPagesWithContext same as ListAssociatedAssetsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListDashboardsInput + var inCpy *ListAssociatedAssetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListDashboardsRequest(inCpy) + req, _ := c.ListAssociatedAssetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6301,7 +7117,7 @@ func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAssociatedAssetsOutput), !p.HasNextPage()) { break } } @@ -6309,36 +7125,36 @@ func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListGateways = "ListGateways" +const opListBulkImportJobs = "ListBulkImportJobs" -// ListGatewaysRequest generates a "aws/request.Request" representing the -// client's request for the ListGateways operation. The "output" return +// ListBulkImportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListBulkImportJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListGateways for more information on using the ListGateways +// See ListBulkImportJobs for more information on using the ListBulkImportJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListGatewaysRequest method. -// req, resp := client.ListGatewaysRequest(params) +// // Example sending a request using the ListBulkImportJobsRequest method. +// req, resp := client.ListBulkImportJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways -func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListBulkImportJobs +func (c *IoTSiteWise) ListBulkImportJobsRequest(input *ListBulkImportJobsInput) (req *request.Request, output *ListBulkImportJobsOutput) { op := &request.Operation{ - Name: opListGateways, + Name: opListBulkImportJobs, HTTPMethod: "GET", - HTTPPath: "/20200301/gateways", + HTTPPath: "/jobs", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6348,26 +7164,28 @@ func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *reques } if input == nil { - input = &ListGatewaysInput{} + input = &ListBulkImportJobsInput{} } - output = &ListGatewaysOutput{} + output = &ListBulkImportJobsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListGateways API operation for AWS IoT SiteWise. +// ListBulkImportJobs API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of gateways. +// Retrieves a paginated list of bulk import job requests. For more information, +// see List bulk import jobs (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ListBulkImportJobs.html) +// in the IoT SiteWise User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListGateways for usage and error information. +// API operation ListBulkImportJobs for usage and error information. // // Returned Error Types: // @@ -6378,6 +7196,9 @@ func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *reques // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // +// - ResourceNotFoundException +// The requested resource can't be found. +// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -6386,64 +7207,64 @@ func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *reques // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways -func (c *IoTSiteWise) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) { - req, out := c.ListGatewaysRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListBulkImportJobs +func (c *IoTSiteWise) ListBulkImportJobs(input *ListBulkImportJobsInput) (*ListBulkImportJobsOutput, error) { + req, out := c.ListBulkImportJobsRequest(input) return out, req.Send() } -// ListGatewaysWithContext is the same as ListGateways with the addition of +// ListBulkImportJobsWithContext is the same as ListBulkImportJobs with the addition of // the ability to pass a context and additional request options. // -// See ListGateways for details on how to use this API operation. +// See ListBulkImportJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) { - req, out := c.ListGatewaysRequest(input) +func (c *IoTSiteWise) ListBulkImportJobsWithContext(ctx aws.Context, input *ListBulkImportJobsInput, opts ...request.Option) (*ListBulkImportJobsOutput, error) { + req, out := c.ListBulkImportJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListGatewaysPages iterates over the pages of a ListGateways operation, +// ListBulkImportJobsPages iterates over the pages of a ListBulkImportJobs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListGateways method for more information on how to use this operation. +// See ListBulkImportJobs method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListGateways operation. +// // Example iterating over at most 3 pages of a ListBulkImportJobs operation. // pageNum := 0 -// err := client.ListGatewaysPages(params, -// func(page *iotsitewise.ListGatewaysOutput, lastPage bool) bool { +// err := client.ListBulkImportJobsPages(params, +// func(page *iotsitewise.ListBulkImportJobsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error { - return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListBulkImportJobsPages(input *ListBulkImportJobsInput, fn func(*ListBulkImportJobsOutput, bool) bool) error { + return c.ListBulkImportJobsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListGatewaysPagesWithContext same as ListGatewaysPages except +// ListBulkImportJobsPagesWithContext same as ListBulkImportJobsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListBulkImportJobsPagesWithContext(ctx aws.Context, input *ListBulkImportJobsInput, fn func(*ListBulkImportJobsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListGatewaysInput + var inCpy *ListBulkImportJobsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListGatewaysRequest(inCpy) + req, _ := c.ListBulkImportJobsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6451,7 +7272,7 @@ func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListG } for p.Next() { - if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListBulkImportJobsOutput), !p.HasNextPage()) { break } } @@ -6459,36 +7280,36 @@ func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListG return p.Err() } -const opListPortals = "ListPortals" +const opListCompositionRelationships = "ListCompositionRelationships" -// ListPortalsRequest generates a "aws/request.Request" representing the -// client's request for the ListPortals operation. The "output" return +// ListCompositionRelationshipsRequest generates a "aws/request.Request" representing the +// client's request for the ListCompositionRelationships operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPortals for more information on using the ListPortals +// See ListCompositionRelationships for more information on using the ListCompositionRelationships // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListPortalsRequest method. -// req, resp := client.ListPortalsRequest(params) +// // Example sending a request using the ListCompositionRelationshipsRequest method. +// req, resp := client.ListCompositionRelationshipsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals -func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request.Request, output *ListPortalsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListCompositionRelationships +func (c *IoTSiteWise) ListCompositionRelationshipsRequest(input *ListCompositionRelationshipsInput) (req *request.Request, output *ListCompositionRelationshipsOutput) { op := &request.Operation{ - Name: opListPortals, + Name: opListCompositionRelationships, HTTPMethod: "GET", - HTTPPath: "/portals", + HTTPPath: "/asset-models/{assetModelId}/composition-relationships", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6498,26 +7319,27 @@ func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request. } if input == nil { - input = &ListPortalsInput{} + input = &ListCompositionRelationshipsInput{} } - output = &ListPortalsOutput{} + output = &ListCompositionRelationshipsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListPortals API operation for AWS IoT SiteWise. +// ListCompositionRelationships API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of IoT SiteWise Monitor portals. +// Retrieves a paginated list of composition relationships for an asset model +// of type COMPONENT_MODEL. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListPortals for usage and error information. +// API operation ListCompositionRelationships for usage and error information. // // Returned Error Types: // @@ -6528,6 +7350,9 @@ func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request. // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // +// - ResourceNotFoundException +// The requested resource can't be found. +// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -6536,64 +7361,64 @@ func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request. // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals -func (c *IoTSiteWise) ListPortals(input *ListPortalsInput) (*ListPortalsOutput, error) { - req, out := c.ListPortalsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListCompositionRelationships +func (c *IoTSiteWise) ListCompositionRelationships(input *ListCompositionRelationshipsInput) (*ListCompositionRelationshipsOutput, error) { + req, out := c.ListCompositionRelationshipsRequest(input) return out, req.Send() } -// ListPortalsWithContext is the same as ListPortals with the addition of +// ListCompositionRelationshipsWithContext is the same as ListCompositionRelationships with the addition of // the ability to pass a context and additional request options. // -// See ListPortals for details on how to use this API operation. +// See ListCompositionRelationships for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListPortalsWithContext(ctx aws.Context, input *ListPortalsInput, opts ...request.Option) (*ListPortalsOutput, error) { - req, out := c.ListPortalsRequest(input) +func (c *IoTSiteWise) ListCompositionRelationshipsWithContext(ctx aws.Context, input *ListCompositionRelationshipsInput, opts ...request.Option) (*ListCompositionRelationshipsOutput, error) { + req, out := c.ListCompositionRelationshipsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPortalsPages iterates over the pages of a ListPortals operation, +// ListCompositionRelationshipsPages iterates over the pages of a ListCompositionRelationships operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPortals method for more information on how to use this operation. +// See ListCompositionRelationships method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListPortals operation. +// // Example iterating over at most 3 pages of a ListCompositionRelationships operation. // pageNum := 0 -// err := client.ListPortalsPages(params, -// func(page *iotsitewise.ListPortalsOutput, lastPage bool) bool { +// err := client.ListCompositionRelationshipsPages(params, +// func(page *iotsitewise.ListCompositionRelationshipsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListPortalsPages(input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool) error { - return c.ListPortalsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListCompositionRelationshipsPages(input *ListCompositionRelationshipsInput, fn func(*ListCompositionRelationshipsOutput, bool) bool) error { + return c.ListCompositionRelationshipsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPortalsPagesWithContext same as ListPortalsPages except +// ListCompositionRelationshipsPagesWithContext same as ListCompositionRelationshipsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListCompositionRelationshipsPagesWithContext(ctx aws.Context, input *ListCompositionRelationshipsInput, fn func(*ListCompositionRelationshipsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPortalsInput + var inCpy *ListCompositionRelationshipsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPortalsRequest(inCpy) + req, _ := c.ListCompositionRelationshipsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6601,7 +7426,7 @@ func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPo } for p.Next() { - if !fn(p.Page().(*ListPortalsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCompositionRelationshipsOutput), !p.HasNextPage()) { break } } @@ -6609,36 +7434,36 @@ func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPo return p.Err() } -const opListProjectAssets = "ListProjectAssets" +const opListDashboards = "ListDashboards" -// ListProjectAssetsRequest generates a "aws/request.Request" representing the -// client's request for the ListProjectAssets operation. The "output" return +// ListDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboards operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListProjectAssets for more information on using the ListProjectAssets +// See ListDashboards for more information on using the ListDashboards // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListProjectAssetsRequest method. -// req, resp := client.ListProjectAssetsRequest(params) +// // Example sending a request using the ListDashboardsRequest method. +// req, resp := client.ListDashboardsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets -func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (req *request.Request, output *ListProjectAssetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards +func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { op := &request.Operation{ - Name: opListProjectAssets, + Name: opListDashboards, HTTPMethod: "GET", - HTTPPath: "/projects/{projectId}/assets", + HTTPPath: "/dashboards", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6648,27 +7473,26 @@ func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (r } if input == nil { - input = &ListProjectAssetsInput{} + input = &ListDashboardsInput{} } - output = &ListProjectAssetsOutput{} + output = &ListDashboardsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListProjectAssets API operation for AWS IoT SiteWise. +// ListDashboards API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of assets associated with an IoT SiteWise Monitor -// project. +// Retrieves a paginated list of dashboards for an IoT SiteWise Monitor project. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListProjectAssets for usage and error information. +// API operation ListDashboards for usage and error information. // // Returned Error Types: // @@ -6687,64 +7511,64 @@ func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (r // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets -func (c *IoTSiteWise) ListProjectAssets(input *ListProjectAssetsInput) (*ListProjectAssetsOutput, error) { - req, out := c.ListProjectAssetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards +func (c *IoTSiteWise) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) return out, req.Send() } -// ListProjectAssetsWithContext is the same as ListProjectAssets with the addition of +// ListDashboardsWithContext is the same as ListDashboards with the addition of // the ability to pass a context and additional request options. // -// See ListProjectAssets for details on how to use this API operation. +// See ListDashboards for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListProjectAssetsWithContext(ctx aws.Context, input *ListProjectAssetsInput, opts ...request.Option) (*ListProjectAssetsOutput, error) { - req, out := c.ListProjectAssetsRequest(input) +func (c *IoTSiteWise) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProjectAssetsPages iterates over the pages of a ListProjectAssets operation, +// ListDashboardsPages iterates over the pages of a ListDashboards operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListProjectAssets method for more information on how to use this operation. +// See ListDashboards method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListProjectAssets operation. +// // Example iterating over at most 3 pages of a ListDashboards operation. // pageNum := 0 -// err := client.ListProjectAssetsPages(params, -// func(page *iotsitewise.ListProjectAssetsOutput, lastPage bool) bool { +// err := client.ListDashboardsPages(params, +// func(page *iotsitewise.ListDashboardsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListProjectAssetsPages(input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool) error { - return c.ListProjectAssetsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error { + return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListProjectAssetsPagesWithContext same as ListProjectAssetsPages except +// ListDashboardsPagesWithContext same as ListDashboardsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListProjectAssetsInput + var inCpy *ListDashboardsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListProjectAssetsRequest(inCpy) + req, _ := c.ListDashboardsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6752,7 +7576,7 @@ func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input * } for p.Next() { - if !fn(p.Page().(*ListProjectAssetsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) { break } } @@ -6760,36 +7584,36 @@ func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input * return p.Err() } -const opListProjects = "ListProjects" +const opListGateways = "ListGateways" -// ListProjectsRequest generates a "aws/request.Request" representing the -// client's request for the ListProjects operation. The "output" return +// ListGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the ListGateways operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListProjects for more information on using the ListProjects +// See ListGateways for more information on using the ListGateways // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListProjectsRequest method. -// req, resp := client.ListProjectsRequest(params) +// // Example sending a request using the ListGatewaysRequest method. +// req, resp := client.ListGatewaysRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects -func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways +func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) { op := &request.Operation{ - Name: opListProjects, + Name: opListGateways, HTTPMethod: "GET", - HTTPPath: "/projects", + HTTPPath: "/20200301/gateways", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6799,26 +7623,26 @@ func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *reques } if input == nil { - input = &ListProjectsInput{} + input = &ListGatewaysInput{} } - output = &ListProjectsOutput{} + output = &ListGatewaysOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListProjects API operation for AWS IoT SiteWise. +// ListGateways API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of projects for an IoT SiteWise Monitor portal. +// Retrieves a paginated list of gateways. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListProjects for usage and error information. +// API operation ListGateways for usage and error information. // // Returned Error Types: // @@ -6837,64 +7661,64 @@ func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *reques // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects -func (c *IoTSiteWise) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) { - req, out := c.ListProjectsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways +func (c *IoTSiteWise) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) { + req, out := c.ListGatewaysRequest(input) return out, req.Send() } -// ListProjectsWithContext is the same as ListProjects with the addition of +// ListGatewaysWithContext is the same as ListGateways with the addition of // the ability to pass a context and additional request options. // -// See ListProjects for details on how to use this API operation. +// See ListGateways for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) { - req, out := c.ListProjectsRequest(input) +func (c *IoTSiteWise) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) { + req, out := c.ListGatewaysRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProjectsPages iterates over the pages of a ListProjects operation, +// ListGatewaysPages iterates over the pages of a ListGateways operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListProjects method for more information on how to use this operation. +// See ListGateways method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListProjects operation. +// // Example iterating over at most 3 pages of a ListGateways operation. // pageNum := 0 -// err := client.ListProjectsPages(params, -// func(page *iotsitewise.ListProjectsOutput, lastPage bool) bool { +// err := client.ListGatewaysPages(params, +// func(page *iotsitewise.ListGatewaysOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error { - return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error { + return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListProjectsPagesWithContext same as ListProjectsPages except +// ListGatewaysPagesWithContext same as ListGatewaysPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListProjectsInput + var inCpy *ListGatewaysInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListProjectsRequest(inCpy) + req, _ := c.ListGatewaysRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6902,7 +7726,7 @@ func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListP } for p.Next() { - if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) { break } } @@ -6910,59 +7734,65 @@ func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListP return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListPortals = "ListPortals" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListPortalsRequest generates a "aws/request.Request" representing the +// client's request for the ListPortals operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListPortals for more information on using the ListPortals // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListPortalsRequest method. +// req, resp := client.ListPortalsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource -func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals +func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request.Request, output *ListPortalsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListPortals, HTTPMethod: "GET", - HTTPPath: "/tags", - } - - if input == nil { - input = &ListTagsForResourceInput{} + HTTPPath: "/portals", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } - output = &ListTagsForResourceOutput{} + if input == nil { + input = &ListPortalsInput{} + } + + output = &ListPortalsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListTagsForResource API operation for AWS IoT SiteWise. +// ListPortals API operation for AWS IoT SiteWise. // -// Retrieves the list of tags for an IoT SiteWise resource. +// Retrieves a paginated list of IoT SiteWise Monitor portals. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListTagsForResource for usage and error information. +// API operation ListPortals for usage and error information. // // Returned Error Types: // @@ -6981,76 +7811,109 @@ func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - ResourceNotFoundException -// The requested resource can't be found. -// -// - ConflictingOperationException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -// -// - LimitExceededException -// You've reached the limit for a resource. For example, this can occur if you're -// trying to associate more than the allowed number of child assets or attempting -// to create more than the allowed number of properties for an asset model. -// -// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) -// in the IoT SiteWise User Guide. -// -// - UnauthorizedException -// You are not authorized. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource -func (c *IoTSiteWise) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals +func (c *IoTSiteWise) ListPortals(input *ListPortalsInput) (*ListPortalsOutput, error) { + req, out := c.ListPortalsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListPortalsWithContext is the same as ListPortals with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListPortals for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *IoTSiteWise) ListPortalsWithContext(ctx aws.Context, input *ListPortalsInput, opts ...request.Option) (*ListPortalsOutput, error) { + req, out := c.ListPortalsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTimeSeries = "ListTimeSeries" +// ListPortalsPages iterates over the pages of a ListPortals operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPortals method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPortals operation. +// pageNum := 0 +// err := client.ListPortalsPages(params, +// func(page *iotsitewise.ListPortalsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTSiteWise) ListPortalsPages(input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool) error { + return c.ListPortalsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListTimeSeriesRequest generates a "aws/request.Request" representing the -// client's request for the ListTimeSeries operation. The "output" return +// ListPortalsPagesWithContext same as ListPortalsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPortalsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPortalsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPortalsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProjectAssets = "ListProjectAssets" + +// ListProjectAssetsRequest generates a "aws/request.Request" representing the +// client's request for the ListProjectAssets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTimeSeries for more information on using the ListTimeSeries +// See ListProjectAssets for more information on using the ListProjectAssets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTimeSeriesRequest method. -// req, resp := client.ListTimeSeriesRequest(params) +// // Example sending a request using the ListProjectAssetsRequest method. +// req, resp := client.ListProjectAssetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTimeSeries -func (c *IoTSiteWise) ListTimeSeriesRequest(input *ListTimeSeriesInput) (req *request.Request, output *ListTimeSeriesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets +func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (req *request.Request, output *ListProjectAssetsOutput) { op := &request.Operation{ - Name: opListTimeSeries, + Name: opListProjectAssets, HTTPMethod: "GET", - HTTPPath: "/timeseries/", + HTTPPath: "/projects/{projectId}/assets", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -7060,26 +7923,27 @@ func (c *IoTSiteWise) ListTimeSeriesRequest(input *ListTimeSeriesInput) (req *re } if input == nil { - input = &ListTimeSeriesInput{} + input = &ListProjectAssetsInput{} } - output = &ListTimeSeriesOutput{} + output = &ListProjectAssetsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListTimeSeries API operation for AWS IoT SiteWise. +// ListProjectAssets API operation for AWS IoT SiteWise. // -// Retrieves a paginated list of time series (data streams). +// Retrieves a paginated list of assets associated with an IoT SiteWise Monitor +// project. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation ListTimeSeries for usage and error information. +// API operation ListProjectAssets for usage and error information. // // Returned Error Types: // @@ -7087,9 +7951,6 @@ func (c *IoTSiteWise) ListTimeSeriesRequest(input *ListTimeSeriesInput) (req *re // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // -// - ResourceNotFoundException -// The requested resource can't be found. -// // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // @@ -7101,64 +7962,64 @@ func (c *IoTSiteWise) ListTimeSeriesRequest(input *ListTimeSeriesInput) (req *re // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTimeSeries -func (c *IoTSiteWise) ListTimeSeries(input *ListTimeSeriesInput) (*ListTimeSeriesOutput, error) { - req, out := c.ListTimeSeriesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets +func (c *IoTSiteWise) ListProjectAssets(input *ListProjectAssetsInput) (*ListProjectAssetsOutput, error) { + req, out := c.ListProjectAssetsRequest(input) return out, req.Send() } -// ListTimeSeriesWithContext is the same as ListTimeSeries with the addition of +// ListProjectAssetsWithContext is the same as ListProjectAssets with the addition of // the ability to pass a context and additional request options. // -// See ListTimeSeries for details on how to use this API operation. +// See ListProjectAssets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListTimeSeriesWithContext(ctx aws.Context, input *ListTimeSeriesInput, opts ...request.Option) (*ListTimeSeriesOutput, error) { - req, out := c.ListTimeSeriesRequest(input) +func (c *IoTSiteWise) ListProjectAssetsWithContext(ctx aws.Context, input *ListProjectAssetsInput, opts ...request.Option) (*ListProjectAssetsOutput, error) { + req, out := c.ListProjectAssetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTimeSeriesPages iterates over the pages of a ListTimeSeries operation, +// ListProjectAssetsPages iterates over the pages of a ListProjectAssets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTimeSeries method for more information on how to use this operation. +// See ListProjectAssets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTimeSeries operation. +// // Example iterating over at most 3 pages of a ListProjectAssets operation. // pageNum := 0 -// err := client.ListTimeSeriesPages(params, -// func(page *iotsitewise.ListTimeSeriesOutput, lastPage bool) bool { +// err := client.ListProjectAssetsPages(params, +// func(page *iotsitewise.ListProjectAssetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTSiteWise) ListTimeSeriesPages(input *ListTimeSeriesInput, fn func(*ListTimeSeriesOutput, bool) bool) error { - return c.ListTimeSeriesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTSiteWise) ListProjectAssetsPages(input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool) error { + return c.ListProjectAssetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTimeSeriesPagesWithContext same as ListTimeSeriesPages except +// ListProjectAssetsPagesWithContext same as ListProjectAssetsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) ListTimeSeriesPagesWithContext(ctx aws.Context, input *ListTimeSeriesInput, fn func(*ListTimeSeriesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTimeSeriesInput + var inCpy *ListProjectAssetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTimeSeriesRequest(inCpy) + req, _ := c.ListProjectAssetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -7166,7 +8027,7 @@ func (c *IoTSiteWise) ListTimeSeriesPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListTimeSeriesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListProjectAssetsOutput), !p.HasNextPage()) { break } } @@ -7174,61 +8035,65 @@ func (c *IoTSiteWise) ListTimeSeriesPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opPutDefaultEncryptionConfiguration = "PutDefaultEncryptionConfiguration" +const opListProjects = "ListProjects" -// PutDefaultEncryptionConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the PutDefaultEncryptionConfiguration operation. The "output" return +// ListProjectsRequest generates a "aws/request.Request" representing the +// client's request for the ListProjects operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutDefaultEncryptionConfiguration for more information on using the PutDefaultEncryptionConfiguration +// See ListProjects for more information on using the ListProjects // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PutDefaultEncryptionConfigurationRequest method. -// req, resp := client.PutDefaultEncryptionConfigurationRequest(params) +// // Example sending a request using the ListProjectsRequest method. +// req, resp := client.ListProjectsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration -func (c *IoTSiteWise) PutDefaultEncryptionConfigurationRequest(input *PutDefaultEncryptionConfigurationInput) (req *request.Request, output *PutDefaultEncryptionConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects +func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) { op := &request.Operation{ - Name: opPutDefaultEncryptionConfiguration, - HTTPMethod: "POST", - HTTPPath: "/configuration/account/encryption", + Name: opListProjects, + HTTPMethod: "GET", + HTTPPath: "/projects", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutDefaultEncryptionConfigurationInput{} + input = &ListProjectsInput{} } - output = &PutDefaultEncryptionConfigurationOutput{} + output = &ListProjectsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// PutDefaultEncryptionConfiguration API operation for AWS IoT SiteWise. +// ListProjects API operation for AWS IoT SiteWise. // -// Sets the default encryption configuration for the Amazon Web Services account. -// For more information, see Key management (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html) -// in the IoT SiteWise User Guide. +// Retrieves a paginated list of projects for an IoT SiteWise Monitor portal. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation PutDefaultEncryptionConfiguration for usage and error information. +// API operation ListProjects for usage and error information. // // Returned Error Types: // @@ -7247,94 +8112,132 @@ func (c *IoTSiteWise) PutDefaultEncryptionConfigurationRequest(input *PutDefault // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - LimitExceededException -// You've reached the limit for a resource. For example, this can occur if you're -// trying to associate more than the allowed number of child assets or attempting -// to create more than the allowed number of properties for an asset model. -// -// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) -// in the IoT SiteWise User Guide. -// -// - ConflictingOperationException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration -func (c *IoTSiteWise) PutDefaultEncryptionConfiguration(input *PutDefaultEncryptionConfigurationInput) (*PutDefaultEncryptionConfigurationOutput, error) { - req, out := c.PutDefaultEncryptionConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects +func (c *IoTSiteWise) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) { + req, out := c.ListProjectsRequest(input) return out, req.Send() } -// PutDefaultEncryptionConfigurationWithContext is the same as PutDefaultEncryptionConfiguration with the addition of +// ListProjectsWithContext is the same as ListProjects with the addition of // the ability to pass a context and additional request options. // -// See PutDefaultEncryptionConfiguration for details on how to use this API operation. +// See ListProjects for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) PutDefaultEncryptionConfigurationWithContext(ctx aws.Context, input *PutDefaultEncryptionConfigurationInput, opts ...request.Option) (*PutDefaultEncryptionConfigurationOutput, error) { - req, out := c.PutDefaultEncryptionConfigurationRequest(input) +func (c *IoTSiteWise) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) { + req, out := c.ListProjectsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutLoggingOptions = "PutLoggingOptions" - -// PutLoggingOptionsRequest generates a "aws/request.Request" representing the -// client's request for the PutLoggingOptions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// ListProjectsPages iterates over the pages of a ListProjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProjects method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProjects operation. +// pageNum := 0 +// err := client.ListProjectsPages(params, +// func(page *iotsitewise.ListProjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTSiteWise) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error { + return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProjectsPagesWithContext same as ListProjectsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutLoggingOptions for more information on using the PutLoggingOptions +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PutLoggingOptionsRequest method. -// req, resp := client.PutLoggingOptionsRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions -func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource +func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opPutLoggingOptions, - HTTPMethod: "PUT", - HTTPPath: "/logging", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags", } if input == nil { - input = &PutLoggingOptionsInput{} + input = &ListTagsForResourceInput{} } - output = &PutLoggingOptionsOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// PutLoggingOptions API operation for AWS IoT SiteWise. +// ListTagsForResource API operation for AWS IoT SiteWise. // -// Sets logging options for IoT SiteWise. +// Retrieves the list of tags for an IoT SiteWise resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation PutLoggingOptions for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // @@ -7342,6 +8245,9 @@ func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (r // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -7350,91 +8256,105 @@ func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (r // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - InternalFailureException -// IoT SiteWise can't process your request right now. Try again later. +// - ResourceNotFoundException +// The requested resource can't be found. // // - ConflictingOperationException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // -// - ResourceNotFoundException -// The requested resource can't be found. +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions -func (c *IoTSiteWise) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) { - req, out := c.PutLoggingOptionsRequest(input) +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - UnauthorizedException +// You are not authorized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource +func (c *IoTSiteWise) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See PutLoggingOptions for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) { - req, out := c.PutLoggingOptionsRequest(input) +func (c *IoTSiteWise) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutStorageConfiguration = "PutStorageConfiguration" +const opListTimeSeries = "ListTimeSeries" -// PutStorageConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the PutStorageConfiguration operation. The "output" return +// ListTimeSeriesRequest generates a "aws/request.Request" representing the +// client's request for the ListTimeSeries operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutStorageConfiguration for more information on using the PutStorageConfiguration +// See ListTimeSeries for more information on using the ListTimeSeries // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PutStorageConfigurationRequest method. -// req, resp := client.PutStorageConfigurationRequest(params) +// // Example sending a request using the ListTimeSeriesRequest method. +// req, resp := client.ListTimeSeriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutStorageConfiguration -func (c *IoTSiteWise) PutStorageConfigurationRequest(input *PutStorageConfigurationInput) (req *request.Request, output *PutStorageConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTimeSeries +func (c *IoTSiteWise) ListTimeSeriesRequest(input *ListTimeSeriesInput) (req *request.Request, output *ListTimeSeriesOutput) { op := &request.Operation{ - Name: opPutStorageConfiguration, - HTTPMethod: "POST", - HTTPPath: "/configuration/account/storage", + Name: opListTimeSeries, + HTTPMethod: "GET", + HTTPPath: "/timeseries/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutStorageConfigurationInput{} + input = &ListTimeSeriesInput{} } - output = &PutStorageConfigurationOutput{} + output = &ListTimeSeriesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// PutStorageConfiguration API operation for AWS IoT SiteWise. +// ListTimeSeries API operation for AWS IoT SiteWise. // -// Configures storage settings for IoT SiteWise. +// Retrieves a paginated list of time series (data streams). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation PutStorageConfiguration for usage and error information. +// API operation ListTimeSeries for usage and error information. // // Returned Error Types: // @@ -7442,9 +8362,6 @@ func (c *IoTSiteWise) PutStorageConfigurationRequest(input *PutStorageConfigurat // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // -// - ResourceAlreadyExistsException -// The resource already exists. -// // - ResourceNotFoundException // The requested resource can't be found. // @@ -7459,95 +8376,134 @@ func (c *IoTSiteWise) PutStorageConfigurationRequest(input *PutStorageConfigurat // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - LimitExceededException -// You've reached the limit for a resource. For example, this can occur if you're -// trying to associate more than the allowed number of child assets or attempting -// to create more than the allowed number of properties for an asset model. -// -// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) -// in the IoT SiteWise User Guide. -// -// - ConflictingOperationException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutStorageConfiguration -func (c *IoTSiteWise) PutStorageConfiguration(input *PutStorageConfigurationInput) (*PutStorageConfigurationOutput, error) { - req, out := c.PutStorageConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTimeSeries +func (c *IoTSiteWise) ListTimeSeries(input *ListTimeSeriesInput) (*ListTimeSeriesOutput, error) { + req, out := c.ListTimeSeriesRequest(input) return out, req.Send() } -// PutStorageConfigurationWithContext is the same as PutStorageConfiguration with the addition of +// ListTimeSeriesWithContext is the same as ListTimeSeries with the addition of // the ability to pass a context and additional request options. // -// See PutStorageConfiguration for details on how to use this API operation. +// See ListTimeSeries for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) PutStorageConfigurationWithContext(ctx aws.Context, input *PutStorageConfigurationInput, opts ...request.Option) (*PutStorageConfigurationOutput, error) { - req, out := c.PutStorageConfigurationRequest(input) +func (c *IoTSiteWise) ListTimeSeriesWithContext(ctx aws.Context, input *ListTimeSeriesInput, opts ...request.Option) (*ListTimeSeriesOutput, error) { + req, out := c.ListTimeSeriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +// ListTimeSeriesPages iterates over the pages of a ListTimeSeries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTimeSeries method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTimeSeries operation. +// pageNum := 0 +// err := client.ListTimeSeriesPages(params, +// func(page *iotsitewise.ListTimeSeriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTSiteWise) ListTimeSeriesPages(input *ListTimeSeriesInput, fn func(*ListTimeSeriesOutput, bool) bool) error { + return c.ListTimeSeriesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListTimeSeriesPagesWithContext same as ListTimeSeriesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) ListTimeSeriesPagesWithContext(ctx aws.Context, input *ListTimeSeriesInput, fn func(*ListTimeSeriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTimeSeriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTimeSeriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTimeSeriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutDefaultEncryptionConfiguration = "PutDefaultEncryptionConfiguration" + +// PutDefaultEncryptionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutDefaultEncryptionConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See PutDefaultEncryptionConfiguration for more information on using the PutDefaultEncryptionConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the PutDefaultEncryptionConfigurationRequest method. +// req, resp := client.PutDefaultEncryptionConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource -func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration +func (c *IoTSiteWise) PutDefaultEncryptionConfigurationRequest(input *PutDefaultEncryptionConfigurationInput) (req *request.Request, output *PutDefaultEncryptionConfigurationOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opPutDefaultEncryptionConfiguration, HTTPMethod: "POST", - HTTPPath: "/tags", + HTTPPath: "/configuration/account/encryption", } if input == nil { - input = &TagResourceInput{} + input = &PutDefaultEncryptionConfigurationInput{} } - output = &TagResourceOutput{} + output = &PutDefaultEncryptionConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// TagResource API operation for AWS IoT SiteWise. +// PutDefaultEncryptionConfiguration API operation for AWS IoT SiteWise. // -// Adds tags to an IoT SiteWise resource. If a tag already exists for the resource, -// this operation updates the tag's value. +// Sets the default encryption configuration for the Amazon Web Services account. +// For more information, see Key management (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html) +// in the IoT SiteWise User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation TagResource for usage and error information. +// API operation PutDefaultEncryptionConfiguration for usage and error information. // // Returned Error Types: // @@ -7566,13 +8522,6 @@ func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request. // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - ResourceNotFoundException -// The requested resource can't be found. -// -// - ConflictingOperationException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -// // - LimitExceededException // You've reached the limit for a resource. For example, this can occur if you're // trying to associate more than the allowed number of child assets or attempting @@ -7581,73 +8530,69 @@ func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request. // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - UnauthorizedException -// You are not authorized. -// -// - TooManyTagsException -// You've reached the limit for the number of tags allowed for a resource. For -// more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) -// in the Amazon Web Services General Reference. +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource -func (c *IoTSiteWise) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration +func (c *IoTSiteWise) PutDefaultEncryptionConfiguration(input *PutDefaultEncryptionConfigurationInput) (*PutDefaultEncryptionConfigurationOutput, error) { + req, out := c.PutDefaultEncryptionConfigurationRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// PutDefaultEncryptionConfigurationWithContext is the same as PutDefaultEncryptionConfiguration with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See PutDefaultEncryptionConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *IoTSiteWise) PutDefaultEncryptionConfigurationWithContext(ctx aws.Context, input *PutDefaultEncryptionConfigurationInput, opts ...request.Option) (*PutDefaultEncryptionConfigurationOutput, error) { + req, out := c.PutDefaultEncryptionConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opPutLoggingOptions = "PutLoggingOptions" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// PutLoggingOptionsRequest generates a "aws/request.Request" representing the +// client's request for the PutLoggingOptions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See PutLoggingOptions for more information on using the PutLoggingOptions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the PutLoggingOptionsRequest method. +// req, resp := client.PutLoggingOptionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource -func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions +func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/tags", + Name: opPutLoggingOptions, + HTTPMethod: "PUT", + HTTPPath: "/logging", } if input == nil { - input = &UntagResourceInput{} + input = &PutLoggingOptionsInput{} } - output = &UntagResourceOutput{} + output = &PutLoggingOptionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) @@ -7655,16 +8600,16 @@ func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *requ return } -// UntagResource API operation for AWS IoT SiteWise. +// PutLoggingOptions API operation for AWS IoT SiteWise. // -// Removes a tag from an IoT SiteWise resource. +// Sets logging options for IoT SiteWise. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UntagResource for usage and error information. +// API operation PutLoggingOptions for usage and error information. // // Returned Error Types: // @@ -7672,9 +8617,6 @@ func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *requ // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // -// - InternalFailureException -// IoT SiteWise can't process your request right now. Try again later. -// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -7683,101 +8625,91 @@ func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *requ // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - ResourceNotFoundException -// The requested resource can't be found. +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. // // - ConflictingOperationException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // -// - LimitExceededException -// You've reached the limit for a resource. For example, this can occur if you're -// trying to associate more than the allowed number of child assets or attempting -// to create more than the allowed number of properties for an asset model. -// -// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) -// in the IoT SiteWise User Guide. -// -// - UnauthorizedException -// You are not authorized. +// - ResourceNotFoundException +// The requested resource can't be found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource -func (c *IoTSiteWise) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions +func (c *IoTSiteWise) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) { + req, out := c.PutLoggingOptionsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See PutLoggingOptions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *IoTSiteWise) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) { + req, out := c.PutLoggingOptionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAccessPolicy = "UpdateAccessPolicy" +const opPutStorageConfiguration = "PutStorageConfiguration" -// UpdateAccessPolicyRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAccessPolicy operation. The "output" return +// PutStorageConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutStorageConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAccessPolicy for more information on using the UpdateAccessPolicy +// See PutStorageConfiguration for more information on using the PutStorageConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateAccessPolicyRequest method. -// req, resp := client.UpdateAccessPolicyRequest(params) +// // Example sending a request using the PutStorageConfigurationRequest method. +// req, resp := client.PutStorageConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy -func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) (req *request.Request, output *UpdateAccessPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutStorageConfiguration +func (c *IoTSiteWise) PutStorageConfigurationRequest(input *PutStorageConfigurationInput) (req *request.Request, output *PutStorageConfigurationOutput) { op := &request.Operation{ - Name: opUpdateAccessPolicy, - HTTPMethod: "PUT", - HTTPPath: "/access-policies/{accessPolicyId}", + Name: opPutStorageConfiguration, + HTTPMethod: "POST", + HTTPPath: "/configuration/account/storage", } if input == nil { - input = &UpdateAccessPolicyInput{} + input = &PutStorageConfigurationInput{} } - output = &UpdateAccessPolicyOutput{} + output = &PutStorageConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateAccessPolicy API operation for AWS IoT SiteWise. +// PutStorageConfiguration API operation for AWS IoT SiteWise. // -// Updates an existing access policy that specifies an identity's access to -// an IoT SiteWise Monitor portal or project resource. +// Configures storage settings for IoT SiteWise. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateAccessPolicy for usage and error information. +// API operation PutStorageConfiguration for usage and error information. // // Returned Error Types: // @@ -7785,6 +8717,9 @@ func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // +// - ResourceAlreadyExistsException +// The resource already exists. +// // - ResourceNotFoundException // The requested resource can't be found. // @@ -7799,83 +8734,95 @@ func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy -func (c *IoTSiteWise) UpdateAccessPolicy(input *UpdateAccessPolicyInput) (*UpdateAccessPolicyOutput, error) { - req, out := c.UpdateAccessPolicyRequest(input) +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutStorageConfiguration +func (c *IoTSiteWise) PutStorageConfiguration(input *PutStorageConfigurationInput) (*PutStorageConfigurationOutput, error) { + req, out := c.PutStorageConfigurationRequest(input) return out, req.Send() } -// UpdateAccessPolicyWithContext is the same as UpdateAccessPolicy with the addition of +// PutStorageConfigurationWithContext is the same as PutStorageConfiguration with the addition of // the ability to pass a context and additional request options. // -// See UpdateAccessPolicy for details on how to use this API operation. +// See PutStorageConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateAccessPolicyWithContext(ctx aws.Context, input *UpdateAccessPolicyInput, opts ...request.Option) (*UpdateAccessPolicyOutput, error) { - req, out := c.UpdateAccessPolicyRequest(input) +func (c *IoTSiteWise) PutStorageConfigurationWithContext(ctx aws.Context, input *PutStorageConfigurationInput, opts ...request.Option) (*PutStorageConfigurationOutput, error) { + req, out := c.PutStorageConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAsset = "UpdateAsset" +const opTagResource = "TagResource" -// UpdateAssetRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAsset operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAsset for more information on using the UpdateAsset +// See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateAssetRequest method. -// req, resp := client.UpdateAssetRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset -func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request.Request, output *UpdateAssetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource +func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateAsset, - HTTPMethod: "PUT", - HTTPPath: "/assets/{assetId}", + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags", } if input == nil { - input = &UpdateAssetInput{} + input = &TagResourceInput{} } - output = &UpdateAssetOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateAsset API operation for AWS IoT SiteWise. +// TagResource API operation for AWS IoT SiteWise. // -// Updates an asset's name. For more information, see Updating assets and models -// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html) -// in the IoT SiteWise User Guide. +// Adds tags to an IoT SiteWise resource. If a tag already exists for the resource, +// this operation updates the tag's value. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateAsset for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // @@ -7883,12 +8830,6 @@ func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request. // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // -// - ResourceAlreadyExistsException -// The resource already exists. -// -// - ResourceNotFoundException -// The requested resource can't be found. -// // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // @@ -7900,99 +8841,105 @@ func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request. // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // +// - ResourceNotFoundException +// The requested resource can't be found. +// // - ConflictingOperationException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset -func (c *IoTSiteWise) UpdateAsset(input *UpdateAssetInput) (*UpdateAssetOutput, error) { - req, out := c.UpdateAssetRequest(input) +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - UnauthorizedException +// You are not authorized. +// +// - TooManyTagsException +// You've reached the limit for the number of tags allowed for a resource. For +// more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) +// in the Amazon Web Services General Reference. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource +func (c *IoTSiteWise) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateAssetWithContext is the same as UpdateAsset with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateAsset for details on how to use this API operation. +// See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateAssetWithContext(ctx aws.Context, input *UpdateAssetInput, opts ...request.Option) (*UpdateAssetOutput, error) { - req, out := c.UpdateAssetRequest(input) +func (c *IoTSiteWise) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAssetModel = "UpdateAssetModel" +const opUntagResource = "UntagResource" -// UpdateAssetModelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAssetModel operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAssetModel for more information on using the UpdateAssetModel +// See UntagResource for more information on using the UntagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateAssetModelRequest method. -// req, resp := client.UpdateAssetModelRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel -func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req *request.Request, output *UpdateAssetModelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource +func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateAssetModel, - HTTPMethod: "PUT", - HTTPPath: "/asset-models/{assetModelId}", + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags", } if input == nil { - input = &UpdateAssetModelInput{} + input = &UntagResourceInput{} } - output = &UpdateAssetModelOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateAssetModel API operation for AWS IoT SiteWise. -// -// Updates an asset model and all of the assets that were created from the model. -// Each asset created from the model inherits the updated asset model's property -// and hierarchy definitions. For more information, see Updating assets and -// models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html) -// in the IoT SiteWise User Guide. -// -// This operation overwrites the existing model with the provided model. To -// avoid deleting your asset model's properties or hierarchies, you must include -// their IDs and definitions in the updated asset model payload. For more information, -// see DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html). +// UntagResource API operation for AWS IoT SiteWise. // -// If you remove a property from an asset model, IoT SiteWise deletes all previous -// data for that property. If you remove a hierarchy definition from an asset -// model, IoT SiteWise disassociates every asset associated with that hierarchy. -// You can't change the type or data type of an existing property. +// Removes a tag from an IoT SiteWise resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateAssetModel for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Types: // @@ -8000,23 +8947,9 @@ func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // -// - ResourceAlreadyExistsException -// The resource already exists. -// -// - ResourceNotFoundException -// The requested resource can't be found. -// // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // -// - LimitExceededException -// You've reached the limit for a resource. For example, this can occur if you're -// trying to associate more than the allowed number of child assets or attempting -// to create more than the allowed number of properties for an asset model. -// -// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) -// in the IoT SiteWise User Guide. -// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -8025,91 +8958,101 @@ func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // +// - ResourceNotFoundException +// The requested resource can't be found. +// // - ConflictingOperationException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel -func (c *IoTSiteWise) UpdateAssetModel(input *UpdateAssetModelInput) (*UpdateAssetModelOutput, error) { - req, out := c.UpdateAssetModelRequest(input) +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - UnauthorizedException +// You are not authorized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource +func (c *IoTSiteWise) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateAssetModelWithContext is the same as UpdateAssetModel with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateAssetModel for details on how to use this API operation. +// See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateAssetModelWithContext(ctx aws.Context, input *UpdateAssetModelInput, opts ...request.Option) (*UpdateAssetModelOutput, error) { - req, out := c.UpdateAssetModelRequest(input) +func (c *IoTSiteWise) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAssetProperty = "UpdateAssetProperty" +const opUpdateAccessPolicy = "UpdateAccessPolicy" -// UpdateAssetPropertyRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAssetProperty operation. The "output" return +// UpdateAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccessPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAssetProperty for more information on using the UpdateAssetProperty +// See UpdateAccessPolicy for more information on using the UpdateAccessPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateAssetPropertyRequest method. -// req, resp := client.UpdateAssetPropertyRequest(params) +// // Example sending a request using the UpdateAccessPolicyRequest method. +// req, resp := client.UpdateAccessPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty -func (c *IoTSiteWise) UpdateAssetPropertyRequest(input *UpdateAssetPropertyInput) (req *request.Request, output *UpdateAssetPropertyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy +func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) (req *request.Request, output *UpdateAccessPolicyOutput) { op := &request.Operation{ - Name: opUpdateAssetProperty, + Name: opUpdateAccessPolicy, HTTPMethod: "PUT", - HTTPPath: "/assets/{assetId}/properties/{propertyId}", + HTTPPath: "/access-policies/{accessPolicyId}", } if input == nil { - input = &UpdateAssetPropertyInput{} + input = &UpdateAccessPolicyInput{} } - output = &UpdateAssetPropertyOutput{} + output = &UpdateAccessPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateAssetProperty API operation for AWS IoT SiteWise. -// -// Updates an asset property's alias and notification state. +// UpdateAccessPolicy API operation for AWS IoT SiteWise. // -// This operation overwrites the property's existing alias and notification -// state. To keep your existing property's alias or notification state, you -// must include the existing values in the UpdateAssetProperty request. For -// more information, see DescribeAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetProperty.html). +// Updates an existing access policy that specifies an identity's access to +// an IoT SiteWise Monitor portal or project resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateAssetProperty for usage and error information. +// API operation UpdateAccessPolicy for usage and error information. // // Returned Error Types: // @@ -8131,86 +9074,83 @@ func (c *IoTSiteWise) UpdateAssetPropertyRequest(input *UpdateAssetPropertyInput // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// - ConflictingOperationException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty -func (c *IoTSiteWise) UpdateAssetProperty(input *UpdateAssetPropertyInput) (*UpdateAssetPropertyOutput, error) { - req, out := c.UpdateAssetPropertyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy +func (c *IoTSiteWise) UpdateAccessPolicy(input *UpdateAccessPolicyInput) (*UpdateAccessPolicyOutput, error) { + req, out := c.UpdateAccessPolicyRequest(input) return out, req.Send() } -// UpdateAssetPropertyWithContext is the same as UpdateAssetProperty with the addition of +// UpdateAccessPolicyWithContext is the same as UpdateAccessPolicy with the addition of // the ability to pass a context and additional request options. // -// See UpdateAssetProperty for details on how to use this API operation. +// See UpdateAccessPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateAssetPropertyWithContext(ctx aws.Context, input *UpdateAssetPropertyInput, opts ...request.Option) (*UpdateAssetPropertyOutput, error) { - req, out := c.UpdateAssetPropertyRequest(input) +func (c *IoTSiteWise) UpdateAccessPolicyWithContext(ctx aws.Context, input *UpdateAccessPolicyInput, opts ...request.Option) (*UpdateAccessPolicyOutput, error) { + req, out := c.UpdateAccessPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDashboard = "UpdateDashboard" +const opUpdateAsset = "UpdateAsset" -// UpdateDashboardRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboard operation. The "output" return +// UpdateAssetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAsset operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDashboard for more information on using the UpdateDashboard +// See UpdateAsset for more information on using the UpdateAsset // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateDashboardRequest method. -// req, resp := client.UpdateDashboardRequest(params) +// // Example sending a request using the UpdateAssetRequest method. +// req, resp := client.UpdateAssetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard -func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset +func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request.Request, output *UpdateAssetOutput) { op := &request.Operation{ - Name: opUpdateDashboard, + Name: opUpdateAsset, HTTPMethod: "PUT", - HTTPPath: "/dashboards/{dashboardId}", + HTTPPath: "/assets/{assetId}", } if input == nil { - input = &UpdateDashboardInput{} + input = &UpdateAssetInput{} } - output = &UpdateDashboardOutput{} + output = &UpdateAssetOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateDashboard API operation for AWS IoT SiteWise. +// UpdateAsset API operation for AWS IoT SiteWise. // -// Updates an IoT SiteWise Monitor dashboard. +// Updates an asset's name. For more information, see Updating assets and models +// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html) +// in the IoT SiteWise User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateDashboard for usage and error information. +// API operation UpdateAsset for usage and error information. // // Returned Error Types: // @@ -8218,6 +9158,9 @@ func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req * // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // +// - ResourceAlreadyExistsException +// The resource already exists. +// // - ResourceNotFoundException // The requested resource can't be found. // @@ -8232,82 +9175,99 @@ func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req * // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard -func (c *IoTSiteWise) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) { - req, out := c.UpdateDashboardRequest(input) +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset +func (c *IoTSiteWise) UpdateAsset(input *UpdateAssetInput) (*UpdateAssetOutput, error) { + req, out := c.UpdateAssetRequest(input) return out, req.Send() } -// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of +// UpdateAssetWithContext is the same as UpdateAsset with the addition of // the ability to pass a context and additional request options. // -// See UpdateDashboard for details on how to use this API operation. +// See UpdateAsset for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) { - req, out := c.UpdateDashboardRequest(input) +func (c *IoTSiteWise) UpdateAssetWithContext(ctx aws.Context, input *UpdateAssetInput, opts ...request.Option) (*UpdateAssetOutput, error) { + req, out := c.UpdateAssetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGateway = "UpdateGateway" +const opUpdateAssetModel = "UpdateAssetModel" -// UpdateGatewayRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGateway operation. The "output" return +// UpdateAssetModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAssetModel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateGateway for more information on using the UpdateGateway +// See UpdateAssetModel for more information on using the UpdateAssetModel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateGatewayRequest method. -// req, resp := client.UpdateGatewayRequest(params) +// // Example sending a request using the UpdateAssetModelRequest method. +// req, resp := client.UpdateAssetModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway -func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel +func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req *request.Request, output *UpdateAssetModelOutput) { op := &request.Operation{ - Name: opUpdateGateway, + Name: opUpdateAssetModel, HTTPMethod: "PUT", - HTTPPath: "/20200301/gateways/{gatewayId}", + HTTPPath: "/asset-models/{assetModelId}", } if input == nil { - input = &UpdateGatewayInput{} + input = &UpdateAssetModelInput{} } - output = &UpdateGatewayOutput{} + output = &UpdateAssetModelOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateGateway API operation for AWS IoT SiteWise. +// UpdateAssetModel API operation for AWS IoT SiteWise. // -// Updates a gateway's name. +// Updates an asset model and all of the assets that were created from the model. +// Each asset created from the model inherits the updated asset model's property +// and hierarchy definitions. For more information, see Updating assets and +// models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html) +// in the IoT SiteWise User Guide. +// +// This operation overwrites the existing model with the provided model. To +// avoid deleting your asset model's properties or hierarchies, you must include +// their IDs and definitions in the updated asset model payload. For more information, +// see DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html). +// +// If you remove a property from an asset model, IoT SiteWise deletes all previous +// data for that property. If you remove a hierarchy definition from an asset +// model, IoT SiteWise disassociates every asset associated with that hierarchy. +// You can't change the type or data type of an existing property. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateGateway for usage and error information. +// API operation UpdateAssetModel for usage and error information. // // Returned Error Types: // @@ -8315,16 +9275,23 @@ func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *requ // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. // +// - ResourceAlreadyExistsException +// The resource already exists. +// // - ResourceNotFoundException // The requested resource can't be found. // -// - ConflictingOperationException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -// // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -8333,96 +9300,106 @@ func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *requ // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway -func (c *IoTSiteWise) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) { - req, out := c.UpdateGatewayRequest(input) - return out, req.Send() -} +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel +func (c *IoTSiteWise) UpdateAssetModel(input *UpdateAssetModelInput) (*UpdateAssetModelOutput, error) { + req, out := c.UpdateAssetModelRequest(input) + return out, req.Send() +} -// UpdateGatewayWithContext is the same as UpdateGateway with the addition of +// UpdateAssetModelWithContext is the same as UpdateAssetModel with the addition of // the ability to pass a context and additional request options. // -// See UpdateGateway for details on how to use this API operation. +// See UpdateAssetModel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) { - req, out := c.UpdateGatewayRequest(input) +func (c *IoTSiteWise) UpdateAssetModelWithContext(ctx aws.Context, input *UpdateAssetModelInput, opts ...request.Option) (*UpdateAssetModelOutput, error) { + req, out := c.UpdateAssetModelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGatewayCapabilityConfiguration = "UpdateGatewayCapabilityConfiguration" +const opUpdateAssetModelCompositeModel = "UpdateAssetModelCompositeModel" -// UpdateGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGatewayCapabilityConfiguration operation. The "output" return +// UpdateAssetModelCompositeModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAssetModelCompositeModel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateGatewayCapabilityConfiguration for more information on using the UpdateGatewayCapabilityConfiguration +// See UpdateAssetModelCompositeModel for more information on using the UpdateAssetModelCompositeModel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateGatewayCapabilityConfigurationRequest method. -// req, resp := client.UpdateGatewayCapabilityConfigurationRequest(params) +// // Example sending a request using the UpdateAssetModelCompositeModelRequest method. +// req, resp := client.UpdateAssetModelCompositeModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration -func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateGatewayCapabilityConfigurationInput) (req *request.Request, output *UpdateGatewayCapabilityConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModelCompositeModel +func (c *IoTSiteWise) UpdateAssetModelCompositeModelRequest(input *UpdateAssetModelCompositeModelInput) (req *request.Request, output *UpdateAssetModelCompositeModelOutput) { op := &request.Operation{ - Name: opUpdateGatewayCapabilityConfiguration, - HTTPMethod: "POST", - HTTPPath: "/20200301/gateways/{gatewayId}/capability", + Name: opUpdateAssetModelCompositeModel, + HTTPMethod: "PUT", + HTTPPath: "/asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}", } if input == nil { - input = &UpdateGatewayCapabilityConfigurationInput{} + input = &UpdateAssetModelCompositeModelInput{} } - output = &UpdateGatewayCapabilityConfigurationOutput{} + output = &UpdateAssetModelCompositeModelOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateGatewayCapabilityConfiguration API operation for AWS IoT SiteWise. +// UpdateAssetModelCompositeModel API operation for AWS IoT SiteWise. // -// Updates a gateway capability configuration or defines a new capability configuration. -// Each gateway capability defines data sources for a gateway. A capability -// configuration can contain multiple data source configurations. If you define -// OPC-UA sources for a gateway in the IoT SiteWise console, all of your OPC-UA -// sources are stored in one capability configuration. To list all capability -// configurations for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html). +// Updates a composite model and all of the assets that were created from the +// model. Each asset created from the model inherits the updated asset model's +// property and hierarchy definitions. For more information, see Updating assets +// and models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html) +// in the IoT SiteWise User Guide. +// +// If you remove a property from a composite asset model, IoT SiteWise deletes +// all previous data for that property. You can’t change the type or data +// type of an existing property. +// +// To replace an existing composite asset model property with a new one with +// the same name, do the following: +// +// Submit an UpdateAssetModelCompositeModel request with the entire existing +// property removed. +// +// Submit a second UpdateAssetModelCompositeModel request that includes the +// new property. The new asset property will have the same name as the previous +// one and IoT SiteWise will generate a new unique id. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateGatewayCapabilityConfiguration for usage and error information. +// API operation UpdateAssetModelCompositeModel for usage and error information. // // Returned Error Types: // -// - InvalidRequestException -// The request isn't valid. This can occur if your request contains malformed -// JSON or unsupported characters. Check your request and try again. -// -// - ResourceNotFoundException -// The requested resource can't be found. -// // - ConflictingOperationException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. @@ -8430,6 +9407,16 @@ func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateG // - InternalFailureException // IoT SiteWise can't process your request right now. Try again later. // +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceAlreadyExistsException +// The resource already exists. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// // - ThrottlingException // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed @@ -8446,81 +9433,87 @@ func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateG // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration -func (c *IoTSiteWise) UpdateGatewayCapabilityConfiguration(input *UpdateGatewayCapabilityConfigurationInput) (*UpdateGatewayCapabilityConfigurationOutput, error) { - req, out := c.UpdateGatewayCapabilityConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModelCompositeModel +func (c *IoTSiteWise) UpdateAssetModelCompositeModel(input *UpdateAssetModelCompositeModelInput) (*UpdateAssetModelCompositeModelOutput, error) { + req, out := c.UpdateAssetModelCompositeModelRequest(input) return out, req.Send() } -// UpdateGatewayCapabilityConfigurationWithContext is the same as UpdateGatewayCapabilityConfiguration with the addition of +// UpdateAssetModelCompositeModelWithContext is the same as UpdateAssetModelCompositeModel with the addition of // the ability to pass a context and additional request options. // -// See UpdateGatewayCapabilityConfiguration for details on how to use this API operation. +// See UpdateAssetModelCompositeModel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *UpdateGatewayCapabilityConfigurationInput, opts ...request.Option) (*UpdateGatewayCapabilityConfigurationOutput, error) { - req, out := c.UpdateGatewayCapabilityConfigurationRequest(input) +func (c *IoTSiteWise) UpdateAssetModelCompositeModelWithContext(ctx aws.Context, input *UpdateAssetModelCompositeModelInput, opts ...request.Option) (*UpdateAssetModelCompositeModelOutput, error) { + req, out := c.UpdateAssetModelCompositeModelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePortal = "UpdatePortal" +const opUpdateAssetProperty = "UpdateAssetProperty" -// UpdatePortalRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePortal operation. The "output" return +// UpdateAssetPropertyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAssetProperty operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdatePortal for more information on using the UpdatePortal +// See UpdateAssetProperty for more information on using the UpdateAssetProperty // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdatePortalRequest method. -// req, resp := client.UpdatePortalRequest(params) +// // Example sending a request using the UpdateAssetPropertyRequest method. +// req, resp := client.UpdateAssetPropertyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal -func (c *IoTSiteWise) UpdatePortalRequest(input *UpdatePortalInput) (req *request.Request, output *UpdatePortalOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty +func (c *IoTSiteWise) UpdateAssetPropertyRequest(input *UpdateAssetPropertyInput) (req *request.Request, output *UpdateAssetPropertyOutput) { op := &request.Operation{ - Name: opUpdatePortal, + Name: opUpdateAssetProperty, HTTPMethod: "PUT", - HTTPPath: "/portals/{portalId}", + HTTPPath: "/assets/{assetId}/properties/{propertyId}", } if input == nil { - input = &UpdatePortalInput{} + input = &UpdateAssetPropertyInput{} } - output = &UpdatePortalOutput{} + output = &UpdateAssetPropertyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdatePortal API operation for AWS IoT SiteWise. +// UpdateAssetProperty API operation for AWS IoT SiteWise. // -// Updates an IoT SiteWise Monitor portal. +// Updates an asset property's alias and notification state. +// +// This operation overwrites the property's existing alias and notification +// state. To keep your existing property's alias or notification state, you +// must include the existing values in the UpdateAssetProperty request. For +// more information, see DescribeAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetProperty.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdatePortal for usage and error information. +// API operation UpdateAssetProperty for usage and error information. // // Returned Error Types: // @@ -8546,65 +9539,65 @@ func (c *IoTSiteWise) UpdatePortalRequest(input *UpdatePortalInput) (req *reques // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal -func (c *IoTSiteWise) UpdatePortal(input *UpdatePortalInput) (*UpdatePortalOutput, error) { - req, out := c.UpdatePortalRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty +func (c *IoTSiteWise) UpdateAssetProperty(input *UpdateAssetPropertyInput) (*UpdateAssetPropertyOutput, error) { + req, out := c.UpdateAssetPropertyRequest(input) return out, req.Send() } -// UpdatePortalWithContext is the same as UpdatePortal with the addition of +// UpdateAssetPropertyWithContext is the same as UpdateAssetProperty with the addition of // the ability to pass a context and additional request options. // -// See UpdatePortal for details on how to use this API operation. +// See UpdateAssetProperty for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdatePortalWithContext(ctx aws.Context, input *UpdatePortalInput, opts ...request.Option) (*UpdatePortalOutput, error) { - req, out := c.UpdatePortalRequest(input) +func (c *IoTSiteWise) UpdateAssetPropertyWithContext(ctx aws.Context, input *UpdateAssetPropertyInput, opts ...request.Option) (*UpdateAssetPropertyOutput, error) { + req, out := c.UpdateAssetPropertyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateProject = "UpdateProject" +const opUpdateDashboard = "UpdateDashboard" -// UpdateProjectRequest generates a "aws/request.Request" representing the -// client's request for the UpdateProject operation. The "output" return +// UpdateDashboardRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboard operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateProject for more information on using the UpdateProject +// See UpdateDashboard for more information on using the UpdateDashboard // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateProjectRequest method. -// req, resp := client.UpdateProjectRequest(params) +// // Example sending a request using the UpdateDashboardRequest method. +// req, resp := client.UpdateDashboardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject -func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard +func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) { op := &request.Operation{ - Name: opUpdateProject, + Name: opUpdateDashboard, HTTPMethod: "PUT", - HTTPPath: "/projects/{projectId}", + HTTPPath: "/dashboards/{dashboardId}", } if input == nil { - input = &UpdateProjectInput{} + input = &UpdateDashboardInput{} } - output = &UpdateProjectOutput{} + output = &UpdateDashboardOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) @@ -8612,16 +9605,16 @@ func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *requ return } -// UpdateProject API operation for AWS IoT SiteWise. +// UpdateDashboard API operation for AWS IoT SiteWise. // -// Updates an IoT SiteWise Monitor project. +// Updates an IoT SiteWise Monitor dashboard. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT SiteWise's -// API operation UpdateProject for usage and error information. +// API operation UpdateDashboard for usage and error information. // // Returned Error Types: // @@ -8643,133 +9636,2274 @@ func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *requ // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) // in the IoT SiteWise User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject -func (c *IoTSiteWise) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { - req, out := c.UpdateProjectRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard +func (c *IoTSiteWise) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) { + req, out := c.UpdateDashboardRequest(input) return out, req.Send() } -// UpdateProjectWithContext is the same as UpdateProject with the addition of +// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of // the ability to pass a context and additional request options. // -// See UpdateProject for details on how to use this API operation. +// See UpdateDashboard for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTSiteWise) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { - req, out := c.UpdateProjectRequest(input) +func (c *IoTSiteWise) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) { + req, out := c.UpdateDashboardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Contains an access policy that defines an identity's access to an IoT SiteWise -// Monitor resource. -type AccessPolicySummary struct { - _ struct{} `type:"structure"` - - // The date the access policy was created, in Unix epoch time. - CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` - - // The ID of the access policy. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The identity (an IAM Identity Center user, an IAM Identity Center group, - // or an IAM user). - // - // Identity is a required field - Identity *Identity `locationName:"identity" type:"structure" required:"true"` +const opUpdateGateway = "UpdateGateway" - // The date the access policy was last updated, in Unix epoch time. - LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"` +// UpdateGatewayRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGateway for more information on using the UpdateGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateGatewayRequest method. +// req, resp := client.UpdateGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway +func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) { + op := &request.Operation{ + Name: opUpdateGateway, + HTTPMethod: "PUT", + HTTPPath: "/20200301/gateways/{gatewayId}", + } - // The permissions for the access policy. Note that a project ADMINISTRATOR - // is also known as a project owner. - // - // Permission is a required field - Permission *string `locationName:"permission" type:"string" required:"true" enum:"Permission"` + if input == nil { + input = &UpdateGatewayInput{} + } - // The IoT SiteWise Monitor resource (a portal or project). - // - // Resource is a required field - Resource *Resource `locationName:"resource" type:"structure" required:"true"` + output = &UpdateGatewayOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return } -// String returns the string representation. +// UpdateGateway API operation for AWS IoT SiteWise. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessPolicySummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Updates a gateway's name. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessPolicySummary) GoString() string { - return s.String() -} - -// SetCreationDate sets the CreationDate field's value. -func (s *AccessPolicySummary) SetCreationDate(v time.Time) *AccessPolicySummary { - s.CreationDate = &v - return s -} - +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation UpdateGateway for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway +func (c *IoTSiteWise) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) { + req, out := c.UpdateGatewayRequest(input) + return out, req.Send() +} + +// UpdateGatewayWithContext is the same as UpdateGateway with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) { + req, out := c.UpdateGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGatewayCapabilityConfiguration = "UpdateGatewayCapabilityConfiguration" + +// UpdateGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGatewayCapabilityConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGatewayCapabilityConfiguration for more information on using the UpdateGatewayCapabilityConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateGatewayCapabilityConfigurationRequest method. +// req, resp := client.UpdateGatewayCapabilityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration +func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateGatewayCapabilityConfigurationInput) (req *request.Request, output *UpdateGatewayCapabilityConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateGatewayCapabilityConfiguration, + HTTPMethod: "POST", + HTTPPath: "/20200301/gateways/{gatewayId}/capability", + } + + if input == nil { + input = &UpdateGatewayCapabilityConfigurationInput{} + } + + output = &UpdateGatewayCapabilityConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateGatewayCapabilityConfiguration API operation for AWS IoT SiteWise. +// +// Updates a gateway capability configuration or defines a new capability configuration. +// Each gateway capability defines data sources for a gateway. A capability +// configuration can contain multiple data source configurations. If you define +// OPC-UA sources for a gateway in the IoT SiteWise console, all of your OPC-UA +// sources are stored in one capability configuration. To list all capability +// configurations for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation UpdateGatewayCapabilityConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - LimitExceededException +// You've reached the limit for a resource. For example, this can occur if you're +// trying to associate more than the allowed number of child assets or attempting +// to create more than the allowed number of properties for an asset model. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration +func (c *IoTSiteWise) UpdateGatewayCapabilityConfiguration(input *UpdateGatewayCapabilityConfigurationInput) (*UpdateGatewayCapabilityConfigurationOutput, error) { + req, out := c.UpdateGatewayCapabilityConfigurationRequest(input) + return out, req.Send() +} + +// UpdateGatewayCapabilityConfigurationWithContext is the same as UpdateGatewayCapabilityConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGatewayCapabilityConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *UpdateGatewayCapabilityConfigurationInput, opts ...request.Option) (*UpdateGatewayCapabilityConfigurationOutput, error) { + req, out := c.UpdateGatewayCapabilityConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePortal = "UpdatePortal" + +// UpdatePortalRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePortal operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePortal for more information on using the UpdatePortal +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdatePortalRequest method. +// req, resp := client.UpdatePortalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal +func (c *IoTSiteWise) UpdatePortalRequest(input *UpdatePortalInput) (req *request.Request, output *UpdatePortalOutput) { + op := &request.Operation{ + Name: opUpdatePortal, + HTTPMethod: "PUT", + HTTPPath: "/portals/{portalId}", + } + + if input == nil { + input = &UpdatePortalInput{} + } + + output = &UpdatePortalOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdatePortal API operation for AWS IoT SiteWise. +// +// Updates an IoT SiteWise Monitor portal. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation UpdatePortal for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// - ConflictingOperationException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal +func (c *IoTSiteWise) UpdatePortal(input *UpdatePortalInput) (*UpdatePortalOutput, error) { + req, out := c.UpdatePortalRequest(input) + return out, req.Send() +} + +// UpdatePortalWithContext is the same as UpdatePortal with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePortal for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) UpdatePortalWithContext(ctx aws.Context, input *UpdatePortalInput, opts ...request.Option) (*UpdatePortalOutput, error) { + req, out := c.UpdatePortalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProject = "UpdateProject" + +// UpdateProjectRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProject operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateProjectRequest method. +// req, resp := client.UpdateProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject +func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { + op := &request.Operation{ + Name: opUpdateProject, + HTTPMethod: "PUT", + HTTPPath: "/projects/{projectId}", + } + + if input == nil { + input = &UpdateProjectInput{} + } + + output = &UpdateProjectOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateProject API operation for AWS IoT SiteWise. +// +// Updates an IoT SiteWise Monitor project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT SiteWise's +// API operation UpdateProject for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// - ResourceNotFoundException +// The requested resource can't be found. +// +// - InternalFailureException +// IoT SiteWise can't process your request right now. Try again later. +// +// - ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of IoT SiteWise assets that can be created per second, the allowed +// number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the IoT SiteWise User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject +func (c *IoTSiteWise) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + return out, req.Send() +} + +// UpdateProjectWithContext is the same as UpdateProject with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSiteWise) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Access is denied. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains an access policy that defines an identity's access to an IoT SiteWise +// Monitor resource. +type AccessPolicySummary struct { + _ struct{} `type:"structure"` + + // The date the access policy was created, in Unix epoch time. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The ID of the access policy. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The identity (an IAM Identity Center user, an IAM Identity Center group, + // or an IAM user). + // + // Identity is a required field + Identity *Identity `locationName:"identity" type:"structure" required:"true"` + + // The date the access policy was last updated, in Unix epoch time. + LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"` + + // The permissions for the access policy. Note that a project ADMINISTRATOR + // is also known as a project owner. + // + // Permission is a required field + Permission *string `locationName:"permission" type:"string" required:"true" enum:"Permission"` + + // The IoT SiteWise Monitor resource (a portal or project). + // + // Resource is a required field + Resource *Resource `locationName:"resource" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessPolicySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessPolicySummary) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *AccessPolicySummary) SetCreationDate(v time.Time) *AccessPolicySummary { + s.CreationDate = &v + return s +} + +// SetId sets the Id field's value. +func (s *AccessPolicySummary) SetId(v string) *AccessPolicySummary { + s.Id = &v + return s +} + +// SetIdentity sets the Identity field's value. +func (s *AccessPolicySummary) SetIdentity(v *Identity) *AccessPolicySummary { + s.Identity = v + return s +} + +// SetLastUpdateDate sets the LastUpdateDate field's value. +func (s *AccessPolicySummary) SetLastUpdateDate(v time.Time) *AccessPolicySummary { + s.LastUpdateDate = &v + return s +} + +// SetPermission sets the Permission field's value. +func (s *AccessPolicySummary) SetPermission(v string) *AccessPolicySummary { + s.Permission = &v + return s +} + +// SetResource sets the Resource field's value. +func (s *AccessPolicySummary) SetResource(v *Resource) *AccessPolicySummary { + s.Resource = v + return s +} + +// Contains a definition for an action. +type ActionDefinition struct { + _ struct{} `type:"structure"` + + // The ID of the action definition. + // + // ActionDefinitionId is a required field + ActionDefinitionId *string `locationName:"actionDefinitionId" min:"36" type:"string" required:"true"` + + // The name of the action definition. + // + // ActionName is a required field + ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"` + + // The type of the action definition. + // + // ActionType is a required field + ActionType *string `locationName:"actionType" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActionDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActionDefinition) GoString() string { + return s.String() +} + +// SetActionDefinitionId sets the ActionDefinitionId field's value. +func (s *ActionDefinition) SetActionDefinitionId(v string) *ActionDefinition { + s.ActionDefinitionId = &v + return s +} + +// SetActionName sets the ActionName field's value. +func (s *ActionDefinition) SetActionName(v string) *ActionDefinition { + s.ActionName = &v + return s +} + +// SetActionType sets the ActionType field's value. +func (s *ActionDefinition) SetActionType(v string) *ActionDefinition { + s.ActionType = &v + return s +} + +// The JSON payload of the action. +type ActionPayload struct { + _ struct{} `type:"structure"` + + // The payload of the action in a JSON string. + // + // StringValue is a required field + StringValue *string `locationName:"stringValue" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActionPayload) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActionPayload) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActionPayload) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActionPayload"} + if s.StringValue == nil { + invalidParams.Add(request.NewErrParamRequired("StringValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStringValue sets the StringValue field's value. +func (s *ActionPayload) SetStringValue(v string) *ActionPayload { + s.StringValue = &v + return s +} + +// Contains the summary of the actions. +type ActionSummary struct { + _ struct{} `type:"structure"` + + // The ID of the action definition. + ActionDefinitionId *string `locationName:"actionDefinitionId" min:"36" type:"string"` + + // The ID of the action. + ActionId *string `locationName:"actionId" min:"36" type:"string"` + + // The resource the action will be taken on. + TargetResource *TargetResource `locationName:"targetResource" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActionSummary) GoString() string { + return s.String() +} + +// SetActionDefinitionId sets the ActionDefinitionId field's value. +func (s *ActionSummary) SetActionDefinitionId(v string) *ActionSummary { + s.ActionDefinitionId = &v + return s +} + +// SetActionId sets the ActionId field's value. +func (s *ActionSummary) SetActionId(v string) *ActionSummary { + s.ActionId = &v + return s +} + +// SetTargetResource sets the TargetResource field's value. +func (s *ActionSummary) SetTargetResource(v *TargetResource) *ActionSummary { + s.TargetResource = v + return s +} + +// Contains aggregated asset property values (for example, average, minimum, +// and maximum). +type AggregatedValue struct { + _ struct{} `type:"structure"` + + // The quality of the aggregated data. + Quality *string `locationName:"quality" type:"string" enum:"Quality"` + + // The date the aggregating computations occurred, in Unix epoch time. + // + // Timestamp is a required field + Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"` + + // The value of the aggregates. + // + // Value is a required field + Value *Aggregates `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregatedValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregatedValue) GoString() string { + return s.String() +} + +// SetQuality sets the Quality field's value. +func (s *AggregatedValue) SetQuality(v string) *AggregatedValue { + s.Quality = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *AggregatedValue) SetTimestamp(v time.Time) *AggregatedValue { + s.Timestamp = &v + return s +} + +// SetValue sets the Value field's value. +func (s *AggregatedValue) SetValue(v *Aggregates) *AggregatedValue { + s.Value = v + return s +} + +// Contains the (pre-calculated) aggregate values for an asset property. +type Aggregates struct { + _ struct{} `type:"structure"` + + // The average (mean) value of the time series over a time interval window. + Average *float64 `locationName:"average" type:"double"` + + // The count of data points in the time series over a time interval window. + Count *float64 `locationName:"count" type:"double"` + + // The maximum value of the time series over a time interval window. + Maximum *float64 `locationName:"maximum" type:"double"` + + // The minimum value of the time series over a time interval window. + Minimum *float64 `locationName:"minimum" type:"double"` + + // The standard deviation of the time series over a time interval window. + StandardDeviation *float64 `locationName:"standardDeviation" type:"double"` + + // The sum of the time series over a time interval window. + Sum *float64 `locationName:"sum" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Aggregates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Aggregates) GoString() string { + return s.String() +} + +// SetAverage sets the Average field's value. +func (s *Aggregates) SetAverage(v float64) *Aggregates { + s.Average = &v + return s +} + +// SetCount sets the Count field's value. +func (s *Aggregates) SetCount(v float64) *Aggregates { + s.Count = &v + return s +} + +// SetMaximum sets the Maximum field's value. +func (s *Aggregates) SetMaximum(v float64) *Aggregates { + s.Maximum = &v + return s +} + +// SetMinimum sets the Minimum field's value. +func (s *Aggregates) SetMinimum(v float64) *Aggregates { + s.Minimum = &v + return s +} + +// SetStandardDeviation sets the StandardDeviation field's value. +func (s *Aggregates) SetStandardDeviation(v float64) *Aggregates { + s.StandardDeviation = &v + return s +} + +// SetSum sets the Sum field's value. +func (s *Aggregates) SetSum(v float64) *Aggregates { + s.Sum = &v + return s +} + +// Contains the configuration information of an alarm created in an IoT SiteWise +// Monitor portal. You can use the alarm to monitor an asset property and get +// notified when the asset property value is outside a specified range. For +// more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html) +// in the IoT SiteWise Application Guide. +type Alarms struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the IAM role that allows the alarm to perform actions and access Amazon + // Web Services resources and services, such as IoT Events. + // + // AlarmRoleArn is a required field + AlarmRoleArn *string `locationName:"alarmRoleArn" min:"1" type:"string" required:"true"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the Lambda function that manages alarm notifications. For more information, + // see Managing alarm notifications (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) + // in the IoT Events Developer Guide. + NotificationLambdaArn *string `locationName:"notificationLambdaArn" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Alarms) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Alarms) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Alarms) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Alarms"} + if s.AlarmRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmRoleArn")) + } + if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 1)) + } + if s.NotificationLambdaArn != nil && len(*s.NotificationLambdaArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationLambdaArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmRoleArn sets the AlarmRoleArn field's value. +func (s *Alarms) SetAlarmRoleArn(v string) *Alarms { + s.AlarmRoleArn = &v + return s +} + +// SetNotificationLambdaArn sets the NotificationLambdaArn field's value. +func (s *Alarms) SetNotificationLambdaArn(v string) *Alarms { + s.NotificationLambdaArn = &v + return s +} + +// Contains information about a composite model in an asset. This object contains +// the asset's properties that you define in the composite model. +type AssetCompositeModel struct { + _ struct{} `type:"structure"` + + // The description of the composite model. + Description *string `locationName:"description" min:"1" type:"string"` + + // The external ID of the asset composite model. For more information, see Using + // external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the asset composite model. + Id *string `locationName:"id" min:"36" type:"string"` + + // The name of the composite model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset properties that this composite model defines. + // + // Properties is a required field + Properties []*AssetProperty `locationName:"properties" type:"list" required:"true"` + + // The type of the composite model. For alarm composite models, this type is + // AWS/ALARM. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetCompositeModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetCompositeModel) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *AssetCompositeModel) SetDescription(v string) *AssetCompositeModel { + s.Description = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetCompositeModel) SetExternalId(v string) *AssetCompositeModel { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetCompositeModel) SetId(v string) *AssetCompositeModel { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetCompositeModel) SetName(v string) *AssetCompositeModel { + s.Name = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *AssetCompositeModel) SetProperties(v []*AssetProperty) *AssetCompositeModel { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetCompositeModel) SetType(v string) *AssetCompositeModel { + s.Type = &v + return s +} + +// Represents one level between a composite model and the root of the asset. +type AssetCompositeModelPathSegment struct { + _ struct{} `type:"structure"` + + // The ID of the path segment. + Id *string `locationName:"id" min:"36" type:"string"` + + // The name of the path segment. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetCompositeModelPathSegment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetCompositeModelPathSegment) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *AssetCompositeModelPathSegment) SetId(v string) *AssetCompositeModelPathSegment { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetCompositeModelPathSegment) SetName(v string) *AssetCompositeModelPathSegment { + s.Name = &v + return s +} + +// Contains a summary of the composite model for a specific asset. +type AssetCompositeModelSummary struct { + _ struct{} `type:"structure"` + + // A description of the composite model that this summary describes. + // + // Description is a required field + Description *string `locationName:"description" min:"1" type:"string" required:"true"` + + // An external ID to assign to the asset model. + // + // If the composite model is a derived composite model, or one nested inside + // a component model, you can only set the external ID using UpdateAssetModelCompositeModel + // and specifying the derived ID of the model or property from the created model + // it's a part of. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the composite model that this summary describes. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the composite model that this summary describes. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The path that includes all the components of the asset model for the asset. + // + // Path is a required field + Path []*AssetCompositeModelPathSegment `locationName:"path" type:"list" required:"true"` + + // 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. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetCompositeModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetCompositeModelSummary) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *AssetCompositeModelSummary) SetDescription(v string) *AssetCompositeModelSummary { + s.Description = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetCompositeModelSummary) SetExternalId(v string) *AssetCompositeModelSummary { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetCompositeModelSummary) SetId(v string) *AssetCompositeModelSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetCompositeModelSummary) SetName(v string) *AssetCompositeModelSummary { + s.Name = &v + return s +} + +// SetPath sets the Path field's value. +func (s *AssetCompositeModelSummary) SetPath(v []*AssetCompositeModelPathSegment) *AssetCompositeModelSummary { + s.Path = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetCompositeModelSummary) SetType(v string) *AssetCompositeModelSummary { + s.Type = &v + return s +} + +// Contains error details for the requested associate project asset action. +type AssetErrorDetails struct { + _ struct{} `type:"structure"` + + // The ID of the asset, in UUID format. + // + // AssetId is a required field + AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` + + // The error code. + // + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true" enum:"AssetErrorCode"` + + // The error message. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetErrorDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetErrorDetails) GoString() string { + return s.String() +} + +// SetAssetId sets the AssetId field's value. +func (s *AssetErrorDetails) SetAssetId(v string) *AssetErrorDetails { + s.AssetId = &v + return s +} + +// SetCode sets the Code field's value. +func (s *AssetErrorDetails) SetCode(v string) *AssetErrorDetails { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *AssetErrorDetails) SetMessage(v string) *AssetErrorDetails { + s.Message = &v + return s +} + +// Describes an asset hierarchy that contains a hierarchy's name and ID. +type AssetHierarchy struct { + _ struct{} `type:"structure"` + + // The external ID of the hierarchy, if it has one. When you update an asset + // hierarchy, you may assign an external ID if it doesn't already have one. + // You can't change the external ID of an asset hierarchy that already has one. + // For more information, see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the hierarchy. This ID is a hierarchyId. + Id *string `locationName:"id" min:"36" type:"string"` + + // The hierarchy name provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) + // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // API operation. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetHierarchy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetHierarchy) GoString() string { + return s.String() +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetHierarchy) SetExternalId(v string) *AssetHierarchy { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetHierarchy) SetId(v string) *AssetHierarchy { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetHierarchy) SetName(v string) *AssetHierarchy { + s.Name = &v + return s +} + +// Contains information about a parent asset and a child asset that are related +// through an asset hierarchy. +type AssetHierarchyInfo struct { + _ struct{} `type:"structure"` + + // The ID of the child asset in this asset relationship. + ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string"` + + // The ID of the parent asset in this asset relationship. + ParentAssetId *string `locationName:"parentAssetId" min:"36" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetHierarchyInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetHierarchyInfo) GoString() string { + return s.String() +} + +// SetChildAssetId sets the ChildAssetId field's value. +func (s *AssetHierarchyInfo) SetChildAssetId(v string) *AssetHierarchyInfo { + s.ChildAssetId = &v + return s +} + +// SetParentAssetId sets the ParentAssetId field's value. +func (s *AssetHierarchyInfo) SetParentAssetId(v string) *AssetHierarchyInfo { + s.ParentAssetId = &v + return s +} + +// Contains information about a composite model in an asset model. This object +// contains the asset property definitions that you define in the composite +// model. +type AssetModelCompositeModel struct { + _ struct{} `type:"structure"` + + // The description of the composite model. + Description *string `locationName:"description" min:"1" type:"string"` + + // The external ID of the asset model composite model. For more information, + // see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the asset model composite model. + Id *string `locationName:"id" min:"13" type:"string"` + + // The name of the composite model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset property definitions for this composite model. + Properties []*AssetModelProperty `locationName:"properties" type:"list"` + + // The type of the composite model. For alarm composite models, this type is + // AWS/ALARM. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelCompositeModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModel"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Id != nil && len(*s.Id) < 13 { + invalidParams.Add(request.NewErrParamMinLen("Id", 13)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *AssetModelCompositeModel) SetDescription(v string) *AssetModelCompositeModel { + s.Description = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelCompositeModel) SetExternalId(v string) *AssetModelCompositeModel { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetModelCompositeModel) SetId(v string) *AssetModelCompositeModel { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelCompositeModel) SetName(v string) *AssetModelCompositeModel { + s.Name = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *AssetModelCompositeModel) SetProperties(v []*AssetModelProperty) *AssetModelCompositeModel { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelCompositeModel) SetType(v string) *AssetModelCompositeModel { + s.Type = &v + return s +} + +// Contains a composite model definition in an asset model. This composite model +// definition is applied to all assets created from the asset model. +type AssetModelCompositeModelDefinition struct { + _ struct{} `type:"structure"` + + // The description of the composite model. + Description *string `locationName:"description" min:"1" type:"string"` + + // An external ID to assign to the composite model. The external ID must be + // unique among composite models within this asset model. For more information, + // see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID to assign to the composite 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. + Id *string `locationName:"id" min:"36" type:"string"` + + // The name of the composite model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset property definitions for this composite model. + Properties []*AssetModelPropertyDefinition `locationName:"properties" type:"list"` + + // The type of the composite model. For alarm composite models, this type is + // AWS/ALARM. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModelDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModelDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelCompositeModelDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModelDefinition"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *AssetModelCompositeModelDefinition) SetDescription(v string) *AssetModelCompositeModelDefinition { + s.Description = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelCompositeModelDefinition) SetExternalId(v string) *AssetModelCompositeModelDefinition { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetModelCompositeModelDefinition) SetId(v string) *AssetModelCompositeModelDefinition { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelCompositeModelDefinition) SetName(v string) *AssetModelCompositeModelDefinition { + s.Name = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *AssetModelCompositeModelDefinition) SetProperties(v []*AssetModelPropertyDefinition) *AssetModelCompositeModelDefinition { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelCompositeModelDefinition) SetType(v string) *AssetModelCompositeModelDefinition { + s.Type = &v + return s +} + +// Represents one level between a composite model and the root of the asset +// model. +type AssetModelCompositeModelPathSegment struct { + _ struct{} `type:"structure"` + + // The ID of the path segment. + Id *string `locationName:"id" min:"36" type:"string"` + + // The name of the path segment. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModelPathSegment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModelPathSegment) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *AssetModelCompositeModelPathSegment) SetId(v string) *AssetModelCompositeModelPathSegment { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelCompositeModelPathSegment) SetName(v string) *AssetModelCompositeModelPathSegment { + s.Name = &v + return s +} + +// Contains a summary of the composite model. +type AssetModelCompositeModelSummary struct { + _ struct{} `type:"structure"` + + // The description of the the composite model that this summary describes.. + Description *string `locationName:"description" min:"1" type:"string"` + + // The external ID of a composite model on this asset model. For more information, + // see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the the composite model that this summary describes.. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the the composite model that this summary describes.. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The path that includes all the pieces that make up the composite model. + Path []*AssetModelCompositeModelPathSegment `locationName:"path" type:"list"` + + // 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. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelCompositeModelSummary) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *AssetModelCompositeModelSummary) SetDescription(v string) *AssetModelCompositeModelSummary { + s.Description = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelCompositeModelSummary) SetExternalId(v string) *AssetModelCompositeModelSummary { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetModelCompositeModelSummary) SetId(v string) *AssetModelCompositeModelSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelCompositeModelSummary) SetName(v string) *AssetModelCompositeModelSummary { + s.Name = &v + return s +} + +// SetPath sets the Path field's value. +func (s *AssetModelCompositeModelSummary) SetPath(v []*AssetModelCompositeModelPathSegment) *AssetModelCompositeModelSummary { + s.Path = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelCompositeModelSummary) SetType(v string) *AssetModelCompositeModelSummary { + s.Type = &v + return s +} + +// Describes an asset hierarchy that contains a hierarchy's name, ID, and child +// asset model ID that specifies the type of asset that can be in this hierarchy. +type AssetModelHierarchy struct { + _ struct{} `type:"structure"` + + // The ID of the asset model, in UUID format. All assets in this hierarchy must + // be instances of the childAssetModelId asset model. IoT SiteWise will always + // return the actual asset model ID for this value. However, when you are specifying + // this value as part of a call to UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html), + // you may provide either the asset model ID or else externalId: followed by + // the asset model's external ID. For more information, see Using external IDs + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + // + // ChildAssetModelId is a required field + ChildAssetModelId *string `locationName:"childAssetModelId" min:"13" type:"string" required:"true"` + + // The external ID (if any) provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) + // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // operation. You can assign an external ID by specifying this value as part + // of a call to UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html). + // However, you can't change the external ID if one is already assigned. For + // more information, see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the asset model hierarchy. This ID is a hierarchyId. + // + // * If you are callling UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // to create a new hierarchy: You can specify its ID here, 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. + // + // * If you are calling UpdateAssetModel to modify an existing hierarchy: + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + Id *string `locationName:"id" min:"13" type:"string"` + + // The name of the asset model hierarchy that you specify by using the CreateAssetModel + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) + // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // API operation. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelHierarchy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelHierarchy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelHierarchy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchy"} + if s.ChildAssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId")) + } + if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 13)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Id != nil && len(*s.Id) < 13 { + invalidParams.Add(request.NewErrParamMinLen("Id", 13)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChildAssetModelId sets the ChildAssetModelId field's value. +func (s *AssetModelHierarchy) SetChildAssetModelId(v string) *AssetModelHierarchy { + s.ChildAssetModelId = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelHierarchy) SetExternalId(v string) *AssetModelHierarchy { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetModelHierarchy) SetId(v string) *AssetModelHierarchy { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelHierarchy) SetName(v string) *AssetModelHierarchy { + s.Name = &v + return s +} + +// Contains an asset model hierarchy used in asset model creation. An asset +// model hierarchy determines the kind (or type) of asset that can belong to +// a hierarchy. +type AssetModelHierarchyDefinition struct { + _ struct{} `type:"structure"` + + // The ID of an asset model for this hierarchy. 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 + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // ChildAssetModelId is a required field + ChildAssetModelId *string `locationName:"childAssetModelId" min:"13" type:"string" required:"true"` + + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // 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. + Id *string `locationName:"id" min:"36" type:"string"` + + // The name of the asset model hierarchy definition (as specified in the CreateAssetModel + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) + // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // API operation). + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelHierarchyDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelHierarchyDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelHierarchyDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchyDefinition"} + if s.ChildAssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId")) + } + if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 13)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChildAssetModelId sets the ChildAssetModelId field's value. +func (s *AssetModelHierarchyDefinition) SetChildAssetModelId(v string) *AssetModelHierarchyDefinition { + s.ChildAssetModelId = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelHierarchyDefinition) SetExternalId(v string) *AssetModelHierarchyDefinition { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetModelHierarchyDefinition) SetId(v string) *AssetModelHierarchyDefinition { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelHierarchyDefinition) SetName(v string) *AssetModelHierarchyDefinition { + s.Name = &v + return s +} + +// Contains information about an asset model property. +type AssetModelProperty struct { + _ struct{} `type:"structure"` + + // The data type of the asset model property. + // + // DataType is a required field + DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + + // The data type of the structure for this property. This parameter exists on + // properties that have the STRUCT data type. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + + // The external ID (if any) provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) + // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // operation. You can assign an external ID by specifying this value as part + // of a call to UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html). + // However, you can't change the external ID if one is already assigned. For + // more information, see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the asset model property. + // + // * If you are callling UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) + // to create a new property: You can specify its ID here, 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. + // + // * If you are calling UpdateAssetModel to modify an existing property: + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + Id *string `locationName:"id" min:"13" type:"string"` + + // The name of the asset model property. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The structured path to the property from the root of the asset model. + Path []*AssetModelPropertyPathSegment `locationName:"path" type:"list"` + + // The property type (see PropertyType). + // + // Type is a required field + Type *PropertyType `locationName:"type" type:"structure" required:"true"` + + // The unit of the asset model property, such as Newtons or RPM. + Unit *string `locationName:"unit" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelProperty) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelProperty) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelProperty"} + if s.DataType == nil { + invalidParams.Add(request.NewErrParamRequired("DataType")) + } + if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Id != nil && len(*s.Id) < 13 { + invalidParams.Add(request.NewErrParamMinLen("Id", 13)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Unit != nil && len(*s.Unit) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Unit", 1)) + } + if s.Path != nil { + for i, v := range s.Path { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Path", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Type != nil { + if err := s.Type.Validate(); err != nil { + invalidParams.AddNested("Type", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataType sets the DataType field's value. +func (s *AssetModelProperty) SetDataType(v string) *AssetModelProperty { + s.DataType = &v + return s +} + +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetModelProperty) SetDataTypeSpec(v string) *AssetModelProperty { + s.DataTypeSpec = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelProperty) SetExternalId(v string) *AssetModelProperty { + s.ExternalId = &v + return s +} + // SetId sets the Id field's value. -func (s *AccessPolicySummary) SetId(v string) *AccessPolicySummary { +func (s *AssetModelProperty) SetId(v string) *AssetModelProperty { s.Id = &v return s } -// SetIdentity sets the Identity field's value. -func (s *AccessPolicySummary) SetIdentity(v *Identity) *AccessPolicySummary { - s.Identity = v +// SetName sets the Name field's value. +func (s *AssetModelProperty) SetName(v string) *AssetModelProperty { + s.Name = &v return s } -// SetLastUpdateDate sets the LastUpdateDate field's value. -func (s *AccessPolicySummary) SetLastUpdateDate(v time.Time) *AccessPolicySummary { - s.LastUpdateDate = &v +// SetPath sets the Path field's value. +func (s *AssetModelProperty) SetPath(v []*AssetModelPropertyPathSegment) *AssetModelProperty { + s.Path = v return s } -// SetPermission sets the Permission field's value. -func (s *AccessPolicySummary) SetPermission(v string) *AccessPolicySummary { - s.Permission = &v +// SetType sets the Type field's value. +func (s *AssetModelProperty) SetType(v *PropertyType) *AssetModelProperty { + s.Type = v return s } -// SetResource sets the Resource field's value. -func (s *AccessPolicySummary) SetResource(v *Resource) *AccessPolicySummary { - s.Resource = v +// SetUnit sets the Unit field's value. +func (s *AssetModelProperty) SetUnit(v string) *AssetModelProperty { + s.Unit = &v return s } -// Contains aggregated asset property values (for example, average, minimum, -// and maximum). -type AggregatedValue struct { +// Contains an asset model property definition. This property definition is +// applied to all assets created from the asset model. +type AssetModelPropertyDefinition struct { _ struct{} `type:"structure"` - // The quality of the aggregated data. - Quality *string `locationName:"quality" type:"string" enum:"Quality"` + // The data type of the property definition. + // + // If you specify STRUCT, you must also specify dataTypeSpec to identify the + // type of the structure for this property. + // + // DataType is a required field + DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` - // The date the aggregating computations occurred, in Unix epoch time. + // The data type of the structure for this property. This parameter is required + // on properties that have the STRUCT data type. // - // Timestamp is a required field - Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"` + // The options for this parameter depend on the type of the composite model + // in which you define this property. Use AWS/ALARM_STATE for alarm state in + // alarm composite models. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // 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. + Id *string `locationName:"id" min:"36" type:"string"` + + // The name of the property definition. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The property definition type (see PropertyType). You can only specify one + // type in a property definition. + // + // Type is a required field + Type *PropertyType `locationName:"type" type:"structure" required:"true"` + + // The unit of the property definition, such as Newtons or RPM. + Unit *string `locationName:"unit" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelPropertyDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelPropertyDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelPropertyDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelPropertyDefinition"} + if s.DataType == nil { + invalidParams.Add(request.NewErrParamRequired("DataType")) + } + if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Unit != nil && len(*s.Unit) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Unit", 1)) + } + if s.Type != nil { + if err := s.Type.Validate(); err != nil { + invalidParams.AddNested("Type", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataType sets the DataType field's value. +func (s *AssetModelPropertyDefinition) SetDataType(v string) *AssetModelPropertyDefinition { + s.DataType = &v + return s +} + +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetModelPropertyDefinition) SetDataTypeSpec(v string) *AssetModelPropertyDefinition { + s.DataTypeSpec = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelPropertyDefinition) SetExternalId(v string) *AssetModelPropertyDefinition { + s.ExternalId = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetModelPropertyDefinition) SetId(v string) *AssetModelPropertyDefinition { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssetModelPropertyDefinition) SetName(v string) *AssetModelPropertyDefinition { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelPropertyDefinition) SetType(v *PropertyType) *AssetModelPropertyDefinition { + s.Type = v + return s +} + +// SetUnit sets the Unit field's value. +func (s *AssetModelPropertyDefinition) SetUnit(v string) *AssetModelPropertyDefinition { + s.Unit = &v + return s +} + +// Represents one level between a property and the root of the asset model. +type AssetModelPropertyPathSegment struct { + _ struct{} `type:"structure"` + + // The ID of the path segment. + Id *string `locationName:"id" min:"36" type:"string"` - // The value of the aggregates. - // - // Value is a required field - Value *Aggregates `locationName:"value" type:"structure" required:"true"` + // The name of the path segment. + Name *string `locationName:"name" min:"1" type:"string"` } // String returns the string representation. @@ -8777,7 +11911,7 @@ type AggregatedValue struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregatedValue) String() string { +func (s AssetModelPropertyPathSegment) String() string { return awsutil.Prettify(s) } @@ -8786,49 +11920,78 @@ func (s AggregatedValue) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregatedValue) GoString() string { +func (s AssetModelPropertyPathSegment) GoString() string { return s.String() } -// SetQuality sets the Quality field's value. -func (s *AggregatedValue) SetQuality(v string) *AggregatedValue { - s.Quality = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetModelPropertyPathSegment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetModelPropertyPathSegment"} + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTimestamp sets the Timestamp field's value. -func (s *AggregatedValue) SetTimestamp(v time.Time) *AggregatedValue { - s.Timestamp = &v +// SetId sets the Id field's value. +func (s *AssetModelPropertyPathSegment) SetId(v string) *AssetModelPropertyPathSegment { + s.Id = &v return s } -// SetValue sets the Value field's value. -func (s *AggregatedValue) SetValue(v *Aggregates) *AggregatedValue { - s.Value = v +// SetName sets the Name field's value. +func (s *AssetModelPropertyPathSegment) SetName(v string) *AssetModelPropertyPathSegment { + s.Name = &v return s } -// Contains the (pre-calculated) aggregate values for an asset property. -type Aggregates struct { +// Contains a summary of a property associated with a model. +type AssetModelPropertySummary struct { _ struct{} `type:"structure"` - // The average (mean) value of the time series over a time interval window. - Average *float64 `locationName:"average" type:"double"` + // The ID of the composite model that contains the asset model property. + AssetModelCompositeModelId *string `locationName:"assetModelCompositeModelId" min:"36" type:"string"` - // The count of data points in the time series over a time interval window. - Count *float64 `locationName:"count" type:"double"` + // The data type of the property. + // + // DataType is a required field + DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` - // The maximum value of the time series over a time interval window. - Maximum *float64 `locationName:"maximum" type:"double"` + // The data type of the structure for this property. This parameter exists on + // properties that have the STRUCT data type. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` - // The minimum value of the time series over a time interval window. - Minimum *float64 `locationName:"minimum" type:"double"` + // The external ID of the property. For more information, see Using external + // IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` - // The standard deviation of the time series over a time interval window. - StandardDeviation *float64 `locationName:"standardDeviation" type:"double"` + // The ID of the property. + Id *string `locationName:"id" min:"36" type:"string"` - // The sum of the time series over a time interval window. - Sum *float64 `locationName:"sum" type:"double"` + // The name of the property. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The structured path to the property from the root of the asset model. + Path []*AssetModelPropertyPathSegment `locationName:"path" type:"list"` + + // Contains a property type, which can be one of attribute, measurement, metric, + // or transform. + // + // Type is a required field + Type *PropertyType `locationName:"type" type:"structure" required:"true"` + + // The unit (such as Newtons or RPM) of the property. + Unit *string `locationName:"unit" min:"1" type:"string"` } // String returns the string representation. @@ -8836,7 +11999,7 @@ type Aggregates struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Aggregates) String() string { +func (s AssetModelPropertySummary) String() string { return awsutil.Prettify(s) } @@ -8845,66 +12008,77 @@ func (s Aggregates) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Aggregates) GoString() string { +func (s AssetModelPropertySummary) GoString() string { return s.String() } -// SetAverage sets the Average field's value. -func (s *Aggregates) SetAverage(v float64) *Aggregates { - s.Average = &v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *AssetModelPropertySummary) SetAssetModelCompositeModelId(v string) *AssetModelPropertySummary { + s.AssetModelCompositeModelId = &v return s } -// SetCount sets the Count field's value. -func (s *Aggregates) SetCount(v float64) *Aggregates { - s.Count = &v +// SetDataType sets the DataType field's value. +func (s *AssetModelPropertySummary) SetDataType(v string) *AssetModelPropertySummary { + s.DataType = &v return s } -// SetMaximum sets the Maximum field's value. -func (s *Aggregates) SetMaximum(v float64) *Aggregates { - s.Maximum = &v +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetModelPropertySummary) SetDataTypeSpec(v string) *AssetModelPropertySummary { + s.DataTypeSpec = &v return s } -// SetMinimum sets the Minimum field's value. -func (s *Aggregates) SetMinimum(v float64) *Aggregates { - s.Minimum = &v +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelPropertySummary) SetExternalId(v string) *AssetModelPropertySummary { + s.ExternalId = &v return s } -// SetStandardDeviation sets the StandardDeviation field's value. -func (s *Aggregates) SetStandardDeviation(v float64) *Aggregates { - s.StandardDeviation = &v +// SetId sets the Id field's value. +func (s *AssetModelPropertySummary) SetId(v string) *AssetModelPropertySummary { + s.Id = &v return s } -// SetSum sets the Sum field's value. -func (s *Aggregates) SetSum(v float64) *Aggregates { - s.Sum = &v +// SetName sets the Name field's value. +func (s *AssetModelPropertySummary) SetName(v string) *AssetModelPropertySummary { + s.Name = &v return s } -// Contains the configuration information of an alarm created in an IoT SiteWise -// Monitor portal. You can use the alarm to monitor an asset property and get -// notified when the asset property value is outside a specified range. For -// more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html) -// in the IoT SiteWise Application Guide. -type Alarms struct { +// SetPath sets the Path field's value. +func (s *AssetModelPropertySummary) SetPath(v []*AssetModelPropertyPathSegment) *AssetModelPropertySummary { + s.Path = v + return s +} + +// SetType sets the Type field's value. +func (s *AssetModelPropertySummary) SetType(v *PropertyType) *AssetModelPropertySummary { + s.Type = v + return s +} + +// SetUnit sets the Unit field's value. +func (s *AssetModelPropertySummary) SetUnit(v string) *AssetModelPropertySummary { + s.Unit = &v + return s +} + +// Contains current status information for an asset model. For more information, +// see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) +// in the IoT SiteWise User Guide. +type AssetModelStatus struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the IAM role that allows the alarm to perform actions and access Amazon - // Web Services resources and services, such as IoT Events. - // - // AlarmRoleArn is a required field - AlarmRoleArn *string `locationName:"alarmRoleArn" min:"1" type:"string" required:"true"` + // Contains associated error information, if any. + Error *ErrorDetails `locationName:"error" type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the Lambda function that manages alarm notifications. For more information, - // see Managing alarm notifications (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) - // in the IoT Events Developer Guide. - NotificationLambdaArn *string `locationName:"notificationLambdaArn" min:"1" type:"string"` + // The current state of the asset model. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"AssetModelState"` } // String returns the string representation. @@ -8912,7 +12086,7 @@ type Alarms struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Alarms) String() string { +func (s AssetModelStatus) String() string { return awsutil.Prettify(s) } @@ -8921,67 +12095,78 @@ func (s Alarms) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Alarms) GoString() string { +func (s AssetModelStatus) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Alarms) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Alarms"} - if s.AlarmRoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("AlarmRoleArn")) - } - if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 1)) - } - if s.NotificationLambdaArn != nil && len(*s.NotificationLambdaArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NotificationLambdaArn", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAlarmRoleArn sets the AlarmRoleArn field's value. -func (s *Alarms) SetAlarmRoleArn(v string) *Alarms { - s.AlarmRoleArn = &v +// SetError sets the Error field's value. +func (s *AssetModelStatus) SetError(v *ErrorDetails) *AssetModelStatus { + s.Error = v return s } -// SetNotificationLambdaArn sets the NotificationLambdaArn field's value. -func (s *Alarms) SetNotificationLambdaArn(v string) *Alarms { - s.NotificationLambdaArn = &v +// SetState sets the State field's value. +func (s *AssetModelStatus) SetState(v string) *AssetModelStatus { + s.State = &v return s } -// Contains information about a composite model in an asset. This object contains -// the asset's properties that you define in the composite model. -type AssetCompositeModel struct { +// Contains a summary of an asset model. +type AssetModelSummary struct { _ struct{} `type:"structure"` - // The description of the composite model. - Description *string `locationName:"description" min:"1" type:"string"` + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the asset model, which has the following format. + // + // arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` - // The ID of the asset composite model. - Id *string `locationName:"id" min:"36" type:"string"` + // 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. + AssetModelType *string `locationName:"assetModelType" type:"string" enum:"AssetModelType"` - // The name of the composite model. + // The date the asset model was created, in Unix epoch time. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // CreationDate is a required field + CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` - // The asset properties that this composite model defines. + // The asset model description. // - // Properties is a required field - Properties []*AssetProperty `locationName:"properties" type:"list" required:"true"` + // Description is a required field + Description *string `locationName:"description" min:"1" type:"string" required:"true"` - // The type of the composite model. For alarm composite models, this type is - // AWS/ALARM. + // The external ID of the asset model. For more information, see Using external + // IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the asset model (used with IoT SiteWise API operations). // - // Type is a required field - Type *string `locationName:"type" min:"1" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The date the asset model was last updated, in Unix epoch time. + // + // LastUpdateDate is a required field + LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"` + + // The name of the asset model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The current status of the asset model. + // + // Status is a required field + Status *AssetModelStatus `locationName:"status" type:"structure" required:"true"` } // String returns the string representation. @@ -8989,67 +12174,116 @@ type AssetCompositeModel struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetCompositeModel) String() string { +func (s AssetModelSummary) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssetCompositeModel) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssetModelSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AssetModelSummary) SetArn(v string) *AssetModelSummary { + s.Arn = &v + return s +} + +// SetAssetModelType sets the AssetModelType field's value. +func (s *AssetModelSummary) SetAssetModelType(v string) *AssetModelSummary { + s.AssetModelType = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *AssetModelSummary) SetCreationDate(v time.Time) *AssetModelSummary { + s.CreationDate = &v + return s } // SetDescription sets the Description field's value. -func (s *AssetCompositeModel) SetDescription(v string) *AssetCompositeModel { +func (s *AssetModelSummary) SetDescription(v string) *AssetModelSummary { s.Description = &v return s } +// SetExternalId sets the ExternalId field's value. +func (s *AssetModelSummary) SetExternalId(v string) *AssetModelSummary { + s.ExternalId = &v + return s +} + // SetId sets the Id field's value. -func (s *AssetCompositeModel) SetId(v string) *AssetCompositeModel { +func (s *AssetModelSummary) SetId(v string) *AssetModelSummary { s.Id = &v return s } -// SetName sets the Name field's value. -func (s *AssetCompositeModel) SetName(v string) *AssetCompositeModel { - s.Name = &v +// SetLastUpdateDate sets the LastUpdateDate field's value. +func (s *AssetModelSummary) SetLastUpdateDate(v time.Time) *AssetModelSummary { + s.LastUpdateDate = &v return s } -// SetProperties sets the Properties field's value. -func (s *AssetCompositeModel) SetProperties(v []*AssetProperty) *AssetCompositeModel { - s.Properties = v +// SetName sets the Name field's value. +func (s *AssetModelSummary) SetName(v string) *AssetModelSummary { + s.Name = &v return s } -// SetType sets the Type field's value. -func (s *AssetCompositeModel) SetType(v string) *AssetCompositeModel { - s.Type = &v +// SetStatus sets the Status field's value. +func (s *AssetModelSummary) SetStatus(v *AssetModelStatus) *AssetModelSummary { + s.Status = v return s } -// Contains error details for the requested associate project asset action. -type AssetErrorDetails struct { +// Contains asset property information. +type AssetProperty struct { _ struct{} `type:"structure"` - // The ID of the asset. + // The alias that identifies the property, such as an OPC-UA server data stream + // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, + // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) + // in the IoT SiteWise User Guide. + Alias *string `locationName:"alias" min:"1" type:"string"` + + // The data type of the asset property. // - // AssetId is a required field - AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` + // DataType is a required field + DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` - // The error code. + // The data type of the structure for this property. This parameter exists on + // properties that have the STRUCT data type. + DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + + // The external ID of the asset property. For more information, see Using external + // IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the asset property. // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true" enum:"AssetErrorCode"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The error message. + // The name of the property. // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The asset property's notification topic and state. For more information, + // see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). + Notification *PropertyNotification `locationName:"notification" type:"structure"` + + // The structured path to the property from the root of the asset. + Path []*AssetPropertyPathSegment `locationName:"path" type:"list"` + + // The unit (such as Newtons or RPM) of the asset property. + Unit *string `locationName:"unit" min:"1" type:"string"` } // String returns the string representation. @@ -9057,7 +12291,7 @@ type AssetErrorDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetErrorDetails) String() string { +func (s AssetProperty) String() string { return awsutil.Prettify(s) } @@ -9066,83 +12300,73 @@ func (s AssetErrorDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetErrorDetails) GoString() string { +func (s AssetProperty) GoString() string { return s.String() } -// SetAssetId sets the AssetId field's value. -func (s *AssetErrorDetails) SetAssetId(v string) *AssetErrorDetails { - s.AssetId = &v +// SetAlias sets the Alias field's value. +func (s *AssetProperty) SetAlias(v string) *AssetProperty { + s.Alias = &v return s } -// SetCode sets the Code field's value. -func (s *AssetErrorDetails) SetCode(v string) *AssetErrorDetails { - s.Code = &v +// SetDataType sets the DataType field's value. +func (s *AssetProperty) SetDataType(v string) *AssetProperty { + s.DataType = &v return s } -// SetMessage sets the Message field's value. -func (s *AssetErrorDetails) SetMessage(v string) *AssetErrorDetails { - s.Message = &v +// SetDataTypeSpec sets the DataTypeSpec field's value. +func (s *AssetProperty) SetDataTypeSpec(v string) *AssetProperty { + s.DataTypeSpec = &v return s } -// Describes an asset hierarchy that contains a hierarchy's name and ID. -type AssetHierarchy struct { - _ struct{} `type:"structure"` - - // The ID of the hierarchy. This ID is a hierarchyId. - Id *string `locationName:"id" min:"36" type:"string"` +// SetExternalId sets the ExternalId field's value. +func (s *AssetProperty) SetExternalId(v string) *AssetProperty { + s.ExternalId = &v + return s +} - // The hierarchy name provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) - // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) - // API operation. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// SetId sets the Id field's value. +func (s *AssetProperty) SetId(v string) *AssetProperty { + s.Id = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssetHierarchy) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *AssetProperty) SetName(v string) *AssetProperty { + s.Name = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssetHierarchy) GoString() string { - return s.String() +// SetNotification sets the Notification field's value. +func (s *AssetProperty) SetNotification(v *PropertyNotification) *AssetProperty { + s.Notification = v + return s } -// SetId sets the Id field's value. -func (s *AssetHierarchy) SetId(v string) *AssetHierarchy { - s.Id = &v +// SetPath sets the Path field's value. +func (s *AssetProperty) SetPath(v []*AssetPropertyPathSegment) *AssetProperty { + s.Path = v return s } -// SetName sets the Name field's value. -func (s *AssetHierarchy) SetName(v string) *AssetHierarchy { - s.Name = &v +// SetUnit sets the Unit field's value. +func (s *AssetProperty) SetUnit(v string) *AssetProperty { + s.Unit = &v return s } -// Contains information about a parent asset and a child asset that are related -// through an asset hierarchy. -type AssetHierarchyInfo struct { +// Represents one level between a property and the root of the asset. +type AssetPropertyPathSegment struct { _ struct{} `type:"structure"` - // The ID of the child asset in this asset relationship. - ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string"` + // The ID of the path segment. + Id *string `locationName:"id" min:"36" type:"string"` - // The ID of the parent asset in this asset relationship. - ParentAssetId *string `locationName:"parentAssetId" min:"36" type:"string"` + // The name of the path segment. + Name *string `locationName:"name" min:"1" type:"string"` } // String returns the string representation. @@ -9150,7 +12374,7 @@ type AssetHierarchyInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetHierarchyInfo) String() string { +func (s AssetPropertyPathSegment) String() string { return awsutil.Prettify(s) } @@ -9159,47 +12383,56 @@ func (s AssetHierarchyInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetHierarchyInfo) GoString() string { +func (s AssetPropertyPathSegment) GoString() string { return s.String() } -// SetChildAssetId sets the ChildAssetId field's value. -func (s *AssetHierarchyInfo) SetChildAssetId(v string) *AssetHierarchyInfo { - s.ChildAssetId = &v +// SetId sets the Id field's value. +func (s *AssetPropertyPathSegment) SetId(v string) *AssetPropertyPathSegment { + s.Id = &v return s } -// SetParentAssetId sets the ParentAssetId field's value. -func (s *AssetHierarchyInfo) SetParentAssetId(v string) *AssetHierarchyInfo { - s.ParentAssetId = &v +// SetName sets the Name field's value. +func (s *AssetPropertyPathSegment) SetName(v string) *AssetPropertyPathSegment { + s.Name = &v return s } -// Contains information about a composite model in an asset model. This object -// contains the asset property definitions that you define in the composite -// model. -type AssetModelCompositeModel struct { +// Contains a summary of a property associated with an asset. +type AssetPropertySummary struct { _ struct{} `type:"structure"` - // The description of the composite model. - Description *string `locationName:"description" min:"1" type:"string"` + // The alias that identifies the property, such as an OPC-UA server data stream + // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, + // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) + // in the IoT SiteWise User Guide. + Alias *string `locationName:"alias" min:"1" type:"string"` - // The ID of the asset model composite model. - Id *string `locationName:"id" min:"36" type:"string"` + // The ID of the composite model that contains the asset property. + AssetCompositeModelId *string `locationName:"assetCompositeModelId" min:"36" type:"string"` - // The name of the composite model. + // The external ID of the property. For more information, see Using external + // IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // The ID of the property. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The asset property definitions for this composite model. - Properties []*AssetModelProperty `locationName:"properties" type:"list"` + // Contains asset property value notification information. When the notification + // state is enabled, IoT SiteWise publishes property value updates to a unique + // MQTT topic. For more information, see Interacting with other services (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html) + // in the IoT SiteWise User Guide. + Notification *PropertyNotification `locationName:"notification" type:"structure"` - // The type of the composite model. For alarm composite models, this type is - // AWS/ALARM. - // - // Type is a required field - Type *string `locationName:"type" min:"1" type:"string" required:"true"` + // The structured path to the property from the root of the asset. + Path []*AssetPropertyPathSegment `locationName:"path" type:"list"` + + // The unit of measure (such as Newtons or RPM) of the asset property. + Unit *string `locationName:"unit" min:"1" type:"string"` } // String returns the string representation. @@ -9207,7 +12440,7 @@ type AssetModelCompositeModel struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelCompositeModel) String() string { +func (s AssetPropertySummary) String() string { return awsutil.Prettify(s) } @@ -9216,99 +12449,68 @@ func (s AssetModelCompositeModel) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelCompositeModel) GoString() string { +func (s AssetPropertySummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssetModelCompositeModel) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModel"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Id != nil && len(*s.Id) < 36 { - invalidParams.Add(request.NewErrParamMinLen("Id", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Type != nil && len(*s.Type) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Type", 1)) - } - if s.Properties != nil { - for i, v := range s.Properties { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAlias sets the Alias field's value. +func (s *AssetPropertySummary) SetAlias(v string) *AssetPropertySummary { + s.Alias = &v + return s } -// SetDescription sets the Description field's value. -func (s *AssetModelCompositeModel) SetDescription(v string) *AssetModelCompositeModel { - s.Description = &v +// SetAssetCompositeModelId sets the AssetCompositeModelId field's value. +func (s *AssetPropertySummary) SetAssetCompositeModelId(v string) *AssetPropertySummary { + s.AssetCompositeModelId = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetPropertySummary) SetExternalId(v string) *AssetPropertySummary { + s.ExternalId = &v return s } // SetId sets the Id field's value. -func (s *AssetModelCompositeModel) SetId(v string) *AssetModelCompositeModel { +func (s *AssetPropertySummary) SetId(v string) *AssetPropertySummary { s.Id = &v return s } -// SetName sets the Name field's value. -func (s *AssetModelCompositeModel) SetName(v string) *AssetModelCompositeModel { - s.Name = &v +// SetNotification sets the Notification field's value. +func (s *AssetPropertySummary) SetNotification(v *PropertyNotification) *AssetPropertySummary { + s.Notification = v return s } -// SetProperties sets the Properties field's value. -func (s *AssetModelCompositeModel) SetProperties(v []*AssetModelProperty) *AssetModelCompositeModel { - s.Properties = v +// SetPath sets the Path field's value. +func (s *AssetPropertySummary) SetPath(v []*AssetPropertyPathSegment) *AssetPropertySummary { + s.Path = v return s } -// SetType sets the Type field's value. -func (s *AssetModelCompositeModel) SetType(v string) *AssetModelCompositeModel { - s.Type = &v +// SetUnit sets the Unit field's value. +func (s *AssetPropertySummary) SetUnit(v string) *AssetPropertySummary { + s.Unit = &v return s } -// Contains a composite model definition in an asset model. This composite model -// definition is applied to all assets created from the asset model. -type AssetModelCompositeModelDefinition struct { +// Contains asset property value information. +type AssetPropertyValue struct { _ struct{} `type:"structure"` - // The description of the composite model. - Description *string `locationName:"description" min:"1" type:"string"` + // The quality of the asset property value. + Quality *string `locationName:"quality" type:"string" enum:"Quality"` - // The name of the composite model. + // The timestamp of the asset property value. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // The asset property definitions for this composite model. - Properties []*AssetModelPropertyDefinition `locationName:"properties" type:"list"` + // Timestamp is a required field + Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"` - // The type of the composite model. For alarm composite models, this type is - // AWS/ALARM. + // The value of the asset property (see Variant). // - // Type is a required field - Type *string `locationName:"type" min:"1" type:"string" required:"true"` + // Value is a required field + Value *Variant `locationName:"value" type:"structure" required:"true"` } // String returns the string representation. @@ -9316,7 +12518,7 @@ type AssetModelCompositeModelDefinition struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelCompositeModelDefinition) String() string { +func (s AssetPropertyValue) String() string { return awsutil.Prettify(s) } @@ -9325,36 +12527,22 @@ func (s AssetModelCompositeModelDefinition) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelCompositeModelDefinition) GoString() string { +func (s AssetPropertyValue) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssetModelCompositeModelDefinition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModelDefinition"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +func (s *AssetPropertyValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"} + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) } - if s.Type != nil && len(*s.Type) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } - if s.Properties != nil { - for i, v := range s.Properties { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) - } + if s.Timestamp != nil { + if err := s.Timestamp.Validate(); err != nil { + invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) } } @@ -9364,51 +12552,42 @@ func (s *AssetModelCompositeModelDefinition) Validate() error { return nil } -// SetDescription sets the Description field's value. -func (s *AssetModelCompositeModelDefinition) SetDescription(v string) *AssetModelCompositeModelDefinition { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *AssetModelCompositeModelDefinition) SetName(v string) *AssetModelCompositeModelDefinition { - s.Name = &v +// SetQuality sets the Quality field's value. +func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue { + s.Quality = &v return s } -// SetProperties sets the Properties field's value. -func (s *AssetModelCompositeModelDefinition) SetProperties(v []*AssetModelPropertyDefinition) *AssetModelCompositeModelDefinition { - s.Properties = v +// SetTimestamp sets the Timestamp field's value. +func (s *AssetPropertyValue) SetTimestamp(v *TimeInNanos) *AssetPropertyValue { + s.Timestamp = v return s } -// SetType sets the Type field's value. -func (s *AssetModelCompositeModelDefinition) SetType(v string) *AssetModelCompositeModelDefinition { - s.Type = &v +// SetValue sets the Value field's value. +func (s *AssetPropertyValue) SetValue(v *Variant) *AssetPropertyValue { + s.Value = v return s } -// Describes an asset hierarchy that contains a hierarchy's name, ID, and child -// asset model ID that specifies the type of asset that can be in this hierarchy. -type AssetModelHierarchy struct { +// Contains information about assets that are related to one another. +type AssetRelationshipSummary struct { _ struct{} `type:"structure"` - // The ID of the asset model. All assets in this hierarchy must be instances - // of the childAssetModelId asset model. + // The assets that are related through an asset hierarchy. // - // ChildAssetModelId is a required field - ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"` - - // The ID of the asset model hierarchy. This ID is a hierarchyId. - Id *string `locationName:"id" min:"36" type:"string"` + // This object is present if the relationshipType is HIERARCHY. + HierarchyInfo *AssetHierarchyInfo `locationName:"hierarchyInfo" type:"structure"` - // The name of the asset model hierarchy that you specify by using the CreateAssetModel - // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) - // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) - // API operation. + // The relationship type of the assets in this relationship. This value is one + // of the following: // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // * HIERARCHY – The assets are related through an asset hierarchy. If + // you specify this relationship type, this asset relationship includes the + // hierarchyInfo object. + // + // RelationshipType is a required field + RelationshipType *string `locationName:"relationshipType" type:"string" required:"true" enum:"AssetRelationshipType"` } // String returns the string representation. @@ -9416,7 +12595,7 @@ type AssetModelHierarchy struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelHierarchy) String() string { +func (s AssetRelationshipSummary) String() string { return awsutil.Prettify(s) } @@ -9425,71 +12604,35 @@ func (s AssetModelHierarchy) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelHierarchy) GoString() string { +func (s AssetRelationshipSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssetModelHierarchy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchy"} - if s.ChildAssetModelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId")) - } - if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36)) - } - if s.Id != nil && len(*s.Id) < 36 { - invalidParams.Add(request.NewErrParamMinLen("Id", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetChildAssetModelId sets the ChildAssetModelId field's value. -func (s *AssetModelHierarchy) SetChildAssetModelId(v string) *AssetModelHierarchy { - s.ChildAssetModelId = &v - return s -} - -// SetId sets the Id field's value. -func (s *AssetModelHierarchy) SetId(v string) *AssetModelHierarchy { - s.Id = &v +// SetHierarchyInfo sets the HierarchyInfo field's value. +func (s *AssetRelationshipSummary) SetHierarchyInfo(v *AssetHierarchyInfo) *AssetRelationshipSummary { + s.HierarchyInfo = v return s } -// SetName sets the Name field's value. -func (s *AssetModelHierarchy) SetName(v string) *AssetModelHierarchy { - s.Name = &v +// SetRelationshipType sets the RelationshipType field's value. +func (s *AssetRelationshipSummary) SetRelationshipType(v string) *AssetRelationshipSummary { + s.RelationshipType = &v return s } -// Contains an asset model hierarchy used in asset model creation. An asset -// model hierarchy determines the kind (or type) of asset that can belong to -// a hierarchy. -type AssetModelHierarchyDefinition struct { +// Contains information about the current status of an asset. For more information, +// see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) +// in the IoT SiteWise User Guide. +type AssetStatus struct { _ struct{} `type:"structure"` - // The ID of an asset model for this hierarchy. - // - // ChildAssetModelId is a required field - ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"` + // Contains associated error information, if any. + Error *ErrorDetails `locationName:"error" type:"structure"` - // The name of the asset model hierarchy definition (as specified in the CreateAssetModel - // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) - // or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html) - // API operation). + // The current status of the asset. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"AssetState"` } // String returns the string representation. @@ -9497,7 +12640,7 @@ type AssetModelHierarchyDefinition struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelHierarchyDefinition) String() string { +func (s AssetStatus) String() string { return awsutil.Prettify(s) } @@ -9506,72 +12649,77 @@ func (s AssetModelHierarchyDefinition) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelHierarchyDefinition) GoString() string { +func (s AssetStatus) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssetModelHierarchyDefinition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchyDefinition"} - if s.ChildAssetModelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId")) - } - if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetError sets the Error field's value. +func (s *AssetStatus) SetError(v *ErrorDetails) *AssetStatus { + s.Error = v + return s } -// SetChildAssetModelId sets the ChildAssetModelId field's value. -func (s *AssetModelHierarchyDefinition) SetChildAssetModelId(v string) *AssetModelHierarchyDefinition { - s.ChildAssetModelId = &v +// SetState sets the State field's value. +func (s *AssetStatus) SetState(v string) *AssetStatus { + s.State = &v return s } -// SetName sets the Name field's value. -func (s *AssetModelHierarchyDefinition) SetName(v string) *AssetModelHierarchyDefinition { - s.Name = &v - return s -} +// Contains a summary of an asset. +type AssetSummary struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the asset, which has the following format. + // + // arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + + // The ID of the asset model used to create this asset. + // + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + + // The date the asset was created, in Unix epoch time. + // + // CreationDate is a required field + CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` + + // A description for the asset. + Description *string `locationName:"description" min:"1" type:"string"` -// Contains information about an asset model property. -type AssetModelProperty struct { - _ struct{} `type:"structure"` + // The external ID of the asset. For more information, see Using external IDs + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` - // The data type of the asset model property. + // A list of asset hierarchies that each contain a hierarchyId. A hierarchy + // specifies allowed parent/child asset relationships. // - // DataType is a required field - DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + // Hierarchies is a required field + Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"` - // The data type of the structure for this property. This parameter exists on - // properties that have the STRUCT data type. - DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + // The ID of the asset, in UUID format. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The ID of the asset model property. - Id *string `locationName:"id" min:"36" type:"string"` + // The date the asset was last updated, in Unix epoch time. + // + // LastUpdateDate is a required field + LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"` - // The name of the asset model property. + // The name of the asset. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The property type (see PropertyType). + // The current status of the asset. // - // Type is a required field - Type *PropertyType `locationName:"type" type:"structure" required:"true"` - - // The unit of the asset model property, such as Newtons or RPM. - Unit *string `locationName:"unit" min:"1" type:"string"` + // Status is a required field + Status *AssetStatus `locationName:"status" type:"structure" required:"true"` } // String returns the string representation. @@ -9579,7 +12727,7 @@ type AssetModelProperty struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelProperty) String() string { +func (s AssetSummary) String() string { return awsutil.Prettify(s) } @@ -9588,116 +12736,106 @@ func (s AssetModelProperty) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelProperty) GoString() string { +func (s AssetSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssetModelProperty) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetModelProperty"} - if s.DataType == nil { - invalidParams.Add(request.NewErrParamRequired("DataType")) - } - if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1)) - } - if s.Id != nil && len(*s.Id) < 36 { - invalidParams.Add(request.NewErrParamMinLen("Id", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Unit != nil && len(*s.Unit) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Unit", 1)) - } - if s.Type != nil { - if err := s.Type.Validate(); err != nil { - invalidParams.AddNested("Type", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *AssetSummary) SetArn(v string) *AssetSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssetModelId sets the AssetModelId field's value. +func (s *AssetSummary) SetAssetModelId(v string) *AssetSummary { + s.AssetModelId = &v + return s } -// SetDataType sets the DataType field's value. -func (s *AssetModelProperty) SetDataType(v string) *AssetModelProperty { - s.DataType = &v +// SetCreationDate sets the CreationDate field's value. +func (s *AssetSummary) SetCreationDate(v time.Time) *AssetSummary { + s.CreationDate = &v return s } -// SetDataTypeSpec sets the DataTypeSpec field's value. -func (s *AssetModelProperty) SetDataTypeSpec(v string) *AssetModelProperty { - s.DataTypeSpec = &v +// SetDescription sets the Description field's value. +func (s *AssetSummary) SetDescription(v string) *AssetSummary { + s.Description = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssetSummary) SetExternalId(v string) *AssetSummary { + s.ExternalId = &v + return s +} + +// SetHierarchies sets the Hierarchies field's value. +func (s *AssetSummary) SetHierarchies(v []*AssetHierarchy) *AssetSummary { + s.Hierarchies = v return s } // SetId sets the Id field's value. -func (s *AssetModelProperty) SetId(v string) *AssetModelProperty { +func (s *AssetSummary) SetId(v string) *AssetSummary { s.Id = &v return s } -// SetName sets the Name field's value. -func (s *AssetModelProperty) SetName(v string) *AssetModelProperty { - s.Name = &v +// SetLastUpdateDate sets the LastUpdateDate field's value. +func (s *AssetSummary) SetLastUpdateDate(v time.Time) *AssetSummary { + s.LastUpdateDate = &v return s } -// SetType sets the Type field's value. -func (s *AssetModelProperty) SetType(v *PropertyType) *AssetModelProperty { - s.Type = v +// SetName sets the Name field's value. +func (s *AssetSummary) SetName(v string) *AssetSummary { + s.Name = &v return s } -// SetUnit sets the Unit field's value. -func (s *AssetModelProperty) SetUnit(v string) *AssetModelProperty { - s.Unit = &v +// SetStatus sets the Status field's value. +func (s *AssetSummary) SetStatus(v *AssetStatus) *AssetSummary { + s.Status = v return s } -// Contains an asset model property definition. This property definition is -// applied to all assets created from the asset model. -type AssetModelPropertyDefinition struct { +type AssociateAssetsInput struct { _ struct{} `type:"structure"` - // The data type of the property definition. - // - // If you specify STRUCT, you must also specify dataTypeSpec to identify the - // type of the structure for this property. + // The ID of the parent 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // - // DataType is a required field - DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + // AssetId is a required field + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` - // The data type of the structure for this property. This parameter is required - // on properties that have the STRUCT data type. + // The ID of the child asset to be associated. 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 + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // - // The options for this parameter depend on the type of the composite model - // in which you define this property. Use AWS/ALARM_STATE for alarm state in - // alarm composite models. - DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` + // ChildAssetId is a required field + ChildAssetId *string `locationName:"childAssetId" min:"13" type:"string" required:"true"` - // The name of the property definition. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The property definition type (see PropertyType). You can only specify one - // type in a property definition. + // The ID of a hierarchy in the parent asset's model. (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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide.) Hierarchies allow different groupings of + // assets to be formed that all come from the same asset model. For more information, + // see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) + // in the IoT SiteWise User Guide. // - // Type is a required field - Type *PropertyType `locationName:"type" type:"structure" required:"true"` - - // The unit of the property definition, such as Newtons or RPM. - Unit *string `locationName:"unit" min:"1" type:"string"` + // HierarchyId is a required field + HierarchyId *string `locationName:"hierarchyId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -9705,7 +12843,7 @@ type AssetModelPropertyDefinition struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelPropertyDefinition) String() string { +func (s AssociateAssetsInput) String() string { return awsutil.Prettify(s) } @@ -9714,35 +12852,33 @@ func (s AssetModelPropertyDefinition) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelPropertyDefinition) GoString() string { +func (s AssociateAssetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssetModelPropertyDefinition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetModelPropertyDefinition"} - if s.DataType == nil { - invalidParams.Add(request.NewErrParamRequired("DataType")) +func (s *AssociateAssetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateAssetsInput"} + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.ChildAssetId == nil { + invalidParams.Add(request.NewErrParamRequired("ChildAssetId")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.ChildAssetId != nil && len(*s.ChildAssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 13)) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } - if s.Unit != nil && len(*s.Unit) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Unit", 1)) + if s.HierarchyId == nil { + invalidParams.Add(request.NewErrParamRequired("HierarchyId")) } - if s.Type != nil { - if err := s.Type.Validate(); err != nil { - invalidParams.AddNested("Type", err.(request.ErrInvalidParams)) - } + if s.HierarchyId != nil && len(*s.HierarchyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 13)) } if invalidParams.Len() > 0 { @@ -9751,68 +12887,81 @@ func (s *AssetModelPropertyDefinition) Validate() error { return nil } -// SetDataType sets the DataType field's value. -func (s *AssetModelPropertyDefinition) SetDataType(v string) *AssetModelPropertyDefinition { - s.DataType = &v - return s -} - -// SetDataTypeSpec sets the DataTypeSpec field's value. -func (s *AssetModelPropertyDefinition) SetDataTypeSpec(v string) *AssetModelPropertyDefinition { - s.DataTypeSpec = &v +// SetAssetId sets the AssetId field's value. +func (s *AssociateAssetsInput) SetAssetId(v string) *AssociateAssetsInput { + s.AssetId = &v return s } -// SetName sets the Name field's value. -func (s *AssetModelPropertyDefinition) SetName(v string) *AssetModelPropertyDefinition { - s.Name = &v +// SetChildAssetId sets the ChildAssetId field's value. +func (s *AssociateAssetsInput) SetChildAssetId(v string) *AssociateAssetsInput { + s.ChildAssetId = &v return s } -// SetType sets the Type field's value. -func (s *AssetModelPropertyDefinition) SetType(v *PropertyType) *AssetModelPropertyDefinition { - s.Type = v +// SetClientToken sets the ClientToken field's value. +func (s *AssociateAssetsInput) SetClientToken(v string) *AssociateAssetsInput { + s.ClientToken = &v return s } -// SetUnit sets the Unit field's value. -func (s *AssetModelPropertyDefinition) SetUnit(v string) *AssetModelPropertyDefinition { - s.Unit = &v +// SetHierarchyId sets the HierarchyId field's value. +func (s *AssociateAssetsInput) SetHierarchyId(v string) *AssociateAssetsInput { + s.HierarchyId = &v return s } -// Contains a summary of a property associated with a model. -type AssetModelPropertySummary struct { +type AssociateAssetsOutput struct { _ struct{} `type:"structure"` +} - // The ID of the composite model that contains the asset model property. - AssetModelCompositeModelId *string `locationName:"assetModelCompositeModelId" min:"36" type:"string"` - - // The data type of the property. - // - // DataType is a required field - DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateAssetsOutput) String() string { + return awsutil.Prettify(s) +} - // The data type of the structure for this property. This parameter exists on - // properties that have the STRUCT data type. - DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateAssetsOutput) GoString() string { + return s.String() +} - // The ID of the property. - Id *string `locationName:"id" min:"36" type:"string"` +type AssociateTimeSeriesToAssetPropertyInput struct { + _ struct{} `type:"structure"` - // The name of the property. + // The alias that identifies the time series. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Alias is a required field + Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string" required:"true"` - // Contains a property type, which can be one of attribute, measurement, metric, - // or transform. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // - // Type is a required field - Type *PropertyType `locationName:"type" type:"structure" required:"true"` + // AssetId is a required field + AssetId *string `location:"querystring" locationName:"assetId" min:"13" type:"string" required:"true"` - // The unit (such as Newtons or RPM) of the property. - Unit *string `locationName:"unit" min:"1" type:"string"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // The ID of the asset property. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // PropertyId is a required field + PropertyId *string `location:"querystring" locationName:"propertyId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -9820,7 +12969,7 @@ type AssetModelPropertySummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelPropertySummary) String() string { +func (s AssociateTimeSeriesToAssetPropertyInput) String() string { return awsutil.Prettify(s) } @@ -9829,65 +12978,67 @@ func (s AssetModelPropertySummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelPropertySummary) GoString() string { +func (s AssociateTimeSeriesToAssetPropertyInput) GoString() string { return s.String() } -// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. -func (s *AssetModelPropertySummary) SetAssetModelCompositeModelId(v string) *AssetModelPropertySummary { - s.AssetModelCompositeModelId = &v - return s -} - -// SetDataType sets the DataType field's value. -func (s *AssetModelPropertySummary) SetDataType(v string) *AssetModelPropertySummary { - s.DataType = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateTimeSeriesToAssetPropertyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateTimeSeriesToAssetPropertyInput"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) + } + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.PropertyId == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyId")) + } + if s.PropertyId != nil && len(*s.PropertyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 13)) + } -// SetDataTypeSpec sets the DataTypeSpec field's value. -func (s *AssetModelPropertySummary) SetDataTypeSpec(v string) *AssetModelPropertySummary { - s.DataTypeSpec = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *AssetModelPropertySummary) SetId(v string) *AssetModelPropertySummary { - s.Id = &v +// SetAlias sets the Alias field's value. +func (s *AssociateTimeSeriesToAssetPropertyInput) SetAlias(v string) *AssociateTimeSeriesToAssetPropertyInput { + s.Alias = &v return s } -// SetName sets the Name field's value. -func (s *AssetModelPropertySummary) SetName(v string) *AssetModelPropertySummary { - s.Name = &v +// SetAssetId sets the AssetId field's value. +func (s *AssociateTimeSeriesToAssetPropertyInput) SetAssetId(v string) *AssociateTimeSeriesToAssetPropertyInput { + s.AssetId = &v return s } -// SetType sets the Type field's value. -func (s *AssetModelPropertySummary) SetType(v *PropertyType) *AssetModelPropertySummary { - s.Type = v +// SetClientToken sets the ClientToken field's value. +func (s *AssociateTimeSeriesToAssetPropertyInput) SetClientToken(v string) *AssociateTimeSeriesToAssetPropertyInput { + s.ClientToken = &v return s } -// SetUnit sets the Unit field's value. -func (s *AssetModelPropertySummary) SetUnit(v string) *AssetModelPropertySummary { - s.Unit = &v +// SetPropertyId sets the PropertyId field's value. +func (s *AssociateTimeSeriesToAssetPropertyInput) SetPropertyId(v string) *AssociateTimeSeriesToAssetPropertyInput { + s.PropertyId = &v return s } -// Contains current status information for an asset model. For more information, -// see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) -// in the IoT SiteWise User Guide. -type AssetModelStatus struct { +type AssociateTimeSeriesToAssetPropertyOutput struct { _ struct{} `type:"structure"` - - // Contains associated error information, if any. - Error *ErrorDetails `locationName:"error" type:"structure"` - - // The current state of the asset model. - // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"AssetModelState"` } // String returns the string representation. @@ -9895,7 +13046,7 @@ type AssetModelStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelStatus) String() string { +func (s AssociateTimeSeriesToAssetPropertyOutput) String() string { return awsutil.Prettify(s) } @@ -9904,63 +13055,65 @@ func (s AssetModelStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelStatus) GoString() string { +func (s AssociateTimeSeriesToAssetPropertyOutput) GoString() string { return s.String() } -// SetError sets the Error field's value. -func (s *AssetModelStatus) SetError(v *ErrorDetails) *AssetModelStatus { - s.Error = v - return s -} - -// SetState sets the State field's value. -func (s *AssetModelStatus) SetState(v string) *AssetModelStatus { - s.State = &v - return s -} - -// Contains a summary of an asset model. -type AssetModelSummary struct { +// Contains a summary of an associated asset. +type AssociatedAssetsSummary struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the asset model, which has the following format. + // of the asset, which has the following format. // - // arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} + // arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} // // Arn is a required field Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` - // The date the asset model was created, in Unix epoch time. + // The ID of the asset model used to create the asset. + // + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + + // The date the asset was created, in Unix epoch time. // // CreationDate is a required field CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` - // The asset model description. + // A description for the asset. + Description *string `locationName:"description" min:"1" type:"string"` + + // The external ID of the asset. For more information, see Using external IDs + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + + // A list of asset hierarchies that each contain a hierarchyId. A hierarchy + // specifies allowed parent/child asset relationships. // - // Description is a required field - Description *string `locationName:"description" min:"1" type:"string" required:"true"` + // Hierarchies is a required field + Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"` - // The ID of the asset model (used with IoT SiteWise APIs). + // The ID of the asset, in UUID format. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The date the asset model was last updated, in Unix epoch time. + // The date the asset was last updated, in Unix epoch time. // // LastUpdateDate is a required field LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"` - // The name of the asset model. + // The name of the asset. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The current status of the asset model. + // The current status of the asset. // // Status is a required field - Status *AssetModelStatus `locationName:"status" type:"structure" required:"true"` + Status *AssetStatus `locationName:"status" type:"structure" required:"true"` } // String returns the string representation. @@ -9968,7 +13121,7 @@ type AssetModelSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelSummary) String() string { +func (s AssociatedAssetsSummary) String() string { return awsutil.Prettify(s) } @@ -9977,173 +13130,82 @@ func (s AssetModelSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetModelSummary) GoString() string { +func (s AssociatedAssetsSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *AssetModelSummary) SetArn(v string) *AssetModelSummary { +func (s *AssociatedAssetsSummary) SetArn(v string) *AssociatedAssetsSummary { s.Arn = &v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *AssetModelSummary) SetCreationDate(v time.Time) *AssetModelSummary { - s.CreationDate = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *AssetModelSummary) SetDescription(v string) *AssetModelSummary { - s.Description = &v - return s -} - -// SetId sets the Id field's value. -func (s *AssetModelSummary) SetId(v string) *AssetModelSummary { - s.Id = &v - return s -} - -// SetLastUpdateDate sets the LastUpdateDate field's value. -func (s *AssetModelSummary) SetLastUpdateDate(v time.Time) *AssetModelSummary { - s.LastUpdateDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *AssetModelSummary) SetName(v string) *AssetModelSummary { - s.Name = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *AssetModelSummary) SetStatus(v *AssetModelStatus) *AssetModelSummary { - s.Status = v +// SetAssetModelId sets the AssetModelId field's value. +func (s *AssociatedAssetsSummary) SetAssetModelId(v string) *AssociatedAssetsSummary { + s.AssetModelId = &v return s } -// Contains asset property information. -type AssetProperty struct { - _ struct{} `type:"structure"` - - // The alias that identifies the property, such as an OPC-UA server data stream - // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, - // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) - // in the IoT SiteWise User Guide. - Alias *string `locationName:"alias" min:"1" type:"string"` - - // The data type of the asset property. - // - // DataType is a required field - DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` - - // The data type of the structure for this property. This parameter exists on - // properties that have the STRUCT data type. - DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` - - // The ID of the asset property. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The name of the property. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // The asset property's notification topic and state. For more information, - // see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). - Notification *PropertyNotification `locationName:"notification" type:"structure"` - - // The unit (such as Newtons or RPM) of the asset property. - Unit *string `locationName:"unit" min:"1" type:"string"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssetProperty) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssetProperty) GoString() string { - return s.String() +// SetCreationDate sets the CreationDate field's value. +func (s *AssociatedAssetsSummary) SetCreationDate(v time.Time) *AssociatedAssetsSummary { + s.CreationDate = &v + return s } -// SetAlias sets the Alias field's value. -func (s *AssetProperty) SetAlias(v string) *AssetProperty { - s.Alias = &v +// SetDescription sets the Description field's value. +func (s *AssociatedAssetsSummary) SetDescription(v string) *AssociatedAssetsSummary { + s.Description = &v return s } -// SetDataType sets the DataType field's value. -func (s *AssetProperty) SetDataType(v string) *AssetProperty { - s.DataType = &v +// SetExternalId sets the ExternalId field's value. +func (s *AssociatedAssetsSummary) SetExternalId(v string) *AssociatedAssetsSummary { + s.ExternalId = &v return s } -// SetDataTypeSpec sets the DataTypeSpec field's value. -func (s *AssetProperty) SetDataTypeSpec(v string) *AssetProperty { - s.DataTypeSpec = &v +// SetHierarchies sets the Hierarchies field's value. +func (s *AssociatedAssetsSummary) SetHierarchies(v []*AssetHierarchy) *AssociatedAssetsSummary { + s.Hierarchies = v return s } // SetId sets the Id field's value. -func (s *AssetProperty) SetId(v string) *AssetProperty { +func (s *AssociatedAssetsSummary) SetId(v string) *AssociatedAssetsSummary { s.Id = &v return s } -// SetName sets the Name field's value. -func (s *AssetProperty) SetName(v string) *AssetProperty { - s.Name = &v +// SetLastUpdateDate sets the LastUpdateDate field's value. +func (s *AssociatedAssetsSummary) SetLastUpdateDate(v time.Time) *AssociatedAssetsSummary { + s.LastUpdateDate = &v return s } -// SetNotification sets the Notification field's value. -func (s *AssetProperty) SetNotification(v *PropertyNotification) *AssetProperty { - s.Notification = v +// SetName sets the Name field's value. +func (s *AssociatedAssetsSummary) SetName(v string) *AssociatedAssetsSummary { + s.Name = &v return s } -// SetUnit sets the Unit field's value. -func (s *AssetProperty) SetUnit(v string) *AssetProperty { - s.Unit = &v +// SetStatus sets the Status field's value. +func (s *AssociatedAssetsSummary) SetStatus(v *AssetStatus) *AssociatedAssetsSummary { + s.Status = v return s } -// Contains a summary of a property associated with an asset. -type AssetPropertySummary struct { +// Contains an asset attribute property. For more information, see Attributes +// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes) +// in the IoT SiteWise User Guide. +type Attribute struct { _ struct{} `type:"structure"` - // The alias that identifies the property, such as an OPC-UA server data stream - // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, - // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) - // in the IoT SiteWise User Guide. - Alias *string `locationName:"alias" min:"1" type:"string"` - - // The ID of the composite model that contains the asset property. - AssetCompositeModelId *string `locationName:"assetCompositeModelId" min:"36" type:"string"` - - // The ID of the property. - Id *string `locationName:"id" min:"36" type:"string"` - - // Contains asset property value notification information. When the notification - // state is enabled, IoT SiteWise publishes property value updates to a unique - // MQTT topic. For more information, see Interacting with other services (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html) + // The default value of the asset model property attribute. All assets that + // you create from the asset model contain this attribute value. You can update + // an attribute's value after you create an asset. For more information, see + // Updating attribute values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html) // in the IoT SiteWise User Guide. - Notification *PropertyNotification `locationName:"notification" type:"structure"` - - // The unit of measure (such as Newtons or RPM) of the asset property. - Unit *string `locationName:"unit" min:"1" type:"string"` + DefaultValue *string `locationName:"defaultValue" type:"string"` } // String returns the string representation. @@ -10151,7 +13213,7 @@ type AssetPropertySummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetPropertySummary) String() string { +func (s Attribute) String() string { return awsutil.Prettify(s) } @@ -10160,56 +13222,33 @@ func (s AssetPropertySummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetPropertySummary) GoString() string { +func (s Attribute) GoString() string { return s.String() } -// SetAlias sets the Alias field's value. -func (s *AssetPropertySummary) SetAlias(v string) *AssetPropertySummary { - s.Alias = &v - return s -} - -// SetAssetCompositeModelId sets the AssetCompositeModelId field's value. -func (s *AssetPropertySummary) SetAssetCompositeModelId(v string) *AssetPropertySummary { - s.AssetCompositeModelId = &v - return s -} - -// SetId sets the Id field's value. -func (s *AssetPropertySummary) SetId(v string) *AssetPropertySummary { - s.Id = &v - return s -} - -// SetNotification sets the Notification field's value. -func (s *AssetPropertySummary) SetNotification(v *PropertyNotification) *AssetPropertySummary { - s.Notification = v - return s -} - -// SetUnit sets the Unit field's value. -func (s *AssetPropertySummary) SetUnit(v string) *AssetPropertySummary { - s.Unit = &v +// SetDefaultValue sets the DefaultValue field's value. +func (s *Attribute) SetDefaultValue(v string) *Attribute { + s.DefaultValue = &v return s } -// Contains asset property value information. -type AssetPropertyValue struct { +type BatchAssociateProjectAssetsInput struct { _ struct{} `type:"structure"` - // The quality of the asset property value. - Quality *string `locationName:"quality" type:"string" enum:"Quality"` - - // The timestamp of the asset property value. + // The IDs of the assets to be associated to the project. // - // Timestamp is a required field - Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"` + // AssetIds is a required field + AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"` - // The value of the asset property (see Variant). + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // The ID of the project to which to associate the assets. // - // Value is a required field - Value *Variant `locationName:"value" type:"structure" required:"true"` + // ProjectId is a required field + ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -10217,7 +13256,7 @@ type AssetPropertyValue struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetPropertyValue) String() string { +func (s BatchAssociateProjectAssetsInput) String() string { return awsutil.Prettify(s) } @@ -10226,23 +13265,27 @@ func (s AssetPropertyValue) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetPropertyValue) GoString() string { +func (s BatchAssociateProjectAssetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssetPropertyValue) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"} - if s.Timestamp == nil { - invalidParams.Add(request.NewErrParamRequired("Timestamp")) +func (s *BatchAssociateProjectAssetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchAssociateProjectAssetsInput"} + if s.AssetIds == nil { + invalidParams.Add(request.NewErrParamRequired("AssetIds")) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.AssetIds != nil && len(s.AssetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1)) } - if s.Timestamp != nil { - if err := s.Timestamp.Validate(); err != nil { - invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) - } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + if s.ProjectId != nil && len(*s.ProjectId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) } if invalidParams.Len() > 0 { @@ -10251,42 +13294,72 @@ func (s *AssetPropertyValue) Validate() error { return nil } -// SetQuality sets the Quality field's value. -func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue { - s.Quality = &v +// SetAssetIds sets the AssetIds field's value. +func (s *BatchAssociateProjectAssetsInput) SetAssetIds(v []*string) *BatchAssociateProjectAssetsInput { + s.AssetIds = v return s } -// SetTimestamp sets the Timestamp field's value. -func (s *AssetPropertyValue) SetTimestamp(v *TimeInNanos) *AssetPropertyValue { - s.Timestamp = v +// SetClientToken sets the ClientToken field's value. +func (s *BatchAssociateProjectAssetsInput) SetClientToken(v string) *BatchAssociateProjectAssetsInput { + s.ClientToken = &v return s } -// SetValue sets the Value field's value. -func (s *AssetPropertyValue) SetValue(v *Variant) *AssetPropertyValue { - s.Value = v +// SetProjectId sets the ProjectId field's value. +func (s *BatchAssociateProjectAssetsInput) SetProjectId(v string) *BatchAssociateProjectAssetsInput { + s.ProjectId = &v return s } -// Contains information about assets that are related to one another. -type AssetRelationshipSummary struct { +type BatchAssociateProjectAssetsOutput struct { _ struct{} `type:"structure"` - // The assets that are related through an asset hierarchy. - // - // This object is present if the relationshipType is HIERARCHY. - HierarchyInfo *AssetHierarchyInfo `locationName:"hierarchyInfo" type:"structure"` + // A list of associated error information, if any. + Errors []*AssetErrorDetails `locationName:"errors" type:"list"` +} - // The relationship type of the assets in this relationship. This value is one - // of the following: +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchAssociateProjectAssetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchAssociateProjectAssetsOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchAssociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchAssociateProjectAssetsOutput { + s.Errors = v + return s +} + +type BatchDisassociateProjectAssetsInput struct { + _ struct{} `type:"structure"` + + // The IDs of the assets to be disassociated from the project. // - // * HIERARCHY – The assets are related through an asset hierarchy. If - // you specify this relationship type, this asset relationship includes the - // hierarchyInfo object. + // AssetIds is a required field + AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // The ID of the project from which to disassociate the assets. // - // RelationshipType is a required field - RelationshipType *string `locationName:"relationshipType" type:"string" required:"true" enum:"AssetRelationshipType"` + // ProjectId is a required field + ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -10294,44 +13367,67 @@ type AssetRelationshipSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetRelationshipSummary) String() string { +func (s BatchDisassociateProjectAssetsInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssetRelationshipSummary) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDisassociateProjectAssetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDisassociateProjectAssetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateProjectAssetsInput"} + if s.AssetIds == nil { + invalidParams.Add(request.NewErrParamRequired("AssetIds")) + } + if s.AssetIds != nil && len(s.AssetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + if s.ProjectId != nil && len(*s.ProjectId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetIds sets the AssetIds field's value. +func (s *BatchDisassociateProjectAssetsInput) SetAssetIds(v []*string) *BatchDisassociateProjectAssetsInput { + s.AssetIds = v + return s } -// SetHierarchyInfo sets the HierarchyInfo field's value. -func (s *AssetRelationshipSummary) SetHierarchyInfo(v *AssetHierarchyInfo) *AssetRelationshipSummary { - s.HierarchyInfo = v +// SetClientToken sets the ClientToken field's value. +func (s *BatchDisassociateProjectAssetsInput) SetClientToken(v string) *BatchDisassociateProjectAssetsInput { + s.ClientToken = &v return s } -// SetRelationshipType sets the RelationshipType field's value. -func (s *AssetRelationshipSummary) SetRelationshipType(v string) *AssetRelationshipSummary { - s.RelationshipType = &v +// SetProjectId sets the ProjectId field's value. +func (s *BatchDisassociateProjectAssetsInput) SetProjectId(v string) *BatchDisassociateProjectAssetsInput { + s.ProjectId = &v return s } -// Contains information about the current status of an asset. For more information, -// see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) -// in the IoT SiteWise User Guide. -type AssetStatus struct { +type BatchDisassociateProjectAssetsOutput struct { _ struct{} `type:"structure"` - // Contains associated error information, if any. - Error *ErrorDetails `locationName:"error" type:"structure"` - - // The current status of the asset. - // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"AssetState"` + // A list of associated error information, if any. + Errors []*AssetErrorDetails `locationName:"errors" type:"list"` } // String returns the string representation. @@ -10339,7 +13435,7 @@ type AssetStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetStatus) String() string { +func (s BatchDisassociateProjectAssetsOutput) String() string { return awsutil.Prettify(s) } @@ -10348,72 +13444,75 @@ func (s AssetStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetStatus) GoString() string { +func (s BatchDisassociateProjectAssetsOutput) GoString() string { return s.String() } -// SetError sets the Error field's value. -func (s *AssetStatus) SetError(v *ErrorDetails) *AssetStatus { - s.Error = v - return s -} - -// SetState sets the State field's value. -func (s *AssetStatus) SetState(v string) *AssetStatus { - s.State = &v +// SetErrors sets the Errors field's value. +func (s *BatchDisassociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchDisassociateProjectAssetsOutput { + s.Errors = v return s } -// Contains a summary of an asset. -type AssetSummary struct { +// Contains information for an asset property aggregate entry that is associated +// with the BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// API. +// +// To identify an asset property, you must specify one of the following: +// +// - The assetId and propertyId of an asset property. +// +// - A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). +// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). +type BatchGetAssetPropertyAggregatesEntry struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the asset, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} + // The data aggregating function. // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // AggregateTypes is a required field + AggregateTypes []*string `locationName:"aggregateTypes" min:"1" type:"list" required:"true" enum:"AggregateType"` - // The ID of the asset model used to create this asset. + // The ID of the asset in which the asset property was created. + AssetId *string `locationName:"assetId" min:"36" type:"string"` + + // The inclusive end of the range from which to query historical data, expressed + // in seconds in Unix epoch time. // - // AssetModelId is a required field - AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + // EndDate is a required field + EndDate *time.Time `locationName:"endDate" type:"timestamp" required:"true"` - // The date the asset was created, in Unix epoch time. + // The ID of the entry. // - // CreationDate is a required field - CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // A description for the asset. - Description *string `locationName:"description" min:"1" type:"string"` + // The alias that identifies the property, such as an OPC-UA server data stream + // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, + // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) + // in the IoT SiteWise User Guide. + PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` - // A list of asset hierarchies that each contain a hierarchyId. A hierarchy - // specifies allowed parent/child asset relationships. - // - // Hierarchies is a required field - Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"` + // The ID of the asset property, in UUID format. + PropertyId *string `locationName:"propertyId" min:"36" type:"string"` - // The ID of the asset. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` + // The quality by which to filter asset data. + Qualities []*string `locationName:"qualities" min:"1" type:"list" enum:"Quality"` - // The date the asset was last updated, in Unix epoch time. + // The time interval over which to aggregate data. // - // LastUpdateDate is a required field - LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"` + // Resolution is a required field + Resolution *string `locationName:"resolution" min:"2" type:"string" required:"true"` - // The name of the asset. + // The exclusive start of the range from which to query historical data, expressed + // in seconds in Unix epoch time. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // StartDate is a required field + StartDate *time.Time `locationName:"startDate" type:"timestamp" required:"true"` - // The current status of the asset. + // The chronological sorting order of the requested information. // - // Status is a required field - Status *AssetStatus `locationName:"status" type:"structure" required:"true"` + // Default: ASCENDING + TimeOrdering *string `locationName:"timeOrdering" type:"string" enum:"TimeOrdering"` } // String returns the string representation. @@ -10421,7 +13520,7 @@ type AssetSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetSummary) String() string { +func (s BatchGetAssetPropertyAggregatesEntry) String() string { return awsutil.Prettify(s) } @@ -10430,89 +13529,136 @@ func (s AssetSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssetSummary) GoString() string { +func (s BatchGetAssetPropertyAggregatesEntry) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *AssetSummary) SetArn(v string) *AssetSummary { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetAssetPropertyAggregatesEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyAggregatesEntry"} + if s.AggregateTypes == nil { + invalidParams.Add(request.NewErrParamRequired("AggregateTypes")) + } + if s.AggregateTypes != nil && len(s.AggregateTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AggregateTypes", 1)) + } + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + } + if s.EndDate == nil { + invalidParams.Add(request.NewErrParamRequired("EndDate")) + } + if s.EntryId == nil { + invalidParams.Add(request.NewErrParamRequired("EntryId")) + } + if s.EntryId != nil && len(*s.EntryId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryId", 1)) + } + if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) + } + if s.PropertyId != nil && len(*s.PropertyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + } + if s.Qualities != nil && len(s.Qualities) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualities", 1)) + } + if s.Resolution == nil { + invalidParams.Add(request.NewErrParamRequired("Resolution")) + } + if s.Resolution != nil && len(*s.Resolution) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Resolution", 2)) + } + if s.StartDate == nil { + invalidParams.Add(request.NewErrParamRequired("StartDate")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAggregateTypes sets the AggregateTypes field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetAggregateTypes(v []*string) *BatchGetAssetPropertyAggregatesEntry { + s.AggregateTypes = v return s } -// SetAssetModelId sets the AssetModelId field's value. -func (s *AssetSummary) SetAssetModelId(v string) *AssetSummary { - s.AssetModelId = &v +// SetAssetId sets the AssetId field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetAssetId(v string) *BatchGetAssetPropertyAggregatesEntry { + s.AssetId = &v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *AssetSummary) SetCreationDate(v time.Time) *AssetSummary { - s.CreationDate = &v +// SetEndDate sets the EndDate field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetEndDate(v time.Time) *BatchGetAssetPropertyAggregatesEntry { + s.EndDate = &v return s } -// SetDescription sets the Description field's value. -func (s *AssetSummary) SetDescription(v string) *AssetSummary { - s.Description = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesEntry { + s.EntryId = &v return s } -// SetHierarchies sets the Hierarchies field's value. -func (s *AssetSummary) SetHierarchies(v []*AssetHierarchy) *AssetSummary { - s.Hierarchies = v +// SetPropertyAlias sets the PropertyAlias field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetPropertyAlias(v string) *BatchGetAssetPropertyAggregatesEntry { + s.PropertyAlias = &v return s } -// SetId sets the Id field's value. -func (s *AssetSummary) SetId(v string) *AssetSummary { - s.Id = &v +// SetPropertyId sets the PropertyId field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetPropertyId(v string) *BatchGetAssetPropertyAggregatesEntry { + s.PropertyId = &v return s } -// SetLastUpdateDate sets the LastUpdateDate field's value. -func (s *AssetSummary) SetLastUpdateDate(v time.Time) *AssetSummary { - s.LastUpdateDate = &v +// SetQualities sets the Qualities field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetQualities(v []*string) *BatchGetAssetPropertyAggregatesEntry { + s.Qualities = v return s } -// SetName sets the Name field's value. -func (s *AssetSummary) SetName(v string) *AssetSummary { - s.Name = &v +// SetResolution sets the Resolution field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetResolution(v string) *BatchGetAssetPropertyAggregatesEntry { + s.Resolution = &v return s } -// SetStatus sets the Status field's value. -func (s *AssetSummary) SetStatus(v *AssetStatus) *AssetSummary { - s.Status = v +// SetStartDate sets the StartDate field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetStartDate(v time.Time) *BatchGetAssetPropertyAggregatesEntry { + s.StartDate = &v return s } -type AssociateAssetsInput struct { - _ struct{} `type:"structure"` +// SetTimeOrdering sets the TimeOrdering field's value. +func (s *BatchGetAssetPropertyAggregatesEntry) SetTimeOrdering(v string) *BatchGetAssetPropertyAggregatesEntry { + s.TimeOrdering = &v + return s +} - // The ID of the parent asset. - // - // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` +// Contains error information for an asset property aggregate entry that is +// associated with the BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// API. +type BatchGetAssetPropertyAggregatesErrorEntry struct { + _ struct{} `type:"structure"` - // The ID of the child asset to be associated. + // The ID of the entry. // - // ChildAssetId is a required field - ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyAggregatesErrorCode"` - // The ID of a hierarchy in the parent asset's model. Hierarchies allow different - // groupings of assets to be formed that all come from the same asset model. - // For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) - // in the IoT SiteWise User Guide. + // The associated error message. // - // HierarchyId is a required field - HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"` + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` } // String returns the string representation. @@ -10520,7 +13666,7 @@ type AssociateAssetsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateAssetsInput) String() string { +func (s BatchGetAssetPropertyAggregatesErrorEntry) String() string { return awsutil.Prettify(s) } @@ -10529,67 +13675,43 @@ func (s AssociateAssetsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateAssetsInput) GoString() string { +func (s BatchGetAssetPropertyAggregatesErrorEntry) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateAssetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateAssetsInput"} - if s.AssetId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetId")) - } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } - if s.ChildAssetId == nil { - invalidParams.Add(request.NewErrParamRequired("ChildAssetId")) - } - if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.HierarchyId == nil { - invalidParams.Add(request.NewErrParamRequired("HierarchyId")) - } - if s.HierarchyId != nil && len(*s.HierarchyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssetId sets the AssetId field's value. -func (s *AssociateAssetsInput) SetAssetId(v string) *AssociateAssetsInput { - s.AssetId = &v - return s -} - -// SetChildAssetId sets the ChildAssetId field's value. -func (s *AssociateAssetsInput) SetChildAssetId(v string) *AssociateAssetsInput { - s.ChildAssetId = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyAggregatesErrorEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesErrorEntry { + s.EntryId = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *AssociateAssetsInput) SetClientToken(v string) *AssociateAssetsInput { - s.ClientToken = &v +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetAssetPropertyAggregatesErrorEntry) SetErrorCode(v string) *BatchGetAssetPropertyAggregatesErrorEntry { + s.ErrorCode = &v return s } -// SetHierarchyId sets the HierarchyId field's value. -func (s *AssociateAssetsInput) SetHierarchyId(v string) *AssociateAssetsInput { - s.HierarchyId = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchGetAssetPropertyAggregatesErrorEntry) SetErrorMessage(v string) *BatchGetAssetPropertyAggregatesErrorEntry { + s.ErrorMessage = &v return s } -type AssociateAssetsOutput struct { +// Contains the error code and the timestamp for an asset property aggregate +// entry that is associated with the BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// API. +type BatchGetAssetPropertyAggregatesErrorInfo struct { _ struct{} `type:"structure"` + + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyAggregatesErrorCode"` + + // The date the error occurred, in Unix epoch time. + // + // ErrorTimestamp is a required field + ErrorTimestamp *time.Time `locationName:"errorTimestamp" type:"timestamp" required:"true"` } // String returns the string representation. @@ -10597,7 +13719,7 @@ type AssociateAssetsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateAssetsOutput) String() string { +func (s BatchGetAssetPropertyAggregatesErrorInfo) String() string { return awsutil.Prettify(s) } @@ -10606,32 +13728,42 @@ func (s AssociateAssetsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateAssetsOutput) GoString() string { +func (s BatchGetAssetPropertyAggregatesErrorInfo) GoString() string { return s.String() } -type AssociateTimeSeriesToAssetPropertyInput struct { +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetAssetPropertyAggregatesErrorInfo) SetErrorCode(v string) *BatchGetAssetPropertyAggregatesErrorInfo { + s.ErrorCode = &v + return s +} + +// SetErrorTimestamp sets the ErrorTimestamp field's value. +func (s *BatchGetAssetPropertyAggregatesErrorInfo) SetErrorTimestamp(v time.Time) *BatchGetAssetPropertyAggregatesErrorInfo { + s.ErrorTimestamp = &v + return s +} + +type BatchGetAssetPropertyAggregatesInput struct { _ struct{} `type:"structure"` - // The alias that identifies the time series. + // The list of asset property aggregate entries for the batch get request. You + // can specify up to 16 entries per request. // - // Alias is a required field - Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string" required:"true"` + // Entries is a required field + Entries []*BatchGetAssetPropertyAggregatesEntry `locationName:"entries" type:"list" required:"true"` - // The ID of the asset in which the asset property was created. + // The maximum number of results to return for each paginated request. A result + // set is returned in the two cases, whichever occurs first. // - // AssetId is a required field - AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string" required:"true"` - - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - - // The ID of the asset property. + // * The size of the result set is equal to 1 MB. // - // PropertyId is a required field - PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string" required:"true"` + // * The number of data points in the result set is equal to the value of + // maxResults. The maximum value of maxResults is 4000. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -10639,7 +13771,7 @@ type AssociateTimeSeriesToAssetPropertyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateTimeSeriesToAssetPropertyInput) String() string { +func (s BatchGetAssetPropertyAggregatesInput) String() string { return awsutil.Prettify(s) } @@ -10648,33 +13780,31 @@ func (s AssociateTimeSeriesToAssetPropertyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateTimeSeriesToAssetPropertyInput) GoString() string { +func (s BatchGetAssetPropertyAggregatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateTimeSeriesToAssetPropertyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateTimeSeriesToAssetPropertyInput"} - if s.Alias == nil { - invalidParams.Add(request.NewErrParamRequired("Alias")) - } - if s.Alias != nil && len(*s.Alias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) - } - if s.AssetId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetId")) - } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) +func (s *BatchGetAssetPropertyAggregatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyAggregatesInput"} + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.PropertyId == nil { - invalidParams.Add(request.NewErrParamRequired("PropertyId")) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -10683,32 +13813,50 @@ func (s *AssociateTimeSeriesToAssetPropertyInput) Validate() error { return nil } -// SetAlias sets the Alias field's value. -func (s *AssociateTimeSeriesToAssetPropertyInput) SetAlias(v string) *AssociateTimeSeriesToAssetPropertyInput { - s.Alias = &v - return s -} - -// SetAssetId sets the AssetId field's value. -func (s *AssociateTimeSeriesToAssetPropertyInput) SetAssetId(v string) *AssociateTimeSeriesToAssetPropertyInput { - s.AssetId = &v +// SetEntries sets the Entries field's value. +func (s *BatchGetAssetPropertyAggregatesInput) SetEntries(v []*BatchGetAssetPropertyAggregatesEntry) *BatchGetAssetPropertyAggregatesInput { + s.Entries = v return s } -// SetClientToken sets the ClientToken field's value. -func (s *AssociateTimeSeriesToAssetPropertyInput) SetClientToken(v string) *AssociateTimeSeriesToAssetPropertyInput { - s.ClientToken = &v +// SetMaxResults sets the MaxResults field's value. +func (s *BatchGetAssetPropertyAggregatesInput) SetMaxResults(v int64) *BatchGetAssetPropertyAggregatesInput { + s.MaxResults = &v return s } -// SetPropertyId sets the PropertyId field's value. -func (s *AssociateTimeSeriesToAssetPropertyInput) SetPropertyId(v string) *AssociateTimeSeriesToAssetPropertyInput { - s.PropertyId = &v +// SetNextToken sets the NextToken field's value. +func (s *BatchGetAssetPropertyAggregatesInput) SetNextToken(v string) *BatchGetAssetPropertyAggregatesInput { + s.NextToken = &v return s } -type AssociateTimeSeriesToAssetPropertyOutput struct { +type BatchGetAssetPropertyAggregatesOutput struct { _ struct{} `type:"structure"` + + // A list of the errors (if any) associated with the batch request. Each error + // entry contains the entryId of the entry that failed. + // + // ErrorEntries is a required field + ErrorEntries []*BatchGetAssetPropertyAggregatesErrorEntry `locationName:"errorEntries" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // A list of entries that were not processed by this batch request. because + // these entries had been completely processed by previous paginated requests. + // Each skipped entry contains the entryId of the entry that skipped. + // + // SkippedEntries is a required field + SkippedEntries []*BatchGetAssetPropertyAggregatesSkippedEntry `locationName:"skippedEntries" type:"list" required:"true"` + + // A list of entries that were processed successfully by this batch request. + // Each success entry contains the entryId of the entry that succeeded and the + // latest query result. + // + // SuccessEntries is a required field + SuccessEntries []*BatchGetAssetPropertyAggregatesSuccessEntry `locationName:"successEntries" type:"list" required:"true"` } // String returns the string representation. @@ -10716,7 +13864,7 @@ type AssociateTimeSeriesToAssetPropertyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateTimeSeriesToAssetPropertyOutput) String() string { +func (s BatchGetAssetPropertyAggregatesOutput) String() string { return awsutil.Prettify(s) } @@ -10725,60 +13873,54 @@ func (s AssociateTimeSeriesToAssetPropertyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateTimeSeriesToAssetPropertyOutput) GoString() string { +func (s BatchGetAssetPropertyAggregatesOutput) GoString() string { return s.String() } -// Contains a summary of an associated asset. -type AssociatedAssetsSummary struct { - _ struct{} `type:"structure"` - - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the asset, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` - - // The ID of the asset model used to create the asset. - // - // AssetModelId is a required field - AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchGetAssetPropertyAggregatesOutput) SetErrorEntries(v []*BatchGetAssetPropertyAggregatesErrorEntry) *BatchGetAssetPropertyAggregatesOutput { + s.ErrorEntries = v + return s +} - // The date the asset was created, in Unix epoch time. - // - // CreationDate is a required field - CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *BatchGetAssetPropertyAggregatesOutput) SetNextToken(v string) *BatchGetAssetPropertyAggregatesOutput { + s.NextToken = &v + return s +} - // A description for the asset. - Description *string `locationName:"description" min:"1" type:"string"` +// SetSkippedEntries sets the SkippedEntries field's value. +func (s *BatchGetAssetPropertyAggregatesOutput) SetSkippedEntries(v []*BatchGetAssetPropertyAggregatesSkippedEntry) *BatchGetAssetPropertyAggregatesOutput { + s.SkippedEntries = v + return s +} - // A list of asset hierarchies that each contain a hierarchyId. A hierarchy - // specifies allowed parent/child asset relationships. - // - // Hierarchies is a required field - Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"` +// SetSuccessEntries sets the SuccessEntries field's value. +func (s *BatchGetAssetPropertyAggregatesOutput) SetSuccessEntries(v []*BatchGetAssetPropertyAggregatesSuccessEntry) *BatchGetAssetPropertyAggregatesOutput { + s.SuccessEntries = v + return s +} - // The ID of the asset. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +// Contains information for an entry that has been processed by the previous +// BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// request. +type BatchGetAssetPropertyAggregatesSkippedEntry struct { + _ struct{} `type:"structure"` - // The date the asset was last updated, in Unix epoch time. + // The completion status of each entry that is associated with the BatchGetAssetPropertyAggregates + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) + // API. // - // LastUpdateDate is a required field - LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"` + // CompletionStatus is a required field + CompletionStatus *string `locationName:"completionStatus" type:"string" required:"true" enum:"BatchEntryCompletionStatus"` - // The name of the asset. + // The ID of the entry. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // The current status of the asset. - // - // Status is a required field - Status *AssetStatus `locationName:"status" type:"structure" required:"true"` + // The error information, such as the error code and the timestamp. + ErrorInfo *BatchGetAssetPropertyAggregatesErrorInfo `locationName:"errorInfo" type:"structure"` } // String returns the string representation. @@ -10786,7 +13928,7 @@ type AssociatedAssetsSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociatedAssetsSummary) String() string { +func (s BatchGetAssetPropertyAggregatesSkippedEntry) String() string { return awsutil.Prettify(s) } @@ -10795,76 +13937,105 @@ func (s AssociatedAssetsSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociatedAssetsSummary) GoString() string { +func (s BatchGetAssetPropertyAggregatesSkippedEntry) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *AssociatedAssetsSummary) SetArn(v string) *AssociatedAssetsSummary { - s.Arn = &v +// SetCompletionStatus sets the CompletionStatus field's value. +func (s *BatchGetAssetPropertyAggregatesSkippedEntry) SetCompletionStatus(v string) *BatchGetAssetPropertyAggregatesSkippedEntry { + s.CompletionStatus = &v return s } -// SetAssetModelId sets the AssetModelId field's value. -func (s *AssociatedAssetsSummary) SetAssetModelId(v string) *AssociatedAssetsSummary { - s.AssetModelId = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyAggregatesSkippedEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesSkippedEntry { + s.EntryId = &v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *AssociatedAssetsSummary) SetCreationDate(v time.Time) *AssociatedAssetsSummary { - s.CreationDate = &v +// SetErrorInfo sets the ErrorInfo field's value. +func (s *BatchGetAssetPropertyAggregatesSkippedEntry) SetErrorInfo(v *BatchGetAssetPropertyAggregatesErrorInfo) *BatchGetAssetPropertyAggregatesSkippedEntry { + s.ErrorInfo = v return s } -// SetDescription sets the Description field's value. -func (s *AssociatedAssetsSummary) SetDescription(v string) *AssociatedAssetsSummary { - s.Description = &v - return s -} +// Contains success information for an entry that is associated with the BatchGetAssetPropertyAggregates +// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// API. +type BatchGetAssetPropertyAggregatesSuccessEntry struct { + _ struct{} `type:"structure"` -// SetHierarchies sets the Hierarchies field's value. -func (s *AssociatedAssetsSummary) SetHierarchies(v []*AssetHierarchy) *AssociatedAssetsSummary { - s.Hierarchies = v - return s + // The requested aggregated asset property values (for example, average, minimum, + // and maximum). + // + // AggregatedValues is a required field + AggregatedValues []*AggregatedValue `locationName:"aggregatedValues" type:"list" required:"true"` + + // The ID of the entry. + // + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` } -// SetId sets the Id field's value. -func (s *AssociatedAssetsSummary) SetId(v string) *AssociatedAssetsSummary { - s.Id = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetAssetPropertyAggregatesSuccessEntry) String() string { + return awsutil.Prettify(s) } -// SetLastUpdateDate sets the LastUpdateDate field's value. -func (s *AssociatedAssetsSummary) SetLastUpdateDate(v time.Time) *AssociatedAssetsSummary { - s.LastUpdateDate = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetAssetPropertyAggregatesSuccessEntry) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *AssociatedAssetsSummary) SetName(v string) *AssociatedAssetsSummary { - s.Name = &v +// SetAggregatedValues sets the AggregatedValues field's value. +func (s *BatchGetAssetPropertyAggregatesSuccessEntry) SetAggregatedValues(v []*AggregatedValue) *BatchGetAssetPropertyAggregatesSuccessEntry { + s.AggregatedValues = v return s } -// SetStatus sets the Status field's value. -func (s *AssociatedAssetsSummary) SetStatus(v *AssetStatus) *AssociatedAssetsSummary { - s.Status = v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyAggregatesSuccessEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesSuccessEntry { + s.EntryId = &v return s } -// Contains an asset attribute property. For more information, see Attributes -// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes) -// in the IoT SiteWise User Guide. -type Attribute struct { +// Contains information for an asset property value entry that is associated +// with the BatchGetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) +// API. +// +// To identify an asset property, you must specify one of the following: +// +// - The assetId and propertyId of an asset property. +// +// - A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). +// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). +type BatchGetAssetPropertyValueEntry struct { _ struct{} `type:"structure"` - // The default value of the asset model property attribute. All assets that - // you create from the asset model contain this attribute value. You can update - // an attribute's value after you create an asset. For more information, see - // Updating attribute values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html) + // The ID of the asset in which the asset property was created. + AssetId *string `locationName:"assetId" min:"36" type:"string"` + + // The ID of the entry. + // + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + + // The alias that identifies the property, such as an OPC-UA server data stream + // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, + // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) // in the IoT SiteWise User Guide. - DefaultValue *string `locationName:"defaultValue" min:"1" type:"string"` + PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` + + // The ID of the asset property, in UUID format. + PropertyId *string `locationName:"propertyId" min:"36" type:"string"` } // String returns the string representation. @@ -10872,7 +14043,7 @@ type Attribute struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Attribute) String() string { +func (s BatchGetAssetPropertyValueEntry) String() string { return awsutil.Prettify(s) } @@ -10881,15 +14052,27 @@ func (s Attribute) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Attribute) GoString() string { +func (s BatchGetAssetPropertyValueEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Attribute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Attribute"} - if s.DefaultValue != nil && len(*s.DefaultValue) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1)) +func (s *BatchGetAssetPropertyValueEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueEntry"} + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + } + if s.EntryId == nil { + invalidParams.Add(request.NewErrParamRequired("EntryId")) + } + if s.EntryId != nil && len(*s.EntryId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryId", 1)) + } + if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) + } + if s.PropertyId != nil && len(*s.PropertyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) } if invalidParams.Len() > 0 { @@ -10898,29 +14081,50 @@ func (s *Attribute) Validate() error { return nil } -// SetDefaultValue sets the DefaultValue field's value. -func (s *Attribute) SetDefaultValue(v string) *Attribute { - s.DefaultValue = &v +// SetAssetId sets the AssetId field's value. +func (s *BatchGetAssetPropertyValueEntry) SetAssetId(v string) *BatchGetAssetPropertyValueEntry { + s.AssetId = &v return s } -type BatchAssociateProjectAssetsInput struct { +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyValueEntry) SetEntryId(v string) *BatchGetAssetPropertyValueEntry { + s.EntryId = &v + return s +} + +// SetPropertyAlias sets the PropertyAlias field's value. +func (s *BatchGetAssetPropertyValueEntry) SetPropertyAlias(v string) *BatchGetAssetPropertyValueEntry { + s.PropertyAlias = &v + return s +} + +// SetPropertyId sets the PropertyId field's value. +func (s *BatchGetAssetPropertyValueEntry) SetPropertyId(v string) *BatchGetAssetPropertyValueEntry { + s.PropertyId = &v + return s +} + +// Contains error information for an asset property value entry that is associated +// with the BatchGetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) +// API. +type BatchGetAssetPropertyValueErrorEntry struct { _ struct{} `type:"structure"` - // The IDs of the assets to be associated to the project. + // The ID of the entry. // - // AssetIds is a required field - AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueErrorCode"` - // The ID of the project to which to associate the assets. + // The associated error message. // - // ProjectId is a required field - ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"` + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` } // String returns the string representation. @@ -10928,7 +14132,7 @@ type BatchAssociateProjectAssetsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchAssociateProjectAssetsInput) String() string { +func (s BatchGetAssetPropertyValueErrorEntry) String() string { return awsutil.Prettify(s) } @@ -10937,58 +14141,41 @@ func (s BatchAssociateProjectAssetsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchAssociateProjectAssetsInput) GoString() string { +func (s BatchGetAssetPropertyValueErrorEntry) GoString() string { return s.String() } - -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchAssociateProjectAssetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchAssociateProjectAssetsInput"} - if s.AssetIds == nil { - invalidParams.Add(request.NewErrParamRequired("AssetIds")) - } - if s.AssetIds != nil && len(s.AssetIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.ProjectId == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectId")) - } - if s.ProjectId != nil && len(*s.ProjectId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssetIds sets the AssetIds field's value. -func (s *BatchAssociateProjectAssetsInput) SetAssetIds(v []*string) *BatchAssociateProjectAssetsInput { - s.AssetIds = v + +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyValueErrorEntry) SetEntryId(v string) *BatchGetAssetPropertyValueErrorEntry { + s.EntryId = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *BatchAssociateProjectAssetsInput) SetClientToken(v string) *BatchAssociateProjectAssetsInput { - s.ClientToken = &v +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetAssetPropertyValueErrorEntry) SetErrorCode(v string) *BatchGetAssetPropertyValueErrorEntry { + s.ErrorCode = &v return s } -// SetProjectId sets the ProjectId field's value. -func (s *BatchAssociateProjectAssetsInput) SetProjectId(v string) *BatchAssociateProjectAssetsInput { - s.ProjectId = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchGetAssetPropertyValueErrorEntry) SetErrorMessage(v string) *BatchGetAssetPropertyValueErrorEntry { + s.ErrorMessage = &v return s } -type BatchAssociateProjectAssetsOutput struct { +// The error information, such as the error code and the timestamp. +type BatchGetAssetPropertyValueErrorInfo struct { _ struct{} `type:"structure"` - // A list of associated error information, if any. - Errors []*AssetErrorDetails `locationName:"errors" type:"list"` + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueErrorCode"` + + // The date the error occurred, in Unix epoch time. + // + // ErrorTimestamp is a required field + ErrorTimestamp *time.Time `locationName:"errorTimestamp" type:"timestamp" required:"true"` } // String returns the string representation. @@ -10996,7 +14183,7 @@ type BatchAssociateProjectAssetsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchAssociateProjectAssetsOutput) String() string { +func (s BatchGetAssetPropertyValueErrorInfo) String() string { return awsutil.Prettify(s) } @@ -11005,33 +14192,67 @@ func (s BatchAssociateProjectAssetsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchAssociateProjectAssetsOutput) GoString() string { +func (s BatchGetAssetPropertyValueErrorInfo) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchAssociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchAssociateProjectAssetsOutput { - s.Errors = v +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetAssetPropertyValueErrorInfo) SetErrorCode(v string) *BatchGetAssetPropertyValueErrorInfo { + s.ErrorCode = &v return s } -type BatchDisassociateProjectAssetsInput struct { +// SetErrorTimestamp sets the ErrorTimestamp field's value. +func (s *BatchGetAssetPropertyValueErrorInfo) SetErrorTimestamp(v time.Time) *BatchGetAssetPropertyValueErrorInfo { + s.ErrorTimestamp = &v + return s +} + +// Contains information for an asset property historical value entry that is +// associated with the BatchGetAssetPropertyValueHistory (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) +// API. +// +// To identify an asset property, you must specify one of the following: +// +// - The assetId and propertyId of an asset property. +// +// - A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). +// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). +type BatchGetAssetPropertyValueHistoryEntry struct { _ struct{} `type:"structure"` - // The IDs of the assets to be disassociated from the project. + // The ID of the asset in which the asset property was created. + AssetId *string `locationName:"assetId" min:"36" type:"string"` + + // The inclusive end of the range from which to query historical data, expressed + // in seconds in Unix epoch time. + EndDate *time.Time `locationName:"endDate" type:"timestamp"` + + // The ID of the entry. // - // AssetIds is a required field - AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The alias that identifies the property, such as an OPC-UA server data stream + // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, + // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) + // in the IoT SiteWise User Guide. + PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` - // The ID of the project from which to disassociate the assets. + // The ID of the asset property, in UUID format. + PropertyId *string `locationName:"propertyId" min:"36" type:"string"` + + // The quality by which to filter asset data. + Qualities []*string `locationName:"qualities" min:"1" type:"list" enum:"Quality"` + + // The exclusive start of the range from which to query historical data, expressed + // in seconds in Unix epoch time. + StartDate *time.Time `locationName:"startDate" type:"timestamp"` + + // The chronological sorting order of the requested information. // - // ProjectId is a required field - ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"` + // Default: ASCENDING + TimeOrdering *string `locationName:"timeOrdering" type:"string" enum:"TimeOrdering"` } // String returns the string representation. @@ -11039,7 +14260,7 @@ type BatchDisassociateProjectAssetsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchDisassociateProjectAssetsInput) String() string { +func (s BatchGetAssetPropertyValueHistoryEntry) String() string { return awsutil.Prettify(s) } @@ -11048,27 +14269,30 @@ func (s BatchDisassociateProjectAssetsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchDisassociateProjectAssetsInput) GoString() string { +func (s BatchGetAssetPropertyValueHistoryEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDisassociateProjectAssetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateProjectAssetsInput"} - if s.AssetIds == nil { - invalidParams.Add(request.NewErrParamRequired("AssetIds")) +func (s *BatchGetAssetPropertyValueHistoryEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueHistoryEntry"} + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) } - if s.AssetIds != nil && len(s.AssetIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1)) + if s.EntryId == nil { + invalidParams.Add(request.NewErrParamRequired("EntryId")) } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + if s.EntryId != nil && len(*s.EntryId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryId", 1)) } - if s.ProjectId == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectId")) + if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) } - if s.ProjectId != nil && len(*s.ProjectId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) + if s.PropertyId != nil && len(*s.PropertyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + } + if s.Qualities != nil && len(s.Qualities) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualities", 1)) } if invalidParams.Len() > 0 { @@ -11077,29 +14301,73 @@ func (s *BatchDisassociateProjectAssetsInput) Validate() error { return nil } -// SetAssetIds sets the AssetIds field's value. -func (s *BatchDisassociateProjectAssetsInput) SetAssetIds(v []*string) *BatchDisassociateProjectAssetsInput { - s.AssetIds = v +// SetAssetId sets the AssetId field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetAssetId(v string) *BatchGetAssetPropertyValueHistoryEntry { + s.AssetId = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *BatchDisassociateProjectAssetsInput) SetClientToken(v string) *BatchDisassociateProjectAssetsInput { - s.ClientToken = &v +// SetEndDate sets the EndDate field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetEndDate(v time.Time) *BatchGetAssetPropertyValueHistoryEntry { + s.EndDate = &v return s } -// SetProjectId sets the ProjectId field's value. -func (s *BatchDisassociateProjectAssetsInput) SetProjectId(v string) *BatchDisassociateProjectAssetsInput { - s.ProjectId = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistoryEntry { + s.EntryId = &v return s } -type BatchDisassociateProjectAssetsOutput struct { +// SetPropertyAlias sets the PropertyAlias field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetPropertyAlias(v string) *BatchGetAssetPropertyValueHistoryEntry { + s.PropertyAlias = &v + return s +} + +// SetPropertyId sets the PropertyId field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetPropertyId(v string) *BatchGetAssetPropertyValueHistoryEntry { + s.PropertyId = &v + return s +} + +// SetQualities sets the Qualities field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetQualities(v []*string) *BatchGetAssetPropertyValueHistoryEntry { + s.Qualities = v + return s +} + +// SetStartDate sets the StartDate field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetStartDate(v time.Time) *BatchGetAssetPropertyValueHistoryEntry { + s.StartDate = &v + return s +} + +// SetTimeOrdering sets the TimeOrdering field's value. +func (s *BatchGetAssetPropertyValueHistoryEntry) SetTimeOrdering(v string) *BatchGetAssetPropertyValueHistoryEntry { + s.TimeOrdering = &v + return s +} + +// A list of the errors (if any) associated with the batch request. Each error +// entry contains the entryId of the entry that failed. +type BatchGetAssetPropertyValueHistoryErrorEntry struct { _ struct{} `type:"structure"` - // A list of associated error information, if any. - Errors []*AssetErrorDetails `locationName:"errors" type:"list"` + // The ID of the entry. + // + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueHistoryErrorCode"` + + // The associated error message. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` } // String returns the string representation. @@ -11107,7 +14375,7 @@ type BatchDisassociateProjectAssetsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchDisassociateProjectAssetsOutput) String() string { +func (s BatchGetAssetPropertyValueHistoryErrorEntry) String() string { return awsutil.Prettify(s) } @@ -11116,75 +14384,93 @@ func (s BatchDisassociateProjectAssetsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchDisassociateProjectAssetsOutput) GoString() string { +func (s BatchGetAssetPropertyValueHistoryErrorEntry) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchDisassociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchDisassociateProjectAssetsOutput { - s.Errors = v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyValueHistoryErrorEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistoryErrorEntry { + s.EntryId = &v return s } -// Contains information for an asset property aggregate entry that is associated -// with the BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) -// API. -// -// To identify an asset property, you must specify one of the following: -// -// - The assetId and propertyId of an asset property. -// -// - A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). -// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). -type BatchGetAssetPropertyAggregatesEntry struct { - _ struct{} `type:"structure"` +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetAssetPropertyValueHistoryErrorEntry) SetErrorCode(v string) *BatchGetAssetPropertyValueHistoryErrorEntry { + s.ErrorCode = &v + return s +} - // The data aggregating function. - // - // AggregateTypes is a required field - AggregateTypes []*string `locationName:"aggregateTypes" min:"1" type:"list" required:"true" enum:"AggregateType"` +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchGetAssetPropertyValueHistoryErrorEntry) SetErrorMessage(v string) *BatchGetAssetPropertyValueHistoryErrorEntry { + s.ErrorMessage = &v + return s +} - // The ID of the asset in which the asset property was created. - AssetId *string `locationName:"assetId" min:"36" type:"string"` +// The error information, such as the error code and the timestamp. +type BatchGetAssetPropertyValueHistoryErrorInfo struct { + _ struct{} `type:"structure"` - // The inclusive end of the range from which to query historical data, expressed - // in seconds in Unix epoch time. + // The error code. // - // EndDate is a required field - EndDate *time.Time `locationName:"endDate" type:"timestamp" required:"true"` + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueHistoryErrorCode"` - // The ID of the entry. + // The date the error occurred, in Unix epoch time. // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + // ErrorTimestamp is a required field + ErrorTimestamp *time.Time `locationName:"errorTimestamp" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetAssetPropertyValueHistoryErrorInfo) String() string { + return awsutil.Prettify(s) +} - // The alias that identifies the property, such as an OPC-UA server data stream - // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, - // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) - // in the IoT SiteWise User Guide. - PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetAssetPropertyValueHistoryErrorInfo) GoString() string { + return s.String() +} - // The ID of the asset property. - PropertyId *string `locationName:"propertyId" min:"36" type:"string"` +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetAssetPropertyValueHistoryErrorInfo) SetErrorCode(v string) *BatchGetAssetPropertyValueHistoryErrorInfo { + s.ErrorCode = &v + return s +} - // The quality by which to filter asset data. - Qualities []*string `locationName:"qualities" min:"1" type:"list" enum:"Quality"` +// SetErrorTimestamp sets the ErrorTimestamp field's value. +func (s *BatchGetAssetPropertyValueHistoryErrorInfo) SetErrorTimestamp(v time.Time) *BatchGetAssetPropertyValueHistoryErrorInfo { + s.ErrorTimestamp = &v + return s +} - // The time interval over which to aggregate data. - // - // Resolution is a required field - Resolution *string `locationName:"resolution" min:"2" type:"string" required:"true"` +type BatchGetAssetPropertyValueHistoryInput struct { + _ struct{} `type:"structure"` - // The exclusive start of the range from which to query historical data, expressed - // in seconds in Unix epoch time. + // The list of asset property historical value entries for the batch get request. + // You can specify up to 16 entries per request. // - // StartDate is a required field - StartDate *time.Time `locationName:"startDate" type:"timestamp" required:"true"` + // Entries is a required field + Entries []*BatchGetAssetPropertyValueHistoryEntry `locationName:"entries" type:"list" required:"true"` - // The chronological sorting order of the requested information. + // The maximum number of results to return for each paginated request. A result + // set is returned in the two cases, whichever occurs first. // - // Default: ASCENDING - TimeOrdering *string `locationName:"timeOrdering" type:"string" enum:"TimeOrdering"` + // * The size of the result set is equal to 4 MB. + // + // * The number of data points in the result set is equal to the value of + // maxResults. The maximum value of maxResults is 20000. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -11192,7 +14478,7 @@ type BatchGetAssetPropertyAggregatesEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesEntry) String() string { +func (s BatchGetAssetPropertyValueHistoryInput) String() string { return awsutil.Prettify(s) } @@ -11201,48 +14487,31 @@ func (s BatchGetAssetPropertyAggregatesEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesEntry) GoString() string { +func (s BatchGetAssetPropertyValueHistoryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetAssetPropertyAggregatesEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyAggregatesEntry"} - if s.AggregateTypes == nil { - invalidParams.Add(request.NewErrParamRequired("AggregateTypes")) - } - if s.AggregateTypes != nil && len(s.AggregateTypes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AggregateTypes", 1)) - } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } - if s.EndDate == nil { - invalidParams.Add(request.NewErrParamRequired("EndDate")) - } - if s.EntryId == nil { - invalidParams.Add(request.NewErrParamRequired("EntryId")) - } - if s.EntryId != nil && len(*s.EntryId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntryId", 1)) - } - if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) - } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) - } - if s.Qualities != nil && len(s.Qualities) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Qualities", 1)) +func (s *BatchGetAssetPropertyValueHistoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueHistoryInput"} + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) } - if s.Resolution == nil { - invalidParams.Add(request.NewErrParamRequired("Resolution")) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.Resolution != nil && len(*s.Resolution) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Resolution", 2)) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.StartDate == nil { - invalidParams.Add(request.NewErrParamRequired("StartDate")) + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -11251,86 +14520,114 @@ func (s *BatchGetAssetPropertyAggregatesEntry) Validate() error { return nil } -// SetAggregateTypes sets the AggregateTypes field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetAggregateTypes(v []*string) *BatchGetAssetPropertyAggregatesEntry { - s.AggregateTypes = v +// SetEntries sets the Entries field's value. +func (s *BatchGetAssetPropertyValueHistoryInput) SetEntries(v []*BatchGetAssetPropertyValueHistoryEntry) *BatchGetAssetPropertyValueHistoryInput { + s.Entries = v return s } -// SetAssetId sets the AssetId field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetAssetId(v string) *BatchGetAssetPropertyAggregatesEntry { - s.AssetId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *BatchGetAssetPropertyValueHistoryInput) SetMaxResults(v int64) *BatchGetAssetPropertyValueHistoryInput { + s.MaxResults = &v return s } -// SetEndDate sets the EndDate field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetEndDate(v time.Time) *BatchGetAssetPropertyAggregatesEntry { - s.EndDate = &v +// SetNextToken sets the NextToken field's value. +func (s *BatchGetAssetPropertyValueHistoryInput) SetNextToken(v string) *BatchGetAssetPropertyValueHistoryInput { + s.NextToken = &v return s } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesEntry { - s.EntryId = &v - return s +type BatchGetAssetPropertyValueHistoryOutput struct { + _ struct{} `type:"structure"` + + // A list of the errors (if any) associated with the batch request. Each error + // entry contains the entryId of the entry that failed. + // + // ErrorEntries is a required field + ErrorEntries []*BatchGetAssetPropertyValueHistoryErrorEntry `locationName:"errorEntries" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // A list of entries that were not processed by this batch request. because + // these entries had been completely processed by previous paginated requests. + // Each skipped entry contains the entryId of the entry that skipped. + // + // SkippedEntries is a required field + SkippedEntries []*BatchGetAssetPropertyValueHistorySkippedEntry `locationName:"skippedEntries" type:"list" required:"true"` + + // A list of entries that were processed successfully by this batch request. + // Each success entry contains the entryId of the entry that succeeded and the + // latest query result. + // + // SuccessEntries is a required field + SuccessEntries []*BatchGetAssetPropertyValueHistorySuccessEntry `locationName:"successEntries" type:"list" required:"true"` } -// SetPropertyAlias sets the PropertyAlias field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetPropertyAlias(v string) *BatchGetAssetPropertyAggregatesEntry { - s.PropertyAlias = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetAssetPropertyValueHistoryOutput) String() string { + return awsutil.Prettify(s) } -// SetPropertyId sets the PropertyId field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetPropertyId(v string) *BatchGetAssetPropertyAggregatesEntry { - s.PropertyId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetAssetPropertyValueHistoryOutput) GoString() string { + return s.String() } -// SetQualities sets the Qualities field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetQualities(v []*string) *BatchGetAssetPropertyAggregatesEntry { - s.Qualities = v +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchGetAssetPropertyValueHistoryOutput) SetErrorEntries(v []*BatchGetAssetPropertyValueHistoryErrorEntry) *BatchGetAssetPropertyValueHistoryOutput { + s.ErrorEntries = v return s } -// SetResolution sets the Resolution field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetResolution(v string) *BatchGetAssetPropertyAggregatesEntry { - s.Resolution = &v +// SetNextToken sets the NextToken field's value. +func (s *BatchGetAssetPropertyValueHistoryOutput) SetNextToken(v string) *BatchGetAssetPropertyValueHistoryOutput { + s.NextToken = &v return s } -// SetStartDate sets the StartDate field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetStartDate(v time.Time) *BatchGetAssetPropertyAggregatesEntry { - s.StartDate = &v +// SetSkippedEntries sets the SkippedEntries field's value. +func (s *BatchGetAssetPropertyValueHistoryOutput) SetSkippedEntries(v []*BatchGetAssetPropertyValueHistorySkippedEntry) *BatchGetAssetPropertyValueHistoryOutput { + s.SkippedEntries = v return s } -// SetTimeOrdering sets the TimeOrdering field's value. -func (s *BatchGetAssetPropertyAggregatesEntry) SetTimeOrdering(v string) *BatchGetAssetPropertyAggregatesEntry { - s.TimeOrdering = &v +// SetSuccessEntries sets the SuccessEntries field's value. +func (s *BatchGetAssetPropertyValueHistoryOutput) SetSuccessEntries(v []*BatchGetAssetPropertyValueHistorySuccessEntry) *BatchGetAssetPropertyValueHistoryOutput { + s.SuccessEntries = v return s } -// Contains error information for an asset property aggregate entry that is -// associated with the BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) -// API. -type BatchGetAssetPropertyAggregatesErrorEntry struct { +// Contains information for an entry that has been processed by the previous +// BatchGetAssetPropertyValueHistory (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) +// request. +type BatchGetAssetPropertyValueHistorySkippedEntry struct { _ struct{} `type:"structure"` + // The completion status of each entry that is associated with the BatchGetAssetPropertyValueHistory + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValueHistory.html) + // API. + // + // CompletionStatus is a required field + CompletionStatus *string `locationName:"completionStatus" type:"string" required:"true" enum:"BatchEntryCompletionStatus"` + // The ID of the entry. // // EntryId is a required field EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // The error code. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyAggregatesErrorCode"` - - // The associated error message. - // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` + // The error information, such as the error code and the timestamp. + ErrorInfo *BatchGetAssetPropertyValueHistoryErrorInfo `locationName:"errorInfo" type:"structure"` } // String returns the string representation. @@ -11338,7 +14635,7 @@ type BatchGetAssetPropertyAggregatesErrorEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesErrorEntry) String() string { +func (s BatchGetAssetPropertyValueHistorySkippedEntry) String() string { return awsutil.Prettify(s) } @@ -11347,43 +14644,43 @@ func (s BatchGetAssetPropertyAggregatesErrorEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesErrorEntry) GoString() string { +func (s BatchGetAssetPropertyValueHistorySkippedEntry) GoString() string { return s.String() } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyAggregatesErrorEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesErrorEntry { - s.EntryId = &v +// SetCompletionStatus sets the CompletionStatus field's value. +func (s *BatchGetAssetPropertyValueHistorySkippedEntry) SetCompletionStatus(v string) *BatchGetAssetPropertyValueHistorySkippedEntry { + s.CompletionStatus = &v return s } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchGetAssetPropertyAggregatesErrorEntry) SetErrorCode(v string) *BatchGetAssetPropertyAggregatesErrorEntry { - s.ErrorCode = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyValueHistorySkippedEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistorySkippedEntry { + s.EntryId = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchGetAssetPropertyAggregatesErrorEntry) SetErrorMessage(v string) *BatchGetAssetPropertyAggregatesErrorEntry { - s.ErrorMessage = &v +// SetErrorInfo sets the ErrorInfo field's value. +func (s *BatchGetAssetPropertyValueHistorySkippedEntry) SetErrorInfo(v *BatchGetAssetPropertyValueHistoryErrorInfo) *BatchGetAssetPropertyValueHistorySkippedEntry { + s.ErrorInfo = v return s } -// Contains the error code and the timestamp for an asset property aggregate -// entry that is associated with the BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// Contains success information for an entry that is associated with the BatchGetAssetPropertyValueHistory +// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) // API. -type BatchGetAssetPropertyAggregatesErrorInfo struct { +type BatchGetAssetPropertyValueHistorySuccessEntry struct { _ struct{} `type:"structure"` - // The error code. + // The requested historical values for the specified asset property. // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyAggregatesErrorCode"` + // AssetPropertyValueHistory is a required field + AssetPropertyValueHistory []*AssetPropertyValue `locationName:"assetPropertyValueHistory" type:"list" required:"true"` - // The date the error occurred, in Unix epoch time. + // The ID of the entry. // - // ErrorTimestamp is a required field - ErrorTimestamp *time.Time `locationName:"errorTimestamp" type:"timestamp" required:"true"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -11391,7 +14688,7 @@ type BatchGetAssetPropertyAggregatesErrorInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesErrorInfo) String() string { +func (s BatchGetAssetPropertyValueHistorySuccessEntry) String() string { return awsutil.Prettify(s) } @@ -11400,39 +14697,30 @@ func (s BatchGetAssetPropertyAggregatesErrorInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesErrorInfo) GoString() string { +func (s BatchGetAssetPropertyValueHistorySuccessEntry) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchGetAssetPropertyAggregatesErrorInfo) SetErrorCode(v string) *BatchGetAssetPropertyAggregatesErrorInfo { - s.ErrorCode = &v +// SetAssetPropertyValueHistory sets the AssetPropertyValueHistory field's value. +func (s *BatchGetAssetPropertyValueHistorySuccessEntry) SetAssetPropertyValueHistory(v []*AssetPropertyValue) *BatchGetAssetPropertyValueHistorySuccessEntry { + s.AssetPropertyValueHistory = v return s } -// SetErrorTimestamp sets the ErrorTimestamp field's value. -func (s *BatchGetAssetPropertyAggregatesErrorInfo) SetErrorTimestamp(v time.Time) *BatchGetAssetPropertyAggregatesErrorInfo { - s.ErrorTimestamp = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchGetAssetPropertyValueHistorySuccessEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistorySuccessEntry { + s.EntryId = &v return s } -type BatchGetAssetPropertyAggregatesInput struct { +type BatchGetAssetPropertyValueInput struct { _ struct{} `type:"structure"` - // The list of asset property aggregate entries for the batch get request. You - // can specify up to 16 entries per request. + // The list of asset property value entries for the batch get request. You can + // specify up to 128 entries per request. // // Entries is a required field - Entries []*BatchGetAssetPropertyAggregatesEntry `locationName:"entries" type:"list" required:"true"` - - // The maximum number of results to return for each paginated request. A result - // set is returned in the two cases, whichever occurs first. - // - // * The size of the result set is equal to 1 MB. - // - // * The number of data points in the result set is equal to the value of - // maxResults. The maximum value of maxResults is 4000. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + Entries []*BatchGetAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"` // The token to be used for the next set of paginated results. NextToken *string `locationName:"nextToken" min:"1" type:"string"` @@ -11443,7 +14731,7 @@ type BatchGetAssetPropertyAggregatesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesInput) String() string { +func (s BatchGetAssetPropertyValueInput) String() string { return awsutil.Prettify(s) } @@ -11452,19 +14740,16 @@ func (s BatchGetAssetPropertyAggregatesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesInput) GoString() string { +func (s BatchGetAssetPropertyValueInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetAssetPropertyAggregatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyAggregatesInput"} +func (s *BatchGetAssetPropertyValueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueInput"} if s.Entries == nil { invalidParams.Add(request.NewErrParamRequired("Entries")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } @@ -11486,31 +14771,25 @@ func (s *BatchGetAssetPropertyAggregatesInput) Validate() error { } // SetEntries sets the Entries field's value. -func (s *BatchGetAssetPropertyAggregatesInput) SetEntries(v []*BatchGetAssetPropertyAggregatesEntry) *BatchGetAssetPropertyAggregatesInput { +func (s *BatchGetAssetPropertyValueInput) SetEntries(v []*BatchGetAssetPropertyValueEntry) *BatchGetAssetPropertyValueInput { s.Entries = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *BatchGetAssetPropertyAggregatesInput) SetMaxResults(v int64) *BatchGetAssetPropertyAggregatesInput { - s.MaxResults = &v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *BatchGetAssetPropertyAggregatesInput) SetNextToken(v string) *BatchGetAssetPropertyAggregatesInput { +func (s *BatchGetAssetPropertyValueInput) SetNextToken(v string) *BatchGetAssetPropertyValueInput { s.NextToken = &v return s } -type BatchGetAssetPropertyAggregatesOutput struct { +type BatchGetAssetPropertyValueOutput struct { _ struct{} `type:"structure"` // A list of the errors (if any) associated with the batch request. Each error // entry contains the entryId of the entry that failed. // // ErrorEntries is a required field - ErrorEntries []*BatchGetAssetPropertyAggregatesErrorEntry `locationName:"errorEntries" type:"list" required:"true"` + ErrorEntries []*BatchGetAssetPropertyValueErrorEntry `locationName:"errorEntries" type:"list" required:"true"` // The token for the next set of results, or null if there are no additional // results. @@ -11521,14 +14800,14 @@ type BatchGetAssetPropertyAggregatesOutput struct { // Each skipped entry contains the entryId of the entry that skipped. // // SkippedEntries is a required field - SkippedEntries []*BatchGetAssetPropertyAggregatesSkippedEntry `locationName:"skippedEntries" type:"list" required:"true"` + SkippedEntries []*BatchGetAssetPropertyValueSkippedEntry `locationName:"skippedEntries" type:"list" required:"true"` // A list of entries that were processed successfully by this batch request. // Each success entry contains the entryId of the entry that succeeded and the // latest query result. // // SuccessEntries is a required field - SuccessEntries []*BatchGetAssetPropertyAggregatesSuccessEntry `locationName:"successEntries" type:"list" required:"true"` + SuccessEntries []*BatchGetAssetPropertyValueSuccessEntry `locationName:"successEntries" type:"list" required:"true"` } // String returns the string representation. @@ -11536,7 +14815,7 @@ type BatchGetAssetPropertyAggregatesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesOutput) String() string { +func (s BatchGetAssetPropertyValueOutput) String() string { return awsutil.Prettify(s) } @@ -11545,43 +14824,43 @@ func (s BatchGetAssetPropertyAggregatesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesOutput) GoString() string { +func (s BatchGetAssetPropertyValueOutput) GoString() string { return s.String() } // SetErrorEntries sets the ErrorEntries field's value. -func (s *BatchGetAssetPropertyAggregatesOutput) SetErrorEntries(v []*BatchGetAssetPropertyAggregatesErrorEntry) *BatchGetAssetPropertyAggregatesOutput { +func (s *BatchGetAssetPropertyValueOutput) SetErrorEntries(v []*BatchGetAssetPropertyValueErrorEntry) *BatchGetAssetPropertyValueOutput { s.ErrorEntries = v return s } // SetNextToken sets the NextToken field's value. -func (s *BatchGetAssetPropertyAggregatesOutput) SetNextToken(v string) *BatchGetAssetPropertyAggregatesOutput { +func (s *BatchGetAssetPropertyValueOutput) SetNextToken(v string) *BatchGetAssetPropertyValueOutput { s.NextToken = &v return s } // SetSkippedEntries sets the SkippedEntries field's value. -func (s *BatchGetAssetPropertyAggregatesOutput) SetSkippedEntries(v []*BatchGetAssetPropertyAggregatesSkippedEntry) *BatchGetAssetPropertyAggregatesOutput { +func (s *BatchGetAssetPropertyValueOutput) SetSkippedEntries(v []*BatchGetAssetPropertyValueSkippedEntry) *BatchGetAssetPropertyValueOutput { s.SkippedEntries = v return s } // SetSuccessEntries sets the SuccessEntries field's value. -func (s *BatchGetAssetPropertyAggregatesOutput) SetSuccessEntries(v []*BatchGetAssetPropertyAggregatesSuccessEntry) *BatchGetAssetPropertyAggregatesOutput { +func (s *BatchGetAssetPropertyValueOutput) SetSuccessEntries(v []*BatchGetAssetPropertyValueSuccessEntry) *BatchGetAssetPropertyValueOutput { s.SuccessEntries = v return s } // Contains information for an entry that has been processed by the previous -// BatchGetAssetPropertyAggregates (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) +// BatchGetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) // request. -type BatchGetAssetPropertyAggregatesSkippedEntry struct { +type BatchGetAssetPropertyValueSkippedEntry struct { _ struct{} `type:"structure"` - // The completion status of each entry that is associated with the BatchGetAssetPropertyAggregates - // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) - // API. + // The completion status of each entry that is associated with the BatchGetAssetPropertyValue + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) + // request. // // CompletionStatus is a required field CompletionStatus *string `locationName:"completionStatus" type:"string" required:"true" enum:"BatchEntryCompletionStatus"` @@ -11592,7 +14871,7 @@ type BatchGetAssetPropertyAggregatesSkippedEntry struct { EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` // The error information, such as the error code and the timestamp. - ErrorInfo *BatchGetAssetPropertyAggregatesErrorInfo `locationName:"errorInfo" type:"structure"` + ErrorInfo *BatchGetAssetPropertyValueErrorInfo `locationName:"errorInfo" type:"structure"` } // String returns the string representation. @@ -11600,7 +14879,7 @@ type BatchGetAssetPropertyAggregatesSkippedEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesSkippedEntry) String() string { +func (s BatchGetAssetPropertyValueSkippedEntry) String() string { return awsutil.Prettify(s) } @@ -11609,105 +14888,41 @@ func (s BatchGetAssetPropertyAggregatesSkippedEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesSkippedEntry) GoString() string { +func (s BatchGetAssetPropertyValueSkippedEntry) GoString() string { return s.String() } // SetCompletionStatus sets the CompletionStatus field's value. -func (s *BatchGetAssetPropertyAggregatesSkippedEntry) SetCompletionStatus(v string) *BatchGetAssetPropertyAggregatesSkippedEntry { +func (s *BatchGetAssetPropertyValueSkippedEntry) SetCompletionStatus(v string) *BatchGetAssetPropertyValueSkippedEntry { s.CompletionStatus = &v return s } // SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyAggregatesSkippedEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesSkippedEntry { +func (s *BatchGetAssetPropertyValueSkippedEntry) SetEntryId(v string) *BatchGetAssetPropertyValueSkippedEntry { s.EntryId = &v return s } // SetErrorInfo sets the ErrorInfo field's value. -func (s *BatchGetAssetPropertyAggregatesSkippedEntry) SetErrorInfo(v *BatchGetAssetPropertyAggregatesErrorInfo) *BatchGetAssetPropertyAggregatesSkippedEntry { +func (s *BatchGetAssetPropertyValueSkippedEntry) SetErrorInfo(v *BatchGetAssetPropertyValueErrorInfo) *BatchGetAssetPropertyValueSkippedEntry { s.ErrorInfo = v return s } -// Contains success information for an entry that is associated with the BatchGetAssetPropertyAggregates -// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html) -// API. -type BatchGetAssetPropertyAggregatesSuccessEntry struct { - _ struct{} `type:"structure"` - - // The requested aggregated asset property values (for example, average, minimum, - // and maximum). - // - // AggregatedValues is a required field - AggregatedValues []*AggregatedValue `locationName:"aggregatedValues" type:"list" required:"true"` - - // The ID of the entry. - // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesSuccessEntry) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetAssetPropertyAggregatesSuccessEntry) GoString() string { - return s.String() -} - -// SetAggregatedValues sets the AggregatedValues field's value. -func (s *BatchGetAssetPropertyAggregatesSuccessEntry) SetAggregatedValues(v []*AggregatedValue) *BatchGetAssetPropertyAggregatesSuccessEntry { - s.AggregatedValues = v - return s -} - -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyAggregatesSuccessEntry) SetEntryId(v string) *BatchGetAssetPropertyAggregatesSuccessEntry { - s.EntryId = &v - return s -} - -// Contains information for an asset property value entry that is associated -// with the BatchGetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) +// Contains success information for an entry that is associated with the BatchGetAssetPropertyValue +// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) // API. -// -// To identify an asset property, you must specify one of the following: -// -// - The assetId and propertyId of an asset property. -// -// - A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). -// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). -type BatchGetAssetPropertyValueEntry struct { +type BatchGetAssetPropertyValueSuccessEntry struct { _ struct{} `type:"structure"` - // The ID of the asset in which the asset property was created. - AssetId *string `locationName:"assetId" min:"36" type:"string"` + // Contains asset property value information. + AssetPropertyValue *AssetPropertyValue `locationName:"assetPropertyValue" type:"structure"` // The ID of the entry. // // EntryId is a required field EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - - // The alias that identifies the property, such as an OPC-UA server data stream - // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, - // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) - // in the IoT SiteWise User Guide. - PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` - - // The ID of the asset property. - PropertyId *string `locationName:"propertyId" min:"36" type:"string"` } // String returns the string representation. @@ -11715,7 +14930,7 @@ type BatchGetAssetPropertyValueEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueEntry) String() string { +func (s BatchGetAssetPropertyValueSuccessEntry) String() string { return awsutil.Prettify(s) } @@ -11724,79 +14939,40 @@ func (s BatchGetAssetPropertyValueEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueEntry) GoString() string { +func (s BatchGetAssetPropertyValueSuccessEntry) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetAssetPropertyValueEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueEntry"} - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } - if s.EntryId == nil { - invalidParams.Add(request.NewErrParamRequired("EntryId")) - } - if s.EntryId != nil && len(*s.EntryId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntryId", 1)) - } - if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) - } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssetId sets the AssetId field's value. -func (s *BatchGetAssetPropertyValueEntry) SetAssetId(v string) *BatchGetAssetPropertyValueEntry { - s.AssetId = &v +// SetAssetPropertyValue sets the AssetPropertyValue field's value. +func (s *BatchGetAssetPropertyValueSuccessEntry) SetAssetPropertyValue(v *AssetPropertyValue) *BatchGetAssetPropertyValueSuccessEntry { + s.AssetPropertyValue = v return s } // SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueEntry) SetEntryId(v string) *BatchGetAssetPropertyValueEntry { +func (s *BatchGetAssetPropertyValueSuccessEntry) SetEntryId(v string) *BatchGetAssetPropertyValueSuccessEntry { s.EntryId = &v return s } -// SetPropertyAlias sets the PropertyAlias field's value. -func (s *BatchGetAssetPropertyValueEntry) SetPropertyAlias(v string) *BatchGetAssetPropertyValueEntry { - s.PropertyAlias = &v - return s -} - -// SetPropertyId sets the PropertyId field's value. -func (s *BatchGetAssetPropertyValueEntry) SetPropertyId(v string) *BatchGetAssetPropertyValueEntry { - s.PropertyId = &v - return s -} - -// Contains error information for an asset property value entry that is associated -// with the BatchGetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) -// API. -type BatchGetAssetPropertyValueErrorEntry struct { +// Contains error information from updating a batch of asset property values. +type BatchPutAssetPropertyError struct { _ struct{} `type:"structure"` - // The ID of the entry. - // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // The error code. // // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueErrorCode"` + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchPutAssetPropertyValueErrorCode"` // The associated error message. // // ErrorMessage is a required field ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` + + // A list of timestamps for each error, if any. + // + // Timestamps is a required field + Timestamps []*TimeInNanos `locationName:"timestamps" type:"list" required:"true"` } // String returns the string representation. @@ -11804,7 +14980,7 @@ type BatchGetAssetPropertyValueErrorEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueErrorEntry) String() string { +func (s BatchPutAssetPropertyError) String() string { return awsutil.Prettify(s) } @@ -11813,41 +14989,43 @@ func (s BatchGetAssetPropertyValueErrorEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueErrorEntry) GoString() string { +func (s BatchPutAssetPropertyError) GoString() string { return s.String() } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueErrorEntry) SetEntryId(v string) *BatchGetAssetPropertyValueErrorEntry { - s.EntryId = &v - return s -} - // SetErrorCode sets the ErrorCode field's value. -func (s *BatchGetAssetPropertyValueErrorEntry) SetErrorCode(v string) *BatchGetAssetPropertyValueErrorEntry { +func (s *BatchPutAssetPropertyError) SetErrorCode(v string) *BatchPutAssetPropertyError { s.ErrorCode = &v return s } // SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchGetAssetPropertyValueErrorEntry) SetErrorMessage(v string) *BatchGetAssetPropertyValueErrorEntry { +func (s *BatchPutAssetPropertyError) SetErrorMessage(v string) *BatchPutAssetPropertyError { s.ErrorMessage = &v return s } -// The error information, such as the error code and the timestamp. -type BatchGetAssetPropertyValueErrorInfo struct { +// SetTimestamps sets the Timestamps field's value. +func (s *BatchPutAssetPropertyError) SetTimestamps(v []*TimeInNanos) *BatchPutAssetPropertyError { + s.Timestamps = v + return s +} + +// Contains error information for asset property value entries that are associated +// with the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) +// API. +type BatchPutAssetPropertyErrorEntry struct { _ struct{} `type:"structure"` - // The error code. + // The ID of the failed entry. // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueErrorCode"` + // EntryId is a required field + EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - // The date the error occurred, in Unix epoch time. + // The list of update property value errors. // - // ErrorTimestamp is a required field - ErrorTimestamp *time.Time `locationName:"errorTimestamp" type:"timestamp" required:"true"` + // Errors is a required field + Errors []*BatchPutAssetPropertyError `locationName:"errors" type:"list" required:"true"` } // String returns the string representation. @@ -11855,7 +15033,7 @@ type BatchGetAssetPropertyValueErrorInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueErrorInfo) String() string { +func (s BatchPutAssetPropertyErrorEntry) String() string { return awsutil.Prettify(s) } @@ -11864,67 +15042,30 @@ func (s BatchGetAssetPropertyValueErrorInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueErrorInfo) GoString() string { +func (s BatchPutAssetPropertyErrorEntry) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchGetAssetPropertyValueErrorInfo) SetErrorCode(v string) *BatchGetAssetPropertyValueErrorInfo { - s.ErrorCode = &v +// SetEntryId sets the EntryId field's value. +func (s *BatchPutAssetPropertyErrorEntry) SetEntryId(v string) *BatchPutAssetPropertyErrorEntry { + s.EntryId = &v return s } -// SetErrorTimestamp sets the ErrorTimestamp field's value. -func (s *BatchGetAssetPropertyValueErrorInfo) SetErrorTimestamp(v time.Time) *BatchGetAssetPropertyValueErrorInfo { - s.ErrorTimestamp = &v +// SetErrors sets the Errors field's value. +func (s *BatchPutAssetPropertyErrorEntry) SetErrors(v []*BatchPutAssetPropertyError) *BatchPutAssetPropertyErrorEntry { + s.Errors = v return s } -// Contains information for an asset property historical value entry that is -// associated with the BatchGetAssetPropertyValueHistory (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) -// API. -// -// To identify an asset property, you must specify one of the following: -// -// - The assetId and propertyId of an asset property. -// -// - A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). -// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). -type BatchGetAssetPropertyValueHistoryEntry struct { +type BatchPutAssetPropertyValueInput struct { _ struct{} `type:"structure"` - // The ID of the asset in which the asset property was created. - AssetId *string `locationName:"assetId" min:"36" type:"string"` - - // The inclusive end of the range from which to query historical data, expressed - // in seconds in Unix epoch time. - EndDate *time.Time `locationName:"endDate" type:"timestamp"` - - // The ID of the entry. - // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - - // The alias that identifies the property, such as an OPC-UA server data stream - // path (for example, /company/windfarm/3/turbine/7/temperature). For more information, - // see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) - // in the IoT SiteWise User Guide. - PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` - - // The ID of the asset property. - PropertyId *string `locationName:"propertyId" min:"36" type:"string"` - - // The quality by which to filter asset data. - Qualities []*string `locationName:"qualities" min:"1" type:"list" enum:"Quality"` - - // The exclusive start of the range from which to query historical data, expressed - // in seconds in Unix epoch time. - StartDate *time.Time `locationName:"startDate" type:"timestamp"` - - // The chronological sorting order of the requested information. + // The list of asset property value entries for the batch put request. You can + // specify up to 10 entries per request. // - // Default: ASCENDING - TimeOrdering *string `locationName:"timeOrdering" type:"string" enum:"TimeOrdering"` + // Entries is a required field + Entries []*PutAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"` } // String returns the string representation. @@ -11932,7 +15073,7 @@ type BatchGetAssetPropertyValueHistoryEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryEntry) String() string { +func (s BatchPutAssetPropertyValueInput) String() string { return awsutil.Prettify(s) } @@ -11941,30 +15082,25 @@ func (s BatchGetAssetPropertyValueHistoryEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryEntry) GoString() string { +func (s BatchPutAssetPropertyValueInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetAssetPropertyValueHistoryEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueHistoryEntry"} - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } - if s.EntryId == nil { - invalidParams.Add(request.NewErrParamRequired("EntryId")) - } - if s.EntryId != nil && len(*s.EntryId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntryId", 1)) - } - if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) - } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) +func (s *BatchPutAssetPropertyValueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPutAssetPropertyValueInput"} + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) } - if s.Qualities != nil && len(s.Qualities) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Qualities", 1)) + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -11973,73 +15109,55 @@ func (s *BatchGetAssetPropertyValueHistoryEntry) Validate() error { return nil } -// SetAssetId sets the AssetId field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetAssetId(v string) *BatchGetAssetPropertyValueHistoryEntry { - s.AssetId = &v - return s -} - -// SetEndDate sets the EndDate field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetEndDate(v time.Time) *BatchGetAssetPropertyValueHistoryEntry { - s.EndDate = &v - return s -} - -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistoryEntry { - s.EntryId = &v +// SetEntries sets the Entries field's value. +func (s *BatchPutAssetPropertyValueInput) SetEntries(v []*PutAssetPropertyValueEntry) *BatchPutAssetPropertyValueInput { + s.Entries = v return s } -// SetPropertyAlias sets the PropertyAlias field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetPropertyAlias(v string) *BatchGetAssetPropertyValueHistoryEntry { - s.PropertyAlias = &v - return s -} +type BatchPutAssetPropertyValueOutput struct { + _ struct{} `type:"structure"` -// SetPropertyId sets the PropertyId field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetPropertyId(v string) *BatchGetAssetPropertyValueHistoryEntry { - s.PropertyId = &v - return s + // A list of the errors (if any) associated with the batch put request. Each + // error entry contains the entryId of the entry that failed. + // + // ErrorEntries is a required field + ErrorEntries []*BatchPutAssetPropertyErrorEntry `locationName:"errorEntries" type:"list" required:"true"` } -// SetQualities sets the Qualities field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetQualities(v []*string) *BatchGetAssetPropertyValueHistoryEntry { - s.Qualities = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutAssetPropertyValueOutput) String() string { + return awsutil.Prettify(s) } -// SetStartDate sets the StartDate field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetStartDate(v time.Time) *BatchGetAssetPropertyValueHistoryEntry { - s.StartDate = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutAssetPropertyValueOutput) GoString() string { + return s.String() } -// SetTimeOrdering sets the TimeOrdering field's value. -func (s *BatchGetAssetPropertyValueHistoryEntry) SetTimeOrdering(v string) *BatchGetAssetPropertyValueHistoryEntry { - s.TimeOrdering = &v +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchPutAssetPropertyValueOutput) SetErrorEntries(v []*BatchPutAssetPropertyErrorEntry) *BatchPutAssetPropertyValueOutput { + s.ErrorEntries = v return s } -// A list of the errors (if any) associated with the batch request. Each error -// entry contains the entryId of the entry that failed. -type BatchGetAssetPropertyValueHistoryErrorEntry struct { +// A description of the column in the query results. +type ColumnInfo struct { _ struct{} `type:"structure"` - // The ID of the entry. - // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - - // The error code. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueHistoryErrorCode"` + // The name of the column description. + Name *string `locationName:"name" type:"string"` - // The associated error message. - // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` + // The type of the column description. + Type *ColumnType `locationName:"type" type:"structure"` } // String returns the string representation. @@ -12047,7 +15165,7 @@ type BatchGetAssetPropertyValueHistoryErrorEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryErrorEntry) String() string { +func (s ColumnInfo) String() string { return awsutil.Prettify(s) } @@ -12056,41 +15174,28 @@ func (s BatchGetAssetPropertyValueHistoryErrorEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryErrorEntry) GoString() string { +func (s ColumnInfo) GoString() string { return s.String() } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueHistoryErrorEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistoryErrorEntry { - s.EntryId = &v - return s -} - -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchGetAssetPropertyValueHistoryErrorEntry) SetErrorCode(v string) *BatchGetAssetPropertyValueHistoryErrorEntry { - s.ErrorCode = &v +// SetName sets the Name field's value. +func (s *ColumnInfo) SetName(v string) *ColumnInfo { + s.Name = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchGetAssetPropertyValueHistoryErrorEntry) SetErrorMessage(v string) *BatchGetAssetPropertyValueHistoryErrorEntry { - s.ErrorMessage = &v +// SetType sets the Type field's value. +func (s *ColumnInfo) SetType(v *ColumnType) *ColumnInfo { + s.Type = v return s } -// The error information, such as the error code and the timestamp. -type BatchGetAssetPropertyValueHistoryErrorInfo struct { +// The data type of the column. +type ColumnType struct { _ struct{} `type:"structure"` - // The error code. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchGetAssetPropertyValueHistoryErrorCode"` - - // The date the error occurred, in Unix epoch time. - // - // ErrorTimestamp is a required field - ErrorTimestamp *time.Time `locationName:"errorTimestamp" type:"timestamp" required:"true"` + // The allowed data types that the column has as it's value. + ScalarType *string `locationName:"scalarType" type:"string" enum:"ScalarType"` } // String returns the string representation. @@ -12098,7 +15203,7 @@ type BatchGetAssetPropertyValueHistoryErrorInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryErrorInfo) String() string { +func (s ColumnType) String() string { return awsutil.Prettify(s) } @@ -12107,42 +15212,42 @@ func (s BatchGetAssetPropertyValueHistoryErrorInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryErrorInfo) GoString() string { +func (s ColumnType) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchGetAssetPropertyValueHistoryErrorInfo) SetErrorCode(v string) *BatchGetAssetPropertyValueHistoryErrorInfo { - s.ErrorCode = &v +// SetScalarType sets the ScalarType field's value. +func (s *ColumnType) SetScalarType(v string) *ColumnType { + s.ScalarType = &v return s } -// SetErrorTimestamp sets the ErrorTimestamp field's value. -func (s *BatchGetAssetPropertyValueHistoryErrorInfo) SetErrorTimestamp(v time.Time) *BatchGetAssetPropertyValueHistoryErrorInfo { - s.ErrorTimestamp = &v - return s -} +// Contains information about a composite model property on an asset. +type CompositeModelProperty struct { + _ struct{} `type:"structure"` + + // Contains asset property information. + // + // AssetProperty is a required field + AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"` -type BatchGetAssetPropertyValueHistoryInput struct { - _ struct{} `type:"structure"` + // The external ID of the composite model that contains the property. For more + // information, see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` - // The list of asset property historical value entries for the batch get request. - // You can specify up to 16 entries per request. - // - // Entries is a required field - Entries []*BatchGetAssetPropertyValueHistoryEntry `locationName:"entries" type:"list" required:"true"` + // The ID of the composite model that contains the property. + Id *string `locationName:"id" min:"36" type:"string"` - // The maximum number of results to return for each paginated request. A result - // set is returned in the two cases, whichever occurs first. - // - // * The size of the result set is equal to 4 MB. + // The name of the property. // - // * The number of data points in the result set is equal to the value of - // maxResults. The maximum value of maxResults is 20000. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The token to be used for the next set of paginated results. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The type of the composite model that defines this property. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12150,7 +15255,7 @@ type BatchGetAssetPropertyValueHistoryInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryInput) String() string { +func (s CompositeModelProperty) String() string { return awsutil.Prettify(s) } @@ -12159,83 +15264,47 @@ func (s BatchGetAssetPropertyValueHistoryInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryInput) GoString() string { +func (s CompositeModelProperty) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetAssetPropertyValueHistoryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueHistoryInput"} - if s.Entries == nil { - invalidParams.Add(request.NewErrParamRequired("Entries")) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - if s.Entries != nil { - for i, v := range s.Entries { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) - } - } - } +// SetAssetProperty sets the AssetProperty field's value. +func (s *CompositeModelProperty) SetAssetProperty(v *Property) *CompositeModelProperty { + s.AssetProperty = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExternalId sets the ExternalId field's value. +func (s *CompositeModelProperty) SetExternalId(v string) *CompositeModelProperty { + s.ExternalId = &v + return s } -// SetEntries sets the Entries field's value. -func (s *BatchGetAssetPropertyValueHistoryInput) SetEntries(v []*BatchGetAssetPropertyValueHistoryEntry) *BatchGetAssetPropertyValueHistoryInput { - s.Entries = v +// SetId sets the Id field's value. +func (s *CompositeModelProperty) SetId(v string) *CompositeModelProperty { + s.Id = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *BatchGetAssetPropertyValueHistoryInput) SetMaxResults(v int64) *BatchGetAssetPropertyValueHistoryInput { - s.MaxResults = &v +// SetName sets the Name field's value. +func (s *CompositeModelProperty) SetName(v string) *CompositeModelProperty { + s.Name = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *BatchGetAssetPropertyValueHistoryInput) SetNextToken(v string) *BatchGetAssetPropertyValueHistoryInput { - s.NextToken = &v +// SetType sets the Type field's value. +func (s *CompositeModelProperty) SetType(v string) *CompositeModelProperty { + s.Type = &v return s } -type BatchGetAssetPropertyValueHistoryOutput struct { +// Metadata for the composition relationship established by using composedAssetModelId +// in CreateAssetModelCompositeModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html). +type CompositionDetails struct { _ struct{} `type:"structure"` - // A list of the errors (if any) associated with the batch request. Each error - // entry contains the entryId of the entry that failed. - // - // ErrorEntries is a required field - ErrorEntries []*BatchGetAssetPropertyValueHistoryErrorEntry `locationName:"errorEntries" type:"list" required:"true"` - - // The token for the next set of results, or null if there are no additional - // results. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // A list of entries that were not processed by this batch request. because - // these entries had been completely processed by previous paginated requests. - // Each skipped entry contains the entryId of the entry that skipped. - // - // SkippedEntries is a required field - SkippedEntries []*BatchGetAssetPropertyValueHistorySkippedEntry `locationName:"skippedEntries" type:"list" required:"true"` - - // A list of entries that were processed successfully by this batch request. - // Each success entry contains the entryId of the entry that succeeded and the - // latest query result. - // - // SuccessEntries is a required field - SuccessEntries []*BatchGetAssetPropertyValueHistorySuccessEntry `locationName:"successEntries" type:"list" required:"true"` + // An array detailing the composition relationship for this composite model. + CompositionRelationship []*CompositionRelationshipItem `locationName:"compositionRelationship" type:"list"` } // String returns the string representation. @@ -12243,7 +15312,7 @@ type BatchGetAssetPropertyValueHistoryOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryOutput) String() string { +func (s CompositionDetails) String() string { return awsutil.Prettify(s) } @@ -12252,54 +15321,66 @@ func (s BatchGetAssetPropertyValueHistoryOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistoryOutput) GoString() string { +func (s CompositionDetails) GoString() string { return s.String() } -// SetErrorEntries sets the ErrorEntries field's value. -func (s *BatchGetAssetPropertyValueHistoryOutput) SetErrorEntries(v []*BatchGetAssetPropertyValueHistoryErrorEntry) *BatchGetAssetPropertyValueHistoryOutput { - s.ErrorEntries = v +// SetCompositionRelationship sets the CompositionRelationship field's value. +func (s *CompositionDetails) SetCompositionRelationship(v []*CompositionRelationshipItem) *CompositionDetails { + s.CompositionRelationship = v return s } -// SetNextToken sets the NextToken field's value. -func (s *BatchGetAssetPropertyValueHistoryOutput) SetNextToken(v string) *BatchGetAssetPropertyValueHistoryOutput { - s.NextToken = &v - return s +// Represents a composite model that composed an asset model of type COMPONENT_MODEL. +type CompositionRelationshipItem struct { + _ struct{} `type:"structure"` + + // The ID of the component. + Id *string `locationName:"id" min:"36" type:"string"` } -// SetSkippedEntries sets the SkippedEntries field's value. -func (s *BatchGetAssetPropertyValueHistoryOutput) SetSkippedEntries(v []*BatchGetAssetPropertyValueHistorySkippedEntry) *BatchGetAssetPropertyValueHistoryOutput { - s.SkippedEntries = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositionRelationshipItem) String() string { + return awsutil.Prettify(s) } -// SetSuccessEntries sets the SuccessEntries field's value. -func (s *BatchGetAssetPropertyValueHistoryOutput) SetSuccessEntries(v []*BatchGetAssetPropertyValueHistorySuccessEntry) *BatchGetAssetPropertyValueHistoryOutput { - s.SuccessEntries = v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositionRelationshipItem) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *CompositionRelationshipItem) SetId(v string) *CompositionRelationshipItem { + s.Id = &v return s } -// Contains information for an entry that has been processed by the previous -// BatchGetAssetPropertyValueHistory (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) -// request. -type BatchGetAssetPropertyValueHistorySkippedEntry struct { +// Contains a summary of the components of the composite model. +type CompositionRelationshipSummary struct { _ struct{} `type:"structure"` - // The completion status of each entry that is associated with the BatchGetAssetPropertyValueHistory - // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValueHistory.html) - // API. + // The ID of a composite model on this asset model. // - // CompletionStatus is a required field - CompletionStatus *string `locationName:"completionStatus" type:"string" required:"true" enum:"BatchEntryCompletionStatus"` + // AssetModelCompositeModelId is a required field + AssetModelCompositeModelId *string `locationName:"assetModelCompositeModelId" min:"36" type:"string" required:"true"` - // The ID of the entry. + // The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY. // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + // AssetModelCompositeModelType is a required field + AssetModelCompositeModelType *string `locationName:"assetModelCompositeModelType" min:"1" type:"string" required:"true"` - // The error information, such as the error code and the timestamp. - ErrorInfo *BatchGetAssetPropertyValueHistoryErrorInfo `locationName:"errorInfo" type:"structure"` + // The ID of the asset model, in UUID format. + // + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -12307,7 +15388,7 @@ type BatchGetAssetPropertyValueHistorySkippedEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistorySkippedEntry) String() string { +func (s CompositionRelationshipSummary) String() string { return awsutil.Prettify(s) } @@ -12316,43 +15397,41 @@ func (s BatchGetAssetPropertyValueHistorySkippedEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistorySkippedEntry) GoString() string { +func (s CompositionRelationshipSummary) GoString() string { return s.String() } -// SetCompletionStatus sets the CompletionStatus field's value. -func (s *BatchGetAssetPropertyValueHistorySkippedEntry) SetCompletionStatus(v string) *BatchGetAssetPropertyValueHistorySkippedEntry { - s.CompletionStatus = &v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *CompositionRelationshipSummary) SetAssetModelCompositeModelId(v string) *CompositionRelationshipSummary { + s.AssetModelCompositeModelId = &v return s } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueHistorySkippedEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistorySkippedEntry { - s.EntryId = &v +// SetAssetModelCompositeModelType sets the AssetModelCompositeModelType field's value. +func (s *CompositionRelationshipSummary) SetAssetModelCompositeModelType(v string) *CompositionRelationshipSummary { + s.AssetModelCompositeModelType = &v return s } -// SetErrorInfo sets the ErrorInfo field's value. -func (s *BatchGetAssetPropertyValueHistorySkippedEntry) SetErrorInfo(v *BatchGetAssetPropertyValueHistoryErrorInfo) *BatchGetAssetPropertyValueHistorySkippedEntry { - s.ErrorInfo = v +// SetAssetModelId sets the AssetModelId field's value. +func (s *CompositionRelationshipSummary) SetAssetModelId(v string) *CompositionRelationshipSummary { + s.AssetModelId = &v return s } -// Contains success information for an entry that is associated with the BatchGetAssetPropertyValueHistory -// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) -// API. -type BatchGetAssetPropertyValueHistorySuccessEntry struct { +// Contains the details of an IoT SiteWise configuration error. +type ConfigurationErrorDetails struct { _ struct{} `type:"structure"` - // The requested historical values for the specified asset property. + // The error code. // - // AssetPropertyValueHistory is a required field - AssetPropertyValueHistory []*AssetPropertyValue `locationName:"assetPropertyValueHistory" type:"list" required:"true"` + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"` - // The ID of the entry. + // The error message. // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` } // String returns the string representation. @@ -12360,7 +15439,7 @@ type BatchGetAssetPropertyValueHistorySuccessEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistorySuccessEntry) String() string { +func (s ConfigurationErrorDetails) String() string { return awsutil.Prettify(s) } @@ -12369,33 +15448,33 @@ func (s BatchGetAssetPropertyValueHistorySuccessEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueHistorySuccessEntry) GoString() string { +func (s ConfigurationErrorDetails) GoString() string { return s.String() } -// SetAssetPropertyValueHistory sets the AssetPropertyValueHistory field's value. -func (s *BatchGetAssetPropertyValueHistorySuccessEntry) SetAssetPropertyValueHistory(v []*AssetPropertyValue) *BatchGetAssetPropertyValueHistorySuccessEntry { - s.AssetPropertyValueHistory = v +// SetCode sets the Code field's value. +func (s *ConfigurationErrorDetails) SetCode(v string) *ConfigurationErrorDetails { + s.Code = &v return s } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueHistorySuccessEntry) SetEntryId(v string) *BatchGetAssetPropertyValueHistorySuccessEntry { - s.EntryId = &v +// SetMessage sets the Message field's value. +func (s *ConfigurationErrorDetails) SetMessage(v string) *ConfigurationErrorDetails { + s.Message = &v return s } -type BatchGetAssetPropertyValueInput struct { +// Contains current status information for the configuration. +type ConfigurationStatus struct { _ struct{} `type:"structure"` - // The list of asset property value entries for the batch get request. You can - // specify up to 128 entries per request. - // - // Entries is a required field - Entries []*BatchGetAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"` + // Contains associated error information, if any. + Error *ConfigurationErrorDetails `locationName:"error" type:"structure"` - // The token to be used for the next set of paginated results. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The current state of the configuration. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"ConfigurationState"` } // String returns the string representation. @@ -12403,7 +15482,7 @@ type BatchGetAssetPropertyValueInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueInput) String() string { +func (s ConfigurationStatus) String() string { return awsutil.Prettify(s) } @@ -12412,74 +15491,39 @@ func (s BatchGetAssetPropertyValueInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueInput) GoString() string { +func (s ConfigurationStatus) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetAssetPropertyValueInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetAssetPropertyValueInput"} - if s.Entries == nil { - invalidParams.Add(request.NewErrParamRequired("Entries")) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - if s.Entries != nil { - for i, v := range s.Entries { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetEntries sets the Entries field's value. -func (s *BatchGetAssetPropertyValueInput) SetEntries(v []*BatchGetAssetPropertyValueEntry) *BatchGetAssetPropertyValueInput { - s.Entries = v +// SetError sets the Error field's value. +func (s *ConfigurationStatus) SetError(v *ConfigurationErrorDetails) *ConfigurationStatus { + s.Error = v return s } -// SetNextToken sets the NextToken field's value. -func (s *BatchGetAssetPropertyValueInput) SetNextToken(v string) *BatchGetAssetPropertyValueInput { - s.NextToken = &v +// SetState sets the State field's value. +func (s *ConfigurationStatus) SetState(v string) *ConfigurationStatus { + s.State = &v return s } -type BatchGetAssetPropertyValueOutput struct { - _ struct{} `type:"structure"` - - // A list of the errors (if any) associated with the batch request. Each error - // entry contains the entryId of the entry that failed. - // - // ErrorEntries is a required field - ErrorEntries []*BatchGetAssetPropertyValueErrorEntry `locationName:"errorEntries" type:"list" required:"true"` +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time. +type ConflictingOperationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The token for the next set of results, or null if there are no additional - // results. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + Message_ *string `locationName:"message" type:"string"` - // A list of entries that were not processed by this batch request. because - // these entries had been completely processed by previous paginated requests. - // Each skipped entry contains the entryId of the entry that skipped. + // The ARN of the resource that conflicts with this operation. // - // SkippedEntries is a required field - SkippedEntries []*BatchGetAssetPropertyValueSkippedEntry `locationName:"skippedEntries" type:"list" required:"true"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` - // A list of entries that were processed successfully by this batch request. - // Each success entry contains the entryId of the entry that succeeded and the - // latest query result. + // The ID of the resource that conflicts with this operation. // - // SuccessEntries is a required field - SuccessEntries []*BatchGetAssetPropertyValueSuccessEntry `locationName:"successEntries" type:"list" required:"true"` + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` } // String returns the string representation. @@ -12487,7 +15531,7 @@ type BatchGetAssetPropertyValueOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueOutput) String() string { +func (s ConflictingOperationException) String() string { return awsutil.Prettify(s) } @@ -12496,54 +15540,78 @@ func (s BatchGetAssetPropertyValueOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueOutput) GoString() string { +func (s ConflictingOperationException) GoString() string { return s.String() } -// SetErrorEntries sets the ErrorEntries field's value. -func (s *BatchGetAssetPropertyValueOutput) SetErrorEntries(v []*BatchGetAssetPropertyValueErrorEntry) *BatchGetAssetPropertyValueOutput { - s.ErrorEntries = v - return s +func newErrorConflictingOperationException(v protocol.ResponseMetadata) error { + return &ConflictingOperationException{ + RespMetadata: v, + } } -// SetNextToken sets the NextToken field's value. -func (s *BatchGetAssetPropertyValueOutput) SetNextToken(v string) *BatchGetAssetPropertyValueOutput { - s.NextToken = &v - return s +// Code returns the exception type name. +func (s *ConflictingOperationException) Code() string { + return "ConflictingOperationException" } -// SetSkippedEntries sets the SkippedEntries field's value. -func (s *BatchGetAssetPropertyValueOutput) SetSkippedEntries(v []*BatchGetAssetPropertyValueSkippedEntry) *BatchGetAssetPropertyValueOutput { - s.SkippedEntries = v - return s +// Message returns the exception's message. +func (s *ConflictingOperationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetSuccessEntries sets the SuccessEntries field's value. -func (s *BatchGetAssetPropertyValueOutput) SetSuccessEntries(v []*BatchGetAssetPropertyValueSuccessEntry) *BatchGetAssetPropertyValueOutput { - s.SuccessEntries = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictingOperationException) OrigErr() error { + return nil } -// Contains information for an entry that has been processed by the previous -// BatchGetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) -// request. -type BatchGetAssetPropertyValueSkippedEntry struct { +func (s *ConflictingOperationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictingOperationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictingOperationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateAccessPolicyInput struct { _ struct{} `type:"structure"` - // The completion status of each entry that is associated with the BatchGetAssetPropertyValue - // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) - // request. + // The identity for this access policy. Choose an IAM Identity Center user, + // an IAM Identity Center group, or an IAM user. // - // CompletionStatus is a required field - CompletionStatus *string `locationName:"completionStatus" type:"string" required:"true" enum:"BatchEntryCompletionStatus"` + // AccessPolicyIdentity is a required field + AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"` - // The ID of the entry. + // The permission level for this access policy. Note that a project ADMINISTRATOR + // is also known as a project owner. // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + // AccessPolicyPermission is a required field + AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"` - // The error information, such as the error code and the timestamp. - ErrorInfo *BatchGetAssetPropertyValueErrorInfo `locationName:"errorInfo" type:"structure"` + // The IoT SiteWise Monitor resource for this access policy. Choose either a + // portal or a project. + // + // AccessPolicyResource is a required field + AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // A list of key-value pairs that contain metadata for the access policy. For + // more information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) + // in the IoT SiteWise User Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -12551,7 +15619,7 @@ type BatchGetAssetPropertyValueSkippedEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueSkippedEntry) String() string { +func (s CreateAccessPolicyInput) String() string { return awsutil.Prettify(s) } @@ -12560,41 +15628,90 @@ func (s BatchGetAssetPropertyValueSkippedEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueSkippedEntry) GoString() string { +func (s CreateAccessPolicyInput) GoString() string { return s.String() } -// SetCompletionStatus sets the CompletionStatus field's value. -func (s *BatchGetAssetPropertyValueSkippedEntry) SetCompletionStatus(v string) *BatchGetAssetPropertyValueSkippedEntry { - s.CompletionStatus = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAccessPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAccessPolicyInput"} + if s.AccessPolicyIdentity == nil { + invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity")) + } + if s.AccessPolicyPermission == nil { + invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission")) + } + if s.AccessPolicyResource == nil { + invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.AccessPolicyIdentity != nil { + if err := s.AccessPolicyIdentity.Validate(); err != nil { + invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams)) + } + } + if s.AccessPolicyResource != nil { + if err := s.AccessPolicyResource.Validate(); err != nil { + invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value. +func (s *CreateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *CreateAccessPolicyInput { + s.AccessPolicyIdentity = v return s } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueSkippedEntry) SetEntryId(v string) *BatchGetAssetPropertyValueSkippedEntry { - s.EntryId = &v +// SetAccessPolicyPermission sets the AccessPolicyPermission field's value. +func (s *CreateAccessPolicyInput) SetAccessPolicyPermission(v string) *CreateAccessPolicyInput { + s.AccessPolicyPermission = &v return s } -// SetErrorInfo sets the ErrorInfo field's value. -func (s *BatchGetAssetPropertyValueSkippedEntry) SetErrorInfo(v *BatchGetAssetPropertyValueErrorInfo) *BatchGetAssetPropertyValueSkippedEntry { - s.ErrorInfo = v +// SetAccessPolicyResource sets the AccessPolicyResource field's value. +func (s *CreateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *CreateAccessPolicyInput { + s.AccessPolicyResource = v return s } -// Contains success information for an entry that is associated with the BatchGetAssetPropertyValue -// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html) -// API. -type BatchGetAssetPropertyValueSuccessEntry struct { +// SetClientToken sets the ClientToken field's value. +func (s *CreateAccessPolicyInput) SetClientToken(v string) *CreateAccessPolicyInput { + s.ClientToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAccessPolicyInput) SetTags(v map[string]*string) *CreateAccessPolicyInput { + s.Tags = v + return s +} + +type CreateAccessPolicyOutput struct { _ struct{} `type:"structure"` - // Contains asset property value information. - AssetPropertyValue *AssetPropertyValue `locationName:"assetPropertyValue" type:"structure"` + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the access policy, which has the following format. + // + // arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId} + // + // AccessPolicyArn is a required field + AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"` - // The ID of the entry. + // The ID of the access policy. // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` + // AccessPolicyId is a required field + AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -12602,7 +15719,7 @@ type BatchGetAssetPropertyValueSuccessEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueSuccessEntry) String() string { +func (s CreateAccessPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -12611,40 +15728,63 @@ func (s BatchGetAssetPropertyValueSuccessEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetAssetPropertyValueSuccessEntry) GoString() string { +func (s CreateAccessPolicyOutput) GoString() string { return s.String() } -// SetAssetPropertyValue sets the AssetPropertyValue field's value. -func (s *BatchGetAssetPropertyValueSuccessEntry) SetAssetPropertyValue(v *AssetPropertyValue) *BatchGetAssetPropertyValueSuccessEntry { - s.AssetPropertyValue = v +// SetAccessPolicyArn sets the AccessPolicyArn field's value. +func (s *CreateAccessPolicyOutput) SetAccessPolicyArn(v string) *CreateAccessPolicyOutput { + s.AccessPolicyArn = &v return s } -// SetEntryId sets the EntryId field's value. -func (s *BatchGetAssetPropertyValueSuccessEntry) SetEntryId(v string) *BatchGetAssetPropertyValueSuccessEntry { - s.EntryId = &v +// SetAccessPolicyId sets the AccessPolicyId field's value. +func (s *CreateAccessPolicyOutput) SetAccessPolicyId(v string) *CreateAccessPolicyOutput { + s.AccessPolicyId = &v return s } -// Contains error information from updating a batch of asset property values. -type BatchPutAssetPropertyError struct { +type CreateAssetInput struct { _ struct{} `type:"structure"` - // The error code. + // A description for the asset. + AssetDescription *string `locationName:"assetDescription" min:"1" type:"string"` + + // An external ID to assign to the asset. The external ID must be unique within + // your Amazon Web Services account. For more information, see Using external + // IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + AssetExternalId *string `locationName:"assetExternalId" min:"2" type:"string"` + + // The ID to assign to the asset, 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. + AssetId *string `locationName:"assetId" min:"36" type:"string"` + + // The ID of the asset model from which to create 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchPutAssetPropertyValueErrorCode"` + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" min:"13" type:"string" required:"true"` - // The associated error message. + // A friendly name for the asset. // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"` + // AssetName is a required field + AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // A list of timestamps for each error, if any. - // - // Timestamps is a required field - Timestamps []*TimeInNanos `locationName:"timestamps" type:"list" required:"true"` + // A list of key-value pairs that contain metadata for the asset. For more information, + // see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) + // in the IoT SiteWise User Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -12652,7 +15792,7 @@ type BatchPutAssetPropertyError struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutAssetPropertyError) String() string { +func (s CreateAssetInput) String() string { return awsutil.Prettify(s) } @@ -12661,83 +15801,142 @@ func (s BatchPutAssetPropertyError) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutAssetPropertyError) GoString() string { +func (s CreateAssetInput) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchPutAssetPropertyError) SetErrorCode(v string) *BatchPutAssetPropertyError { - s.ErrorCode = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"} + if s.AssetDescription != nil && len(*s.AssetDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetDescription", 1)) + } + if s.AssetExternalId != nil && len(*s.AssetExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetExternalId", 2)) + } + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + } + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) + } + if s.AssetName == nil { + invalidParams.Add(request.NewErrParamRequired("AssetName")) + } + if s.AssetName != nil && len(*s.AssetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchPutAssetPropertyError) SetErrorMessage(v string) *BatchPutAssetPropertyError { - s.ErrorMessage = &v +// SetAssetDescription sets the AssetDescription field's value. +func (s *CreateAssetInput) SetAssetDescription(v string) *CreateAssetInput { + s.AssetDescription = &v return s } -// SetTimestamps sets the Timestamps field's value. -func (s *BatchPutAssetPropertyError) SetTimestamps(v []*TimeInNanos) *BatchPutAssetPropertyError { - s.Timestamps = v +// SetAssetExternalId sets the AssetExternalId field's value. +func (s *CreateAssetInput) SetAssetExternalId(v string) *CreateAssetInput { + s.AssetExternalId = &v return s } -// Contains error information for asset property value entries that are associated -// with the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) -// API. -type BatchPutAssetPropertyErrorEntry struct { - _ struct{} `type:"structure"` - - // The ID of the failed entry. - // - // EntryId is a required field - EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"` - - // The list of update property value errors. - // - // Errors is a required field - Errors []*BatchPutAssetPropertyError `locationName:"errors" type:"list" required:"true"` +// SetAssetId sets the AssetId field's value. +func (s *CreateAssetInput) SetAssetId(v string) *CreateAssetInput { + s.AssetId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutAssetPropertyErrorEntry) String() string { - return awsutil.Prettify(s) +// SetAssetModelId sets the AssetModelId field's value. +func (s *CreateAssetInput) SetAssetModelId(v string) *CreateAssetInput { + s.AssetModelId = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutAssetPropertyErrorEntry) GoString() string { - return s.String() +// SetAssetName sets the AssetName field's value. +func (s *CreateAssetInput) SetAssetName(v string) *CreateAssetInput { + s.AssetName = &v + return s } -// SetEntryId sets the EntryId field's value. -func (s *BatchPutAssetPropertyErrorEntry) SetEntryId(v string) *BatchPutAssetPropertyErrorEntry { - s.EntryId = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateAssetInput) SetClientToken(v string) *CreateAssetInput { + s.ClientToken = &v return s } -// SetErrors sets the Errors field's value. -func (s *BatchPutAssetPropertyErrorEntry) SetErrors(v []*BatchPutAssetPropertyError) *BatchPutAssetPropertyErrorEntry { - s.Errors = v +// SetTags sets the Tags field's value. +func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput { + s.Tags = v return s } -type BatchPutAssetPropertyValueInput struct { +type CreateAssetModelCompositeModelInput struct { _ struct{} `type:"structure"` - // The list of asset property value entries for the batch put request. You can - // specify up to 10 entries per request. + // A description for the composite model. + AssetModelCompositeModelDescription *string `locationName:"assetModelCompositeModelDescription" min:"1" type:"string"` + + // An external ID to assign to the composite model. // - // Entries is a required field - Entries []*PutAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"` + // If the composite model is a derived composite model, or one nested inside + // a component model, you can only set the external ID using UpdateAssetModelCompositeModel + // and specifying the derived ID of the model or property from the created model + // it's a part of. + AssetModelCompositeModelExternalId *string `locationName:"assetModelCompositeModelExternalId" min:"2" type:"string"` + + // The ID of the composite model. 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. + AssetModelCompositeModelId *string `locationName:"assetModelCompositeModelId" min:"36" type:"string"` + + // A unique, friendly name for the composite model. + // + // AssetModelCompositeModelName is a required field + AssetModelCompositeModelName *string `locationName:"assetModelCompositeModelName" min:"1" type:"string" required:"true"` + + // The property definitions of the composite model. For more information, see + // . + // + // You can specify up to 200 properties per composite model. For more information, + // see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) + // in the IoT SiteWise User Guide. + AssetModelCompositeModelProperties []*AssetModelPropertyDefinition `locationName:"assetModelCompositeModelProperties" type:"list"` + + // The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY. + // + // AssetModelCompositeModelType is a required field + AssetModelCompositeModelType *string `locationName:"assetModelCompositeModelType" min:"1" type:"string" required:"true"` + + // The ID of the asset model this composite model is a part of. + // + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // The ID of a composite model on this asset. + ComposedAssetModelId *string `locationName:"composedAssetModelId" min:"13" type:"string"` + + // The ID of the parent composite model in this asset model relationship. + ParentAssetModelCompositeModelId *string `locationName:"parentAssetModelCompositeModelId" min:"13" type:"string"` } // String returns the string representation. @@ -12745,7 +15944,7 @@ type BatchPutAssetPropertyValueInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutAssetPropertyValueInput) String() string { +func (s CreateAssetModelCompositeModelInput) String() string { return awsutil.Prettify(s) } @@ -12754,23 +15953,56 @@ func (s BatchPutAssetPropertyValueInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutAssetPropertyValueInput) GoString() string { +func (s CreateAssetModelCompositeModelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchPutAssetPropertyValueInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchPutAssetPropertyValueInput"} - if s.Entries == nil { - invalidParams.Add(request.NewErrParamRequired("Entries")) +func (s *CreateAssetModelCompositeModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssetModelCompositeModelInput"} + if s.AssetModelCompositeModelDescription != nil && len(*s.AssetModelCompositeModelDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelDescription", 1)) } - if s.Entries != nil { - for i, v := range s.Entries { + if s.AssetModelCompositeModelExternalId != nil && len(*s.AssetModelCompositeModelExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelExternalId", 2)) + } + if s.AssetModelCompositeModelId != nil && len(*s.AssetModelCompositeModelId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelId", 36)) + } + if s.AssetModelCompositeModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelCompositeModelName")) + } + if s.AssetModelCompositeModelName != nil && len(*s.AssetModelCompositeModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelName", 1)) + } + if s.AssetModelCompositeModelType == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelCompositeModelType")) + } + if s.AssetModelCompositeModelType != nil && len(*s.AssetModelCompositeModelType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelType", 1)) + } + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.ComposedAssetModelId != nil && len(*s.ComposedAssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("ComposedAssetModelId", 13)) + } + if s.ParentAssetModelCompositeModelId != nil && len(*s.ParentAssetModelCompositeModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("ParentAssetModelCompositeModelId", 13)) + } + if s.AssetModelCompositeModelProperties != nil { + for i, v := range s.AssetModelCompositeModelProperties { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModelProperties", i), err.(request.ErrInvalidParams)) } } } @@ -12781,20 +16013,86 @@ func (s *BatchPutAssetPropertyValueInput) Validate() error { return nil } -// SetEntries sets the Entries field's value. -func (s *BatchPutAssetPropertyValueInput) SetEntries(v []*PutAssetPropertyValueEntry) *BatchPutAssetPropertyValueInput { - s.Entries = v +// SetAssetModelCompositeModelDescription sets the AssetModelCompositeModelDescription field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelCompositeModelDescription(v string) *CreateAssetModelCompositeModelInput { + s.AssetModelCompositeModelDescription = &v return s } -type BatchPutAssetPropertyValueOutput struct { +// SetAssetModelCompositeModelExternalId sets the AssetModelCompositeModelExternalId field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelCompositeModelExternalId(v string) *CreateAssetModelCompositeModelInput { + s.AssetModelCompositeModelExternalId = &v + return s +} + +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelCompositeModelId(v string) *CreateAssetModelCompositeModelInput { + s.AssetModelCompositeModelId = &v + return s +} + +// SetAssetModelCompositeModelName sets the AssetModelCompositeModelName field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelCompositeModelName(v string) *CreateAssetModelCompositeModelInput { + s.AssetModelCompositeModelName = &v + return s +} + +// SetAssetModelCompositeModelProperties sets the AssetModelCompositeModelProperties field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelCompositeModelProperties(v []*AssetModelPropertyDefinition) *CreateAssetModelCompositeModelInput { + s.AssetModelCompositeModelProperties = v + return s +} + +// SetAssetModelCompositeModelType sets the AssetModelCompositeModelType field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelCompositeModelType(v string) *CreateAssetModelCompositeModelInput { + s.AssetModelCompositeModelType = &v + return s +} + +// SetAssetModelId sets the AssetModelId field's value. +func (s *CreateAssetModelCompositeModelInput) SetAssetModelId(v string) *CreateAssetModelCompositeModelInput { + s.AssetModelId = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateAssetModelCompositeModelInput) SetClientToken(v string) *CreateAssetModelCompositeModelInput { + s.ClientToken = &v + return s +} + +// SetComposedAssetModelId sets the ComposedAssetModelId field's value. +func (s *CreateAssetModelCompositeModelInput) SetComposedAssetModelId(v string) *CreateAssetModelCompositeModelInput { + s.ComposedAssetModelId = &v + return s +} + +// SetParentAssetModelCompositeModelId sets the ParentAssetModelCompositeModelId field's value. +func (s *CreateAssetModelCompositeModelInput) SetParentAssetModelCompositeModelId(v string) *CreateAssetModelCompositeModelInput { + s.ParentAssetModelCompositeModelId = &v + return s +} + +type CreateAssetModelCompositeModelOutput struct { _ struct{} `type:"structure"` - // A list of the errors (if any) associated with the batch put request. Each - // error entry contains the entryId of the entry that failed. + // The ID of the composed asset model. You can use this ID when you call other + // IoT SiteWise APIs. // - // ErrorEntries is a required field - ErrorEntries []*BatchPutAssetPropertyErrorEntry `locationName:"errorEntries" type:"list" required:"true"` + // AssetModelCompositeModelId is a required field + AssetModelCompositeModelId *string `locationName:"assetModelCompositeModelId" min:"36" type:"string" required:"true"` + + // The path to the composite model listing the parent composite models. + // + // AssetModelCompositeModelPath is a required field + AssetModelCompositeModelPath []*AssetModelCompositeModelPathSegment `locationName:"assetModelCompositeModelPath" type:"list" required:"true"` + + // Contains current status information for an asset model. For more information, + // see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) + // in the IoT SiteWise User Guide. + // + // AssetModelStatus is a required field + AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` } // String returns the string representation. @@ -12802,7 +16100,7 @@ type BatchPutAssetPropertyValueOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutAssetPropertyValueOutput) String() string { +func (s CreateAssetModelCompositeModelOutput) String() string { return awsutil.Prettify(s) } @@ -12811,37 +16109,100 @@ func (s BatchPutAssetPropertyValueOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutAssetPropertyValueOutput) GoString() string { +func (s CreateAssetModelCompositeModelOutput) GoString() string { return s.String() } -// SetErrorEntries sets the ErrorEntries field's value. -func (s *BatchPutAssetPropertyValueOutput) SetErrorEntries(v []*BatchPutAssetPropertyErrorEntry) *BatchPutAssetPropertyValueOutput { - s.ErrorEntries = v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *CreateAssetModelCompositeModelOutput) SetAssetModelCompositeModelId(v string) *CreateAssetModelCompositeModelOutput { + s.AssetModelCompositeModelId = &v return s } -// Contains information about a composite model property on an asset. -type CompositeModelProperty struct { +// SetAssetModelCompositeModelPath sets the AssetModelCompositeModelPath field's value. +func (s *CreateAssetModelCompositeModelOutput) SetAssetModelCompositeModelPath(v []*AssetModelCompositeModelPathSegment) *CreateAssetModelCompositeModelOutput { + s.AssetModelCompositeModelPath = v + return s +} + +// SetAssetModelStatus sets the AssetModelStatus field's value. +func (s *CreateAssetModelCompositeModelOutput) SetAssetModelStatus(v *AssetModelStatus) *CreateAssetModelCompositeModelOutput { + s.AssetModelStatus = v + return s +} + +type CreateAssetModelInput struct { _ struct{} `type:"structure"` - // Contains asset property information. + // The composite models that are part of this asset model. It groups properties + // (such as attributes, measurements, transforms, and metrics) and child composite + // models that model parts of your industrial equipment. Each composite model + // has a type that defines the properties that the composite model supports. + // Use composite models to define alarms on this asset model. // - // AssetProperty is a required field - AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"` + // When creating custom composite models, you need to use CreateAssetModelCompositeModel + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html). + // For more information, see . + AssetModelCompositeModels []*AssetModelCompositeModelDefinition `locationName:"assetModelCompositeModels" type:"list"` - // The ID of the composite model that contains the property. - Id *string `locationName:"id" min:"36" type:"string"` + // A description for the asset model. + AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"` - // The name of the property. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + AssetModelExternalId *string `locationName:"assetModelExternalId" min:"2" type:"string"` + + // The hierarchy definitions of the asset model. Each hierarchy specifies an + // asset model whose assets can be children of any other assets created from + // this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) + // in the IoT SiteWise User Guide. + // + // You can specify up to 10 hierarchies per asset model. For more information, + // see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) + // in the IoT SiteWise User Guide. + AssetModelHierarchies []*AssetModelHierarchyDefinition `locationName:"assetModelHierarchies" type:"list"` + + // 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. + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string"` + + // A unique, friendly name for the asset model. + // + // AssetModelName is a required field + AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"` + + // The property definitions of the asset model. For more information, see Asset + // properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html) + // in the IoT SiteWise User Guide. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // You can specify up to 200 properties per asset model. For more information, + // see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) + // in the IoT SiteWise User Guide. + AssetModelProperties []*AssetModelPropertyDefinition `locationName:"assetModelProperties" type:"list"` - // The type of the composite model that defines this property. + // The type of asset model. // - // Type is a required field - Type *string `locationName:"type" min:"1" type:"string" required:"true"` + // * 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. + AssetModelType *string `locationName:"assetModelType" type:"string" enum:"AssetModelType"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // A list of key-value pairs that contain metadata for the asset model. For + // more information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) + // in the IoT SiteWise User Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -12849,7 +16210,7 @@ type CompositeModelProperty struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CompositeModelProperty) String() string { +func (s CreateAssetModelInput) String() string { return awsutil.Prettify(s) } @@ -12858,90 +16219,153 @@ func (s CompositeModelProperty) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CompositeModelProperty) GoString() string { +func (s CreateAssetModelInput) GoString() string { return s.String() } -// SetAssetProperty sets the AssetProperty field's value. -func (s *CompositeModelProperty) SetAssetProperty(v *Property) *CompositeModelProperty { - s.AssetProperty = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssetModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssetModelInput"} + if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1)) + } + if s.AssetModelExternalId != nil && len(*s.AssetModelExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelExternalId", 2)) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + } + if s.AssetModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelName")) + } + if s.AssetModelName != nil && len(*s.AssetModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.AssetModelCompositeModels != nil { + for i, v := range s.AssetModelCompositeModels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams)) + } + } + } + if s.AssetModelHierarchies != nil { + for i, v := range s.AssetModelHierarchies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams)) + } + } + } + if s.AssetModelProperties != nil { + for i, v := range s.AssetModelProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *CompositeModelProperty) SetId(v string) *CompositeModelProperty { - s.Id = &v +// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value. +func (s *CreateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModelDefinition) *CreateAssetModelInput { + s.AssetModelCompositeModels = v return s } -// SetName sets the Name field's value. -func (s *CompositeModelProperty) SetName(v string) *CompositeModelProperty { - s.Name = &v +// SetAssetModelDescription sets the AssetModelDescription field's value. +func (s *CreateAssetModelInput) SetAssetModelDescription(v string) *CreateAssetModelInput { + s.AssetModelDescription = &v return s } -// SetType sets the Type field's value. -func (s *CompositeModelProperty) SetType(v string) *CompositeModelProperty { - s.Type = &v +// SetAssetModelExternalId sets the AssetModelExternalId field's value. +func (s *CreateAssetModelInput) SetAssetModelExternalId(v string) *CreateAssetModelInput { + s.AssetModelExternalId = &v return s } -// Contains the details of an IoT SiteWise configuration error. -type ConfigurationErrorDetails struct { - _ struct{} `type:"structure"` +// SetAssetModelHierarchies sets the AssetModelHierarchies field's value. +func (s *CreateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchyDefinition) *CreateAssetModelInput { + s.AssetModelHierarchies = v + return s +} - // The error code. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"` +// SetAssetModelId sets the AssetModelId field's value. +func (s *CreateAssetModelInput) SetAssetModelId(v string) *CreateAssetModelInput { + s.AssetModelId = &v + return s +} - // The error message. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` +// SetAssetModelName sets the AssetModelName field's value. +func (s *CreateAssetModelInput) SetAssetModelName(v string) *CreateAssetModelInput { + s.AssetModelName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ConfigurationErrorDetails) String() string { - return awsutil.Prettify(s) +// SetAssetModelProperties sets the AssetModelProperties field's value. +func (s *CreateAssetModelInput) SetAssetModelProperties(v []*AssetModelPropertyDefinition) *CreateAssetModelInput { + s.AssetModelProperties = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ConfigurationErrorDetails) GoString() string { - return s.String() +// SetAssetModelType sets the AssetModelType field's value. +func (s *CreateAssetModelInput) SetAssetModelType(v string) *CreateAssetModelInput { + s.AssetModelType = &v + return s } -// SetCode sets the Code field's value. -func (s *ConfigurationErrorDetails) SetCode(v string) *ConfigurationErrorDetails { - s.Code = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateAssetModelInput) SetClientToken(v string) *CreateAssetModelInput { + s.ClientToken = &v return s } -// SetMessage sets the Message field's value. -func (s *ConfigurationErrorDetails) SetMessage(v string) *ConfigurationErrorDetails { - s.Message = &v +// SetTags sets the Tags field's value. +func (s *CreateAssetModelInput) SetTags(v map[string]*string) *CreateAssetModelInput { + s.Tags = v return s } -// Contains current status information for the configuration. -type ConfigurationStatus struct { +type CreateAssetModelOutput struct { _ struct{} `type:"structure"` - // Contains associated error information, if any. - Error *ConfigurationErrorDetails `locationName:"error" type:"structure"` + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the asset model, which has the following format. + // + // arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} + // + // AssetModelArn is a required field + AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"` - // The current state of the configuration. + // The ID of the asset model, in UUID format. You can use this ID when you call + // other IoT SiteWise API operations. // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"ConfigurationState"` + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + + // The status of the asset model, which contains a state (CREATING after successfully + // calling this operation) and any error message. + // + // AssetModelStatus is a required field + AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` } // String returns the string representation. @@ -12949,7 +16373,7 @@ type ConfigurationStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfigurationStatus) String() string { +func (s CreateAssetModelOutput) String() string { return awsutil.Prettify(s) } @@ -12958,127 +16382,127 @@ func (s ConfigurationStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfigurationStatus) GoString() string { +func (s CreateAssetModelOutput) GoString() string { return s.String() } -// SetError sets the Error field's value. -func (s *ConfigurationStatus) SetError(v *ConfigurationErrorDetails) *ConfigurationStatus { - s.Error = v +// SetAssetModelArn sets the AssetModelArn field's value. +func (s *CreateAssetModelOutput) SetAssetModelArn(v string) *CreateAssetModelOutput { + s.AssetModelArn = &v return s } -// SetState sets the State field's value. -func (s *ConfigurationStatus) SetState(v string) *ConfigurationStatus { - s.State = &v +// SetAssetModelId sets the AssetModelId field's value. +func (s *CreateAssetModelOutput) SetAssetModelId(v string) *CreateAssetModelOutput { + s.AssetModelId = &v return s } -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time. -type ConflictingOperationException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetAssetModelStatus sets the AssetModelStatus field's value. +func (s *CreateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *CreateAssetModelOutput { + s.AssetModelStatus = v + return s +} - Message_ *string `locationName:"message" type:"string"` +type CreateAssetOutput struct { + _ struct{} `type:"structure"` - // The ARN of the resource that conflicts with this operation. + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the asset, which has the following format. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` - - // The ID of the resource that conflicts with this operation. + // arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" type:"string" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ConflictingOperationException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ConflictingOperationException) GoString() string { - return s.String() -} + // AssetArn is a required field + AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"` -func newErrorConflictingOperationException(v protocol.ResponseMetadata) error { - return &ConflictingOperationException{ - RespMetadata: v, - } -} + // The ID of the asset, in UUID format. This ID uniquely identifies the asset + // within IoT SiteWise and can be used with other IoT SiteWise API operations. + // + // AssetId is a required field + AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` -// Code returns the exception type name. -func (s *ConflictingOperationException) Code() string { - return "ConflictingOperationException" + // The status of the asset, which contains a state (CREATING after successfully + // calling this operation) and any error message. + // + // AssetStatus is a required field + AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"` } -// Message returns the exception's message. -func (s *ConflictingOperationException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAssetOutput) String() string { + return awsutil.Prettify(s) } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictingOperationException) OrigErr() error { - return nil +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAssetOutput) GoString() string { + return s.String() } -func (s *ConflictingOperationException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetAssetArn sets the AssetArn field's value. +func (s *CreateAssetOutput) SetAssetArn(v string) *CreateAssetOutput { + s.AssetArn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictingOperationException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAssetId sets the AssetId field's value. +func (s *CreateAssetOutput) SetAssetId(v string) *CreateAssetOutput { + s.AssetId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictingOperationException) RequestID() string { - return s.RespMetadata.RequestID +// SetAssetStatus sets the AssetStatus field's value. +func (s *CreateAssetOutput) SetAssetStatus(v *AssetStatus) *CreateAssetOutput { + s.AssetStatus = v + return s } -type CreateAccessPolicyInput struct { +type CreateBulkImportJobInput struct { _ struct{} `type:"structure"` - // The identity for this access policy. Choose an IAM Identity Center user, - // an IAM Identity Center group, or an IAM user. + // If set to true, ingest new data into IoT SiteWise storage. Measurements with + // notifications, metrics and transforms are computed. If set to false, historical + // data is ingested into IoT SiteWise as is. + AdaptiveIngestion *bool `locationName:"adaptiveIngestion" type:"boolean"` + + // If set to true, your data files is deleted from S3, after ingestion into + // IoT SiteWise storage. + DeleteFilesAfterImport *bool `locationName:"deleteFilesAfterImport" type:"boolean"` + + // The Amazon S3 destination where errors associated with the job creation request + // are saved. // - // AccessPolicyIdentity is a required field - AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"` + // ErrorReportLocation is a required field + ErrorReportLocation *ErrorReportLocation `locationName:"errorReportLocation" type:"structure" required:"true"` - // The permission level for this access policy. Note that a project ADMINISTRATOR - // is also known as a project owner. + // The files in the specified Amazon S3 bucket that contain your data. // - // AccessPolicyPermission is a required field - AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"` + // Files is a required field + Files []*File `locationName:"files" type:"list" required:"true"` - // The IoT SiteWise Monitor resource for this access policy. Choose either a - // portal or a project. + // Contains the configuration information of a job, such as the file format + // used to save data in Amazon S3. // - // AccessPolicyResource is a required field - AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"` + // JobConfiguration is a required field + JobConfiguration *JobConfiguration `locationName:"jobConfiguration" type:"structure" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The unique name that helps identify the job request. + // + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` - // A list of key-value pairs that contain metadata for the access policy. For - // more information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) - // in the IoT SiteWise User Guide. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the IAM role that allows IoT SiteWise to read Amazon S3 data. + // + // JobRoleArn is a required field + JobRoleArn *string `locationName:"jobRoleArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13086,7 +16510,7 @@ type CreateAccessPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAccessPolicyInput) String() string { +func (s CreateBulkImportJobInput) String() string { return awsutil.Prettify(s) } @@ -13095,36 +16519,52 @@ func (s CreateAccessPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAccessPolicyInput) GoString() string { +func (s CreateBulkImportJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAccessPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAccessPolicyInput"} - if s.AccessPolicyIdentity == nil { - invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity")) +func (s *CreateBulkImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBulkImportJobInput"} + if s.ErrorReportLocation == nil { + invalidParams.Add(request.NewErrParamRequired("ErrorReportLocation")) } - if s.AccessPolicyPermission == nil { - invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission")) + if s.Files == nil { + invalidParams.Add(request.NewErrParamRequired("Files")) } - if s.AccessPolicyResource == nil { - invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource")) + if s.JobConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("JobConfiguration")) } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) } - if s.AccessPolicyIdentity != nil { - if err := s.AccessPolicyIdentity.Validate(); err != nil { - invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams)) + if s.JobRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("JobRoleArn")) + } + if s.JobRoleArn != nil && len(*s.JobRoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobRoleArn", 1)) + } + if s.ErrorReportLocation != nil { + if err := s.ErrorReportLocation.Validate(); err != nil { + invalidParams.AddNested("ErrorReportLocation", err.(request.ErrInvalidParams)) } } - if s.AccessPolicyResource != nil { - if err := s.AccessPolicyResource.Validate(); err != nil { - invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams)) + if s.Files != nil { + for i, v := range s.Files { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Files", i), err.(request.ErrInvalidParams)) + } + } + } + if s.JobConfiguration != nil { + if err := s.JobConfiguration.Validate(); err != nil { + invalidParams.AddNested("JobConfiguration", err.(request.ErrInvalidParams)) } } @@ -13134,51 +16574,84 @@ func (s *CreateAccessPolicyInput) Validate() error { return nil } -// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value. -func (s *CreateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *CreateAccessPolicyInput { - s.AccessPolicyIdentity = v +// SetAdaptiveIngestion sets the AdaptiveIngestion field's value. +func (s *CreateBulkImportJobInput) SetAdaptiveIngestion(v bool) *CreateBulkImportJobInput { + s.AdaptiveIngestion = &v return s } -// SetAccessPolicyPermission sets the AccessPolicyPermission field's value. -func (s *CreateAccessPolicyInput) SetAccessPolicyPermission(v string) *CreateAccessPolicyInput { - s.AccessPolicyPermission = &v +// SetDeleteFilesAfterImport sets the DeleteFilesAfterImport field's value. +func (s *CreateBulkImportJobInput) SetDeleteFilesAfterImport(v bool) *CreateBulkImportJobInput { + s.DeleteFilesAfterImport = &v return s } -// SetAccessPolicyResource sets the AccessPolicyResource field's value. -func (s *CreateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *CreateAccessPolicyInput { - s.AccessPolicyResource = v +// SetErrorReportLocation sets the ErrorReportLocation field's value. +func (s *CreateBulkImportJobInput) SetErrorReportLocation(v *ErrorReportLocation) *CreateBulkImportJobInput { + s.ErrorReportLocation = v return s } -// SetClientToken sets the ClientToken field's value. -func (s *CreateAccessPolicyInput) SetClientToken(v string) *CreateAccessPolicyInput { - s.ClientToken = &v +// SetFiles sets the Files field's value. +func (s *CreateBulkImportJobInput) SetFiles(v []*File) *CreateBulkImportJobInput { + s.Files = v return s } -// SetTags sets the Tags field's value. -func (s *CreateAccessPolicyInput) SetTags(v map[string]*string) *CreateAccessPolicyInput { - s.Tags = v +// SetJobConfiguration sets the JobConfiguration field's value. +func (s *CreateBulkImportJobInput) SetJobConfiguration(v *JobConfiguration) *CreateBulkImportJobInput { + s.JobConfiguration = v return s } -type CreateAccessPolicyOutput struct { +// SetJobName sets the JobName field's value. +func (s *CreateBulkImportJobInput) SetJobName(v string) *CreateBulkImportJobInput { + s.JobName = &v + return s +} + +// SetJobRoleArn sets the JobRoleArn field's value. +func (s *CreateBulkImportJobInput) SetJobRoleArn(v string) *CreateBulkImportJobInput { + s.JobRoleArn = &v + return s +} + +type CreateBulkImportJobOutput struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the access policy, which has the following format. + // The ID of the job. // - // arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId} + // JobId is a required field + JobId *string `locationName:"jobId" min:"36" type:"string" required:"true"` + + // The unique name that helps identify the job request. // - // AccessPolicyArn is a required field - AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"` + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` - // The ID of the access policy. + // The status of the bulk import job can be one of following values: // - // AccessPolicyId is a required field - AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"` + // * PENDING – IoT SiteWise is waiting for the current bulk import job + // to finish. + // + // * CANCELLED – The bulk import job has been canceled. + // + // * RUNNING – IoT SiteWise is processing your request to import your data + // from Amazon S3. + // + // * COMPLETED – IoT SiteWise successfully completed your request to import + // data from Amazon S3. + // + // * FAILED – IoT SiteWise couldn't process your request to import data + // from Amazon S3. You can use logs saved in the specified error report location + // in Amazon S3 to troubleshoot issues. + // + // * COMPLETED_WITH_FAILURES – IoT SiteWise completed your request to import + // data from Amazon S3 with errors. You can use logs saved in the specified + // error report location in Amazon S3 to troubleshoot issues. + // + // JobStatus is a required field + JobStatus *string `locationName:"jobStatus" type:"string" required:"true" enum:"JobStatus"` } // String returns the string representation. @@ -13186,7 +16659,7 @@ type CreateAccessPolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAccessPolicyOutput) String() string { +func (s CreateBulkImportJobOutput) String() string { return awsutil.Prettify(s) } @@ -13195,45 +16668,58 @@ func (s CreateAccessPolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAccessPolicyOutput) GoString() string { +func (s CreateBulkImportJobOutput) GoString() string { return s.String() } -// SetAccessPolicyArn sets the AccessPolicyArn field's value. -func (s *CreateAccessPolicyOutput) SetAccessPolicyArn(v string) *CreateAccessPolicyOutput { - s.AccessPolicyArn = &v +// SetJobId sets the JobId field's value. +func (s *CreateBulkImportJobOutput) SetJobId(v string) *CreateBulkImportJobOutput { + s.JobId = &v return s } -// SetAccessPolicyId sets the AccessPolicyId field's value. -func (s *CreateAccessPolicyOutput) SetAccessPolicyId(v string) *CreateAccessPolicyOutput { - s.AccessPolicyId = &v +// SetJobName sets the JobName field's value. +func (s *CreateBulkImportJobOutput) SetJobName(v string) *CreateBulkImportJobOutput { + s.JobName = &v return s } -type CreateAssetInput struct { +// SetJobStatus sets the JobStatus field's value. +func (s *CreateBulkImportJobOutput) SetJobStatus(v string) *CreateBulkImportJobOutput { + s.JobStatus = &v + return s +} + +type CreateDashboardInput struct { _ struct{} `type:"structure"` - // A description for the asset. - AssetDescription *string `locationName:"assetDescription" min:"1" type:"string"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The ID of the asset model from which to create the asset. + // The dashboard definition specified in a JSON literal. For detailed information, + // see Creating dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html) + // in the IoT SiteWise User Guide. // - // AssetModelId is a required field - AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + // DashboardDefinition is a required field + DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"` + + // A description for the dashboard. + DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"` - // A friendly name for the asset. + // A friendly name for the dashboard. // - // AssetName is a required field - AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"` + // DashboardName is a required field + DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The ID of the project in which to create the dashboard. + // + // ProjectId is a required field + ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"` - // A list of key-value pairs that contain metadata for the asset. For more information, - // see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) + // A list of key-value pairs that contain metadata for the dashboard. For more + // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) // in the IoT SiteWise User Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -13243,7 +16729,7 @@ type CreateAssetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetInput) String() string { +func (s CreateDashboardInput) String() string { return awsutil.Prettify(s) } @@ -13252,30 +16738,33 @@ func (s CreateAssetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetInput) GoString() string { +func (s CreateDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAssetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"} - if s.AssetDescription != nil && len(*s.AssetDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetDescription", 1)) +func (s *CreateDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } - if s.AssetModelId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + if s.DashboardDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardDefinition")) } - if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1)) } - if s.AssetName == nil { - invalidParams.Add(request.NewErrParamRequired("AssetName")) + if s.DashboardName == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardName")) } - if s.AssetName != nil && len(*s.AssetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetName", 1)) + if s.DashboardName != nil && len(*s.DashboardName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1)) } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + if s.ProjectId != nil && len(*s.ProjectId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) @@ -13287,81 +16776,57 @@ func (s *CreateAssetInput) Validate() error { return nil } -// SetAssetDescription sets the AssetDescription field's value. -func (s *CreateAssetInput) SetAssetDescription(v string) *CreateAssetInput { - s.AssetDescription = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateDashboardInput) SetClientToken(v string) *CreateDashboardInput { + s.ClientToken = &v return s } -// SetAssetModelId sets the AssetModelId field's value. -func (s *CreateAssetInput) SetAssetModelId(v string) *CreateAssetInput { - s.AssetModelId = &v +// SetDashboardDefinition sets the DashboardDefinition field's value. +func (s *CreateDashboardInput) SetDashboardDefinition(v string) *CreateDashboardInput { + s.DashboardDefinition = &v return s } -// SetAssetName sets the AssetName field's value. -func (s *CreateAssetInput) SetAssetName(v string) *CreateAssetInput { - s.AssetName = &v +// SetDashboardDescription sets the DashboardDescription field's value. +func (s *CreateDashboardInput) SetDashboardDescription(v string) *CreateDashboardInput { + s.DashboardDescription = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *CreateAssetInput) SetClientToken(v string) *CreateAssetInput { - s.ClientToken = &v +// SetDashboardName sets the DashboardName field's value. +func (s *CreateDashboardInput) SetDashboardName(v string) *CreateDashboardInput { + s.DashboardName = &v + return s +} + +// SetProjectId sets the ProjectId field's value. +func (s *CreateDashboardInput) SetProjectId(v string) *CreateDashboardInput { + s.ProjectId = &v return s } // SetTags sets the Tags field's value. -func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput { +func (s *CreateDashboardInput) SetTags(v map[string]*string) *CreateDashboardInput { s.Tags = v return s } -type CreateAssetModelInput struct { +type CreateDashboardOutput struct { _ struct{} `type:"structure"` - // The composite asset models that are part of this asset model. Composite asset - // models are asset models that contain specific properties. Each composite - // model has a type that defines the properties that the composite model supports. - // Use composite asset models to define alarms on this asset model. - AssetModelCompositeModels []*AssetModelCompositeModelDefinition `locationName:"assetModelCompositeModels" type:"list"` - - // A description for the asset model. - AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"` - - // The hierarchy definitions of the asset model. Each hierarchy specifies an - // asset model whose assets can be children of any other assets created from - // this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) - // in the IoT SiteWise User Guide. + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the dashboard, which has the following format. // - // You can specify up to 10 hierarchies per asset model. For more information, - // see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) - // in the IoT SiteWise User Guide. - AssetModelHierarchies []*AssetModelHierarchyDefinition `locationName:"assetModelHierarchies" type:"list"` - - // A unique, friendly name for the asset model. + // arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId} // - // AssetModelName is a required field - AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"` + // DashboardArn is a required field + DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"` - // The property definitions of the asset model. For more information, see Asset - // properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html) - // in the IoT SiteWise User Guide. + // The ID of the dashboard. // - // You can specify up to 200 properties per asset model. For more information, - // see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) - // in the IoT SiteWise User Guide. - AssetModelProperties []*AssetModelPropertyDefinition `locationName:"assetModelProperties" type:"list"` - - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - - // A list of key-value pairs that contain metadata for the asset model. For - // more information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) - // in the IoT SiteWise User Guide. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // DashboardId is a required field + DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13369,7 +16834,7 @@ type CreateAssetModelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetModelInput) String() string { +func (s CreateDashboardOutput) String() string { return awsutil.Prettify(s) } @@ -13378,129 +16843,39 @@ func (s CreateAssetModelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetModelInput) GoString() string { +func (s CreateDashboardOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAssetModelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAssetModelInput"} - if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1)) - } - if s.AssetModelName == nil { - invalidParams.Add(request.NewErrParamRequired("AssetModelName")) - } - if s.AssetModelName != nil && len(*s.AssetModelName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.AssetModelCompositeModels != nil { - for i, v := range s.AssetModelCompositeModels { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams)) - } - } - } - if s.AssetModelHierarchies != nil { - for i, v := range s.AssetModelHierarchies { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams)) - } - } - } - if s.AssetModelProperties != nil { - for i, v := range s.AssetModelProperties { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value. -func (s *CreateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModelDefinition) *CreateAssetModelInput { - s.AssetModelCompositeModels = v - return s -} - -// SetAssetModelDescription sets the AssetModelDescription field's value. -func (s *CreateAssetModelInput) SetAssetModelDescription(v string) *CreateAssetModelInput { - s.AssetModelDescription = &v - return s -} - -// SetAssetModelHierarchies sets the AssetModelHierarchies field's value. -func (s *CreateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchyDefinition) *CreateAssetModelInput { - s.AssetModelHierarchies = v - return s -} - -// SetAssetModelName sets the AssetModelName field's value. -func (s *CreateAssetModelInput) SetAssetModelName(v string) *CreateAssetModelInput { - s.AssetModelName = &v - return s -} - -// SetAssetModelProperties sets the AssetModelProperties field's value. -func (s *CreateAssetModelInput) SetAssetModelProperties(v []*AssetModelPropertyDefinition) *CreateAssetModelInput { - s.AssetModelProperties = v - return s -} - -// SetClientToken sets the ClientToken field's value. -func (s *CreateAssetModelInput) SetClientToken(v string) *CreateAssetModelInput { - s.ClientToken = &v +// SetDashboardArn sets the DashboardArn field's value. +func (s *CreateDashboardOutput) SetDashboardArn(v string) *CreateDashboardOutput { + s.DashboardArn = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateAssetModelInput) SetTags(v map[string]*string) *CreateAssetModelInput { - s.Tags = v +// SetDashboardId sets the DashboardId field's value. +func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput { + s.DashboardId = &v return s } -type CreateAssetModelOutput struct { +type CreateGatewayInput struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the asset model, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} + // A unique, friendly name for the gateway. // - // AssetModelArn is a required field - AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"` + // GatewayName is a required field + GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"` - // The ID of the asset model. You can use this ID when you call other IoT SiteWise - // APIs. + // The gateway's platform. You can only specify one platform in a gateway. // - // AssetModelId is a required field - AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + // GatewayPlatform is a required field + GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure" required:"true"` - // The status of the asset model, which contains a state (CREATING after successfully - // calling this operation) and any error message. - // - // AssetModelStatus is a required field - AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` + // A list of key-value pairs that contain metadata for the gateway. For more + // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) + // in the IoT SiteWise User Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -13508,7 +16883,7 @@ type CreateAssetModelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetModelOutput) String() string { +func (s CreateGatewayInput) String() string { return awsutil.Prettify(s) } @@ -13517,50 +16892,71 @@ func (s CreateAssetModelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetModelOutput) GoString() string { +func (s CreateGatewayInput) GoString() string { return s.String() } -// SetAssetModelArn sets the AssetModelArn field's value. -func (s *CreateAssetModelOutput) SetAssetModelArn(v string) *CreateAssetModelOutput { - s.AssetModelArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGatewayInput"} + if s.GatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayName")) + } + if s.GatewayName != nil && len(*s.GatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1)) + } + if s.GatewayPlatform == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayPlatform")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.GatewayPlatform != nil { + if err := s.GatewayPlatform.Validate(); err != nil { + invalidParams.AddNested("GatewayPlatform", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayName sets the GatewayName field's value. +func (s *CreateGatewayInput) SetGatewayName(v string) *CreateGatewayInput { + s.GatewayName = &v return s } -// SetAssetModelId sets the AssetModelId field's value. -func (s *CreateAssetModelOutput) SetAssetModelId(v string) *CreateAssetModelOutput { - s.AssetModelId = &v +// SetGatewayPlatform sets the GatewayPlatform field's value. +func (s *CreateGatewayInput) SetGatewayPlatform(v *GatewayPlatform) *CreateGatewayInput { + s.GatewayPlatform = v return s } -// SetAssetModelStatus sets the AssetModelStatus field's value. -func (s *CreateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *CreateAssetModelOutput { - s.AssetModelStatus = v +// SetTags sets the Tags field's value. +func (s *CreateGatewayInput) SetTags(v map[string]*string) *CreateGatewayInput { + s.Tags = v return s } -type CreateAssetOutput struct { +type CreateGatewayOutput struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the asset, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} + // of the gateway, which has the following format. // - // AssetArn is a required field - AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"` - - // The ID of the asset. This ID uniquely identifies the asset within IoT SiteWise - // and can be used with other IoT SiteWise APIs. + // arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} // - // AssetId is a required field - AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` + // GatewayArn is a required field + GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"` - // The status of the asset, which contains a state (CREATING after successfully - // calling this operation) and any error message. + // The ID of the gateway device. You can use this ID when you call other IoT + // SiteWise API operations. // - // AssetStatus is a required field - AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"` + // GatewayId is a required field + GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13568,7 +16964,7 @@ type CreateAssetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetOutput) String() string { +func (s CreateGatewayOutput) String() string { return awsutil.Prettify(s) } @@ -13577,58 +16973,92 @@ func (s CreateAssetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAssetOutput) GoString() string { +func (s CreateGatewayOutput) GoString() string { return s.String() } -// SetAssetArn sets the AssetArn field's value. -func (s *CreateAssetOutput) SetAssetArn(v string) *CreateAssetOutput { - s.AssetArn = &v - return s -} - -// SetAssetId sets the AssetId field's value. -func (s *CreateAssetOutput) SetAssetId(v string) *CreateAssetOutput { - s.AssetId = &v +// SetGatewayArn sets the GatewayArn field's value. +func (s *CreateGatewayOutput) SetGatewayArn(v string) *CreateGatewayOutput { + s.GatewayArn = &v return s } -// SetAssetStatus sets the AssetStatus field's value. -func (s *CreateAssetOutput) SetAssetStatus(v *AssetStatus) *CreateAssetOutput { - s.AssetStatus = v +// SetGatewayId sets the GatewayId field's value. +func (s *CreateGatewayOutput) SetGatewayId(v string) *CreateGatewayOutput { + s.GatewayId = &v return s } -type CreateBulkImportJobInput struct { +type CreatePortalInput struct { _ struct{} `type:"structure"` - // The Amazon S3 destination where errors associated with the job creation request - // are saved. + // Contains the configuration information of an alarm created in an IoT SiteWise + // Monitor portal. You can use the alarm to monitor an asset property and get + // notified when the asset property value is outside a specified range. For + // more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html) + // in the IoT SiteWise Application Guide. + Alarms *Alarms `locationName:"alarms" type:"structure"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // The email address that sends alarm notifications. // - // ErrorReportLocation is a required field - ErrorReportLocation *ErrorReportLocation `locationName:"errorReportLocation" type:"structure" required:"true"` + // If you use the IoT Events managed Lambda function (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) + // to manage your emails, you must verify the sender email address in Amazon + // SES (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html). + NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"` - // The files in the specified Amazon S3 bucket that contain your data. + // The service to use to authenticate users to the portal. Choose from the following + // options: // - // Files is a required field - Files []*File `locationName:"files" type:"list" required:"true"` + // * SSO – The portal uses IAM Identity Center to authenticate users and + // manage user permissions. Before you can create a portal that uses IAM + // Identity Center, you must enable IAM Identity Center. For more information, + // see Enabling IAM Identity Center (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso) + // in the IoT SiteWise User Guide. This option is only available in Amazon + // Web Services Regions other than the China Regions. + // + // * IAM – The portal uses Identity and Access Management to authenticate + // users and manage user permissions. + // + // You can't change this value after you create a portal. + // + // Default: SSO + PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"` - // Contains the configuration information of a job, such as the file format - // used to save data in Amazon S3. + // The Amazon Web Services administrator's contact email address. // - // JobConfiguration is a required field - JobConfiguration *JobConfiguration `locationName:"jobConfiguration" type:"structure" required:"true"` + // PortalContactEmail is a required field + PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"` - // The unique name that helps identify the job request. + // A description for the portal. + PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"` + + // A logo image to display in the portal. Upload a square, high-resolution image. + // The image is displayed on a dark background. + PortalLogoImageFile *ImageFile `locationName:"portalLogoImageFile" type:"structure"` + + // A friendly name for the portal. // - // JobName is a required field - JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + // PortalName is a required field + PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the IAM role that allows IoT SiteWise to read Amazon S3 data. + // of a service role that allows the portal's users to access your IoT SiteWise + // resources on your behalf. For more information, see Using service roles for + // IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html) + // in the IoT SiteWise User Guide. // - // JobRoleArn is a required field - JobRoleArn *string `locationName:"jobRoleArn" min:"1" type:"string" required:"true"` + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + + // A list of key-value pairs that contain metadata for the portal. For more + // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) + // in the IoT SiteWise User Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -13636,7 +17066,7 @@ type CreateBulkImportJobInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateBulkImportJobInput) String() string { +func (s CreatePortalInput) String() string { return awsutil.Prettify(s) } @@ -13645,127 +17075,155 @@ func (s CreateBulkImportJobInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateBulkImportJobInput) GoString() string { +func (s CreatePortalInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateBulkImportJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateBulkImportJobInput"} - if s.ErrorReportLocation == nil { - invalidParams.Add(request.NewErrParamRequired("ErrorReportLocation")) +func (s *CreatePortalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePortalInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } - if s.Files == nil { - invalidParams.Add(request.NewErrParamRequired("Files")) + if s.NotificationSenderEmail != nil && len(*s.NotificationSenderEmail) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationSenderEmail", 1)) } - if s.JobConfiguration == nil { - invalidParams.Add(request.NewErrParamRequired("JobConfiguration")) + if s.PortalContactEmail == nil { + invalidParams.Add(request.NewErrParamRequired("PortalContactEmail")) } - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) + if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1)) } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + if s.PortalDescription != nil && len(*s.PortalDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1)) } - if s.JobRoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("JobRoleArn")) + if s.PortalName == nil { + invalidParams.Add(request.NewErrParamRequired("PortalName")) } - if s.JobRoleArn != nil && len(*s.JobRoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobRoleArn", 1)) + if s.PortalName != nil && len(*s.PortalName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortalName", 1)) } - if s.ErrorReportLocation != nil { - if err := s.ErrorReportLocation.Validate(); err != nil { - invalidParams.AddNested("ErrorReportLocation", err.(request.ErrInvalidParams)) - } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) } - if s.Files != nil { - for i, v := range s.Files { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Files", i), err.(request.ErrInvalidParams)) - } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Alarms != nil { + if err := s.Alarms.Validate(); err != nil { + invalidParams.AddNested("Alarms", err.(request.ErrInvalidParams)) } } - if s.JobConfiguration != nil { - if err := s.JobConfiguration.Validate(); err != nil { - invalidParams.AddNested("JobConfiguration", err.(request.ErrInvalidParams)) + if s.PortalLogoImageFile != nil { + if err := s.PortalLogoImageFile.Validate(); err != nil { + invalidParams.AddNested("PortalLogoImageFile", err.(request.ErrInvalidParams)) } } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarms sets the Alarms field's value. +func (s *CreatePortalInput) SetAlarms(v *Alarms) *CreatePortalInput { + s.Alarms = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput { + s.ClientToken = &v + return s +} + +// SetNotificationSenderEmail sets the NotificationSenderEmail field's value. +func (s *CreatePortalInput) SetNotificationSenderEmail(v string) *CreatePortalInput { + s.NotificationSenderEmail = &v + return s +} + +// SetPortalAuthMode sets the PortalAuthMode field's value. +func (s *CreatePortalInput) SetPortalAuthMode(v string) *CreatePortalInput { + s.PortalAuthMode = &v + return s +} + +// SetPortalContactEmail sets the PortalContactEmail field's value. +func (s *CreatePortalInput) SetPortalContactEmail(v string) *CreatePortalInput { + s.PortalContactEmail = &v + return s } -// SetErrorReportLocation sets the ErrorReportLocation field's value. -func (s *CreateBulkImportJobInput) SetErrorReportLocation(v *ErrorReportLocation) *CreateBulkImportJobInput { - s.ErrorReportLocation = v +// SetPortalDescription sets the PortalDescription field's value. +func (s *CreatePortalInput) SetPortalDescription(v string) *CreatePortalInput { + s.PortalDescription = &v return s } -// SetFiles sets the Files field's value. -func (s *CreateBulkImportJobInput) SetFiles(v []*File) *CreateBulkImportJobInput { - s.Files = v +// SetPortalLogoImageFile sets the PortalLogoImageFile field's value. +func (s *CreatePortalInput) SetPortalLogoImageFile(v *ImageFile) *CreatePortalInput { + s.PortalLogoImageFile = v return s } -// SetJobConfiguration sets the JobConfiguration field's value. -func (s *CreateBulkImportJobInput) SetJobConfiguration(v *JobConfiguration) *CreateBulkImportJobInput { - s.JobConfiguration = v +// SetPortalName sets the PortalName field's value. +func (s *CreatePortalInput) SetPortalName(v string) *CreatePortalInput { + s.PortalName = &v return s } -// SetJobName sets the JobName field's value. -func (s *CreateBulkImportJobInput) SetJobName(v string) *CreateBulkImportJobInput { - s.JobName = &v +// SetRoleArn sets the RoleArn field's value. +func (s *CreatePortalInput) SetRoleArn(v string) *CreatePortalInput { + s.RoleArn = &v return s } -// SetJobRoleArn sets the JobRoleArn field's value. -func (s *CreateBulkImportJobInput) SetJobRoleArn(v string) *CreateBulkImportJobInput { - s.JobRoleArn = &v +// SetTags sets the Tags field's value. +func (s *CreatePortalInput) SetTags(v map[string]*string) *CreatePortalInput { + s.Tags = v return s } -type CreateBulkImportJobOutput struct { +type CreatePortalOutput struct { _ struct{} `type:"structure"` - // The ID of the job. + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the portal, which has the following format. // - // JobId is a required field - JobId *string `locationName:"jobId" min:"36" type:"string" required:"true"` - - // The unique name that helps identify the job request. + // arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId} // - // JobName is a required field - JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"` - // The status of the bulk import job can be one of following values. - // - // * PENDING – IoT SiteWise is waiting for the current bulk import job - // to finish. - // - // * CANCELLED – The bulk import job has been canceled. - // - // * RUNNING – IoT SiteWise is processing your request to import your data - // from Amazon S3. + // The ID of the created portal. // - // * COMPLETED – IoT SiteWise successfully completed your request to import - // data from Amazon S3. + // PortalId is a required field + PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"` + + // The URL for the IoT SiteWise Monitor portal. You can use this URL to access + // portals that use IAM Identity Center for authentication. For portals that + // use IAM for authentication, you must use the IoT SiteWise console to get + // a URL that you can use to access the portal. // - // * FAILED – IoT SiteWise couldn't process your request to import data - // from Amazon S3. You can use logs saved in the specified error report location - // in Amazon S3 to troubleshoot issues. + // PortalStartUrl is a required field + PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"` + + // The status of the portal, which contains a state (CREATING after successfully + // calling this operation) and any error message. // - // * COMPLETED_WITH_FAILURES – IoT SiteWise completed your request to import - // data from Amazon S3 with errors. You can use logs saved in the specified - // error report location in Amazon S3 to troubleshoot issues. + // PortalStatus is a required field + PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"` + + // The associated IAM Identity Center application ID, if the portal uses IAM + // Identity Center. // - // JobStatus is a required field - JobStatus *string `locationName:"jobStatus" type:"string" required:"true" enum:"JobStatus"` + // SsoApplicationId is a required field + SsoApplicationId *string `locationName:"ssoApplicationId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13773,7 +17231,7 @@ type CreateBulkImportJobOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateBulkImportJobOutput) String() string { +func (s CreatePortalOutput) String() string { return awsutil.Prettify(s) } @@ -13782,29 +17240,41 @@ func (s CreateBulkImportJobOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateBulkImportJobOutput) GoString() string { +func (s CreatePortalOutput) GoString() string { return s.String() } -// SetJobId sets the JobId field's value. -func (s *CreateBulkImportJobOutput) SetJobId(v string) *CreateBulkImportJobOutput { - s.JobId = &v +// SetPortalArn sets the PortalArn field's value. +func (s *CreatePortalOutput) SetPortalArn(v string) *CreatePortalOutput { + s.PortalArn = &v return s } -// SetJobName sets the JobName field's value. -func (s *CreateBulkImportJobOutput) SetJobName(v string) *CreateBulkImportJobOutput { - s.JobName = &v +// SetPortalId sets the PortalId field's value. +func (s *CreatePortalOutput) SetPortalId(v string) *CreatePortalOutput { + s.PortalId = &v return s } -// SetJobStatus sets the JobStatus field's value. -func (s *CreateBulkImportJobOutput) SetJobStatus(v string) *CreateBulkImportJobOutput { - s.JobStatus = &v +// SetPortalStartUrl sets the PortalStartUrl field's value. +func (s *CreatePortalOutput) SetPortalStartUrl(v string) *CreatePortalOutput { + s.PortalStartUrl = &v return s } -type CreateDashboardInput struct { +// SetPortalStatus sets the PortalStatus field's value. +func (s *CreatePortalOutput) SetPortalStatus(v *PortalStatus) *CreatePortalOutput { + s.PortalStatus = v + return s +} + +// SetSsoApplicationId sets the SsoApplicationId field's value. +func (s *CreatePortalOutput) SetSsoApplicationId(v string) *CreatePortalOutput { + s.SsoApplicationId = &v + return s +} + +type CreateProjectInput struct { _ struct{} `type:"structure"` // A unique case-sensitive identifier that you can provide to ensure the idempotency @@ -13812,27 +17282,20 @@ type CreateDashboardInput struct { // is required. ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The dashboard definition specified in a JSON literal. For detailed information, - // see Creating dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html) - // in the IoT SiteWise User Guide. + // The ID of the portal in which to create the project. // - // DashboardDefinition is a required field - DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"` - - // A description for the dashboard. - DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"` + // PortalId is a required field + PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"` - // A friendly name for the dashboard. - // - // DashboardName is a required field - DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"` + // A description for the project. + ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"` - // The ID of the project in which to create the dashboard. + // A friendly name for the project. // - // ProjectId is a required field - ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"` + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` - // A list of key-value pairs that contain metadata for the dashboard. For more + // A list of key-value pairs that contain metadata for the project. For more // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) // in the IoT SiteWise User Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` @@ -13843,7 +17306,7 @@ type CreateDashboardInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDashboardInput) String() string { +func (s CreateProjectInput) String() string { return awsutil.Prettify(s) } @@ -13852,33 +17315,30 @@ func (s CreateDashboardInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDashboardInput) GoString() string { +func (s CreateProjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"} +func (s *CreateProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } - if s.DashboardDefinition == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardDefinition")) - } - if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1)) + if s.PortalId == nil { + invalidParams.Add(request.NewErrParamRequired("PortalId")) } - if s.DashboardName == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardName")) + if s.PortalId != nil && len(*s.PortalId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PortalId", 36)) } - if s.DashboardName != nil && len(*s.DashboardName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1)) + if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1)) } - if s.ProjectId == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectId")) + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) } - if s.ProjectId != nil && len(*s.ProjectId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) @@ -13891,56 +17351,90 @@ func (s *CreateDashboardInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *CreateDashboardInput) SetClientToken(v string) *CreateDashboardInput { +func (s *CreateProjectInput) SetClientToken(v string) *CreateProjectInput { s.ClientToken = &v return s } -// SetDashboardDefinition sets the DashboardDefinition field's value. -func (s *CreateDashboardInput) SetDashboardDefinition(v string) *CreateDashboardInput { - s.DashboardDefinition = &v +// SetPortalId sets the PortalId field's value. +func (s *CreateProjectInput) SetPortalId(v string) *CreateProjectInput { + s.PortalId = &v return s } -// SetDashboardDescription sets the DashboardDescription field's value. -func (s *CreateDashboardInput) SetDashboardDescription(v string) *CreateDashboardInput { - s.DashboardDescription = &v +// SetProjectDescription sets the ProjectDescription field's value. +func (s *CreateProjectInput) SetProjectDescription(v string) *CreateProjectInput { + s.ProjectDescription = &v return s } -// SetDashboardName sets the DashboardName field's value. -func (s *CreateDashboardInput) SetDashboardName(v string) *CreateDashboardInput { - s.DashboardName = &v +// SetProjectName sets the ProjectName field's value. +func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput { + s.ProjectName = &v return s } -// SetProjectId sets the ProjectId field's value. -func (s *CreateDashboardInput) SetProjectId(v string) *CreateDashboardInput { - s.ProjectId = &v +// SetTags sets the Tags field's value. +func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput { + s.Tags = v return s } -// SetTags sets the Tags field's value. -func (s *CreateDashboardInput) SetTags(v map[string]*string) *CreateDashboardInput { - s.Tags = v +type CreateProjectOutput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the project, which has the following format. + // + // arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId} + // + // ProjectArn is a required field + ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"` + + // The ID of the project. + // + // ProjectId is a required field + ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProjectOutput) GoString() string { + return s.String() +} + +// SetProjectArn sets the ProjectArn field's value. +func (s *CreateProjectOutput) SetProjectArn(v string) *CreateProjectOutput { + s.ProjectArn = &v + return s +} + +// SetProjectId sets the ProjectId field's value. +func (s *CreateProjectOutput) SetProjectId(v string) *CreateProjectOutput { + s.ProjectId = &v return s } -type CreateDashboardOutput struct { +// A .CSV file. +type Csv struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the dashboard, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId} - // - // DashboardArn is a required field - DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"` - - // The ID of the dashboard. + // The column names specified in the .csv file. // - // DashboardId is a required field - DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"` + // ColumnNames is a required field + ColumnNames []*string `locationName:"columnNames" type:"list" required:"true" enum:"ColumnName"` } // String returns the string representation. @@ -13948,7 +17442,7 @@ type CreateDashboardOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDashboardOutput) String() string { +func (s Csv) String() string { return awsutil.Prettify(s) } @@ -13957,39 +17451,47 @@ func (s CreateDashboardOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDashboardOutput) GoString() string { +func (s Csv) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *CreateDashboardOutput) SetDashboardArn(v string) *CreateDashboardOutput { - s.DashboardArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *Csv) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Csv"} + if s.ColumnNames == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDashboardId sets the DashboardId field's value. -func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput { - s.DashboardId = &v +// SetColumnNames sets the ColumnNames field's value. +func (s *Csv) SetColumnNames(v []*string) *Csv { + s.ColumnNames = v return s } -type CreateGatewayInput struct { +// Contains information about a customer managed Amazon S3 bucket. +type CustomerManagedS3Storage struct { _ struct{} `type:"structure"` - // A unique, friendly name for the gateway. + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the Identity and Access Management role that allows IoT SiteWise to send + // data to Amazon S3. // - // GatewayName is a required field - GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"` + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` - // The gateway's platform. You can only specify one platform in a gateway. + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the Amazon S3 object. For more information about how to find the ARN for + // an Amazon S3 object, see Amazon S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html) + // in the Amazon Simple Storage Service User Guide. // - // GatewayPlatform is a required field - GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure" required:"true"` - - // A list of key-value pairs that contain metadata for the gateway. For more - // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) - // in the IoT SiteWise User Guide. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // S3ResourceArn is a required field + S3ResourceArn *string `locationName:"s3ResourceArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13997,7 +17499,7 @@ type CreateGatewayInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateGatewayInput) String() string { +func (s CustomerManagedS3Storage) String() string { return awsutil.Prettify(s) } @@ -14006,29 +17508,24 @@ func (s CreateGatewayInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateGatewayInput) GoString() string { +func (s CustomerManagedS3Storage) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateGatewayInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateGatewayInput"} - if s.GatewayName == nil { - invalidParams.Add(request.NewErrParamRequired("GatewayName")) - } - if s.GatewayName != nil && len(*s.GatewayName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1)) +func (s *CustomerManagedS3Storage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomerManagedS3Storage"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) } - if s.GatewayPlatform == nil { - invalidParams.Add(request.NewErrParamRequired("GatewayPlatform")) + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.S3ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("S3ResourceArn")) } - if s.GatewayPlatform != nil { - if err := s.GatewayPlatform.Validate(); err != nil { - invalidParams.AddNested("GatewayPlatform", err.(request.ErrInvalidParams)) - } + if s.S3ResourceArn != nil && len(*s.S3ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -14037,40 +17534,40 @@ func (s *CreateGatewayInput) Validate() error { return nil } -// SetGatewayName sets the GatewayName field's value. -func (s *CreateGatewayInput) SetGatewayName(v string) *CreateGatewayInput { - s.GatewayName = &v - return s -} - -// SetGatewayPlatform sets the GatewayPlatform field's value. -func (s *CreateGatewayInput) SetGatewayPlatform(v *GatewayPlatform) *CreateGatewayInput { - s.GatewayPlatform = v +// SetRoleArn sets the RoleArn field's value. +func (s *CustomerManagedS3Storage) SetRoleArn(v string) *CustomerManagedS3Storage { + s.RoleArn = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateGatewayInput) SetTags(v map[string]*string) *CreateGatewayInput { - s.Tags = v +// SetS3ResourceArn sets the S3ResourceArn field's value. +func (s *CustomerManagedS3Storage) SetS3ResourceArn(v string) *CustomerManagedS3Storage { + s.S3ResourceArn = &v return s } -type CreateGatewayOutput struct { +// Contains a dashboard summary. +type DashboardSummary struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the gateway, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} + // The date the dashboard was created, in Unix epoch time. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The dashboard's description. + Description *string `locationName:"description" min:"1" type:"string"` + + // The ID of the dashboard. // - // GatewayArn is a required field - GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The ID of the gateway device. You can use this ID when you call other IoT - // SiteWise APIs. + // The date the dashboard was last updated, in Unix epoch time. + LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"` + + // The name of the dashboard // - // GatewayId is a required field - GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -14078,7 +17575,7 @@ type CreateGatewayOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateGatewayOutput) String() string { +func (s DashboardSummary) String() string { return awsutil.Prettify(s) } @@ -14087,92 +17584,112 @@ func (s CreateGatewayOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateGatewayOutput) GoString() string { +func (s DashboardSummary) GoString() string { return s.String() } -// SetGatewayArn sets the GatewayArn field's value. -func (s *CreateGatewayOutput) SetGatewayArn(v string) *CreateGatewayOutput { - s.GatewayArn = &v +// SetCreationDate sets the CreationDate field's value. +func (s *DashboardSummary) SetCreationDate(v time.Time) *DashboardSummary { + s.CreationDate = &v return s } -// SetGatewayId sets the GatewayId field's value. -func (s *CreateGatewayOutput) SetGatewayId(v string) *CreateGatewayOutput { - s.GatewayId = &v +// SetDescription sets the Description field's value. +func (s *DashboardSummary) SetDescription(v string) *DashboardSummary { + s.Description = &v return s } -type CreatePortalInput struct { +// SetId sets the Id field's value. +func (s *DashboardSummary) SetId(v string) *DashboardSummary { + s.Id = &v + return s +} + +// SetLastUpdateDate sets the LastUpdateDate field's value. +func (s *DashboardSummary) SetLastUpdateDate(v time.Time) *DashboardSummary { + s.LastUpdateDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *DashboardSummary) SetName(v string) *DashboardSummary { + s.Name = &v + return s +} + +// Represents a single data point in a query result. +type Datum struct { _ struct{} `type:"structure"` - // Contains the configuration information of an alarm created in an IoT SiteWise - // Monitor portal. You can use the alarm to monitor an asset property and get - // notified when the asset property value is outside a specified range. For - // more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html) - // in the IoT SiteWise Application Guide. - Alarms *Alarms `locationName:"alarms" type:"structure"` + // Indicates if the data point is an array. + ArrayValue []*Datum `locationName:"arrayValue" type:"list"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // Indicates if the data point is null. + NullValue *bool `locationName:"nullValue" type:"boolean"` - // The email address that sends alarm notifications. - // - // If you use the IoT Events managed Lambda function (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) - // to manage your emails, you must verify the sender email address in Amazon - // SES (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html). - NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"` + // Indicates if the data point is a row. + RowValue *Row `locationName:"rowValue" type:"structure"` - // The service to use to authenticate users to the portal. Choose from the following - // options: - // - // * SSO – The portal uses IAM Identity Center (successor to Single Sign-On) - // to authenticate users and manage user permissions. Before you can create - // a portal that uses IAM Identity Center, you must enable IAM Identity Center. - // For more information, see Enabling IAM Identity Center (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso) - // in the IoT SiteWise User Guide. This option is only available in Amazon - // Web Services Regions other than the China Regions. - // - // * IAM – The portal uses Identity and Access Management to authenticate - // users and manage user permissions. - // - // You can't change this value after you create a portal. - // - // Default: SSO - PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"` + // Indicates if the data point is a scalar value such as integer, string, double, + // or Boolean. + ScalarValue *string `locationName:"scalarValue" type:"string"` +} - // The Amazon Web Services administrator's contact email address. - // - // PortalContactEmail is a required field - PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Datum) String() string { + return awsutil.Prettify(s) +} - // A description for the portal. - PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Datum) GoString() string { + return s.String() +} - // A logo image to display in the portal. Upload a square, high-resolution image. - // The image is displayed on a dark background. - PortalLogoImageFile *ImageFile `locationName:"portalLogoImageFile" type:"structure"` +// SetArrayValue sets the ArrayValue field's value. +func (s *Datum) SetArrayValue(v []*Datum) *Datum { + s.ArrayValue = v + return s +} - // A friendly name for the portal. - // - // PortalName is a required field - PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"` +// SetNullValue sets the NullValue field's value. +func (s *Datum) SetNullValue(v bool) *Datum { + s.NullValue = &v + return s +} - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of a service role that allows the portal's users to access your IoT SiteWise - // resources on your behalf. For more information, see Using service roles for - // IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html) - // in the IoT SiteWise User Guide. +// SetRowValue sets the RowValue field's value. +func (s *Datum) SetRowValue(v *Row) *Datum { + s.RowValue = v + return s +} + +// SetScalarValue sets the ScalarValue field's value. +func (s *Datum) SetScalarValue(v string) *Datum { + s.ScalarValue = &v + return s +} + +type DeleteAccessPolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the access policy to be deleted. // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + // AccessPolicyId is a required field + AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"` - // A list of key-value pairs that contain metadata for the portal. For more - // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) - // in the IoT SiteWise User Guide. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` } // String returns the string representation. @@ -14180,7 +17697,7 @@ type CreatePortalInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreatePortalInput) String() string { +func (s DeleteAccessPolicyInput) String() string { return awsutil.Prettify(s) } @@ -14189,52 +17706,21 @@ func (s CreatePortalInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreatePortalInput) GoString() string { +func (s DeleteAccessPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePortalInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePortalInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.NotificationSenderEmail != nil && len(*s.NotificationSenderEmail) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NotificationSenderEmail", 1)) - } - if s.PortalContactEmail == nil { - invalidParams.Add(request.NewErrParamRequired("PortalContactEmail")) - } - if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1)) - } - if s.PortalDescription != nil && len(*s.PortalDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1)) - } - if s.PortalName == nil { - invalidParams.Add(request.NewErrParamRequired("PortalName")) - } - if s.PortalName != nil && len(*s.PortalName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PortalName", 1)) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) +func (s *DeleteAccessPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPolicyInput"} + if s.AccessPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("AccessPolicyId")) } - if s.Alarms != nil { - if err := s.Alarms.Validate(); err != nil { - invalidParams.AddNested("Alarms", err.(request.ErrInvalidParams)) - } + if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36)) } - if s.PortalLogoImageFile != nil { - if err := s.PortalLogoImageFile.Validate(); err != nil { - invalidParams.AddNested("PortalLogoImageFile", err.(request.ErrInvalidParams)) - } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } if invalidParams.Len() > 0 { @@ -14243,101 +17729,123 @@ func (s *CreatePortalInput) Validate() error { return nil } -// SetAlarms sets the Alarms field's value. -func (s *CreatePortalInput) SetAlarms(v *Alarms) *CreatePortalInput { - s.Alarms = v +// SetAccessPolicyId sets the AccessPolicyId field's value. +func (s *DeleteAccessPolicyInput) SetAccessPolicyId(v string) *DeleteAccessPolicyInput { + s.AccessPolicyId = &v return s } // SetClientToken sets the ClientToken field's value. -func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput { +func (s *DeleteAccessPolicyInput) SetClientToken(v string) *DeleteAccessPolicyInput { s.ClientToken = &v return s } -// SetNotificationSenderEmail sets the NotificationSenderEmail field's value. -func (s *CreatePortalInput) SetNotificationSenderEmail(v string) *CreatePortalInput { - s.NotificationSenderEmail = &v - return s +type DeleteAccessPolicyOutput struct { + _ struct{} `type:"structure"` } -// SetPortalAuthMode sets the PortalAuthMode field's value. -func (s *CreatePortalInput) SetPortalAuthMode(v string) *CreatePortalInput { - s.PortalAuthMode = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAccessPolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetPortalContactEmail sets the PortalContactEmail field's value. -func (s *CreatePortalInput) SetPortalContactEmail(v string) *CreatePortalInput { - s.PortalContactEmail = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAccessPolicyOutput) GoString() string { + return s.String() } -// SetPortalDescription sets the PortalDescription field's value. -func (s *CreatePortalInput) SetPortalDescription(v string) *CreatePortalInput { - s.PortalDescription = &v - return s +type DeleteAssetInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the asset to delete. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetId is a required field + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` } -// SetPortalLogoImageFile sets the PortalLogoImageFile field's value. -func (s *CreatePortalInput) SetPortalLogoImageFile(v *ImageFile) *CreatePortalInput { - s.PortalLogoImageFile = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAssetInput) String() string { + return awsutil.Prettify(s) } -// SetPortalName sets the PortalName field's value. -func (s *CreatePortalInput) SetPortalName(v string) *CreatePortalInput { - s.PortalName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAssetInput) GoString() string { + return s.String() } -// SetRoleArn sets the RoleArn field's value. -func (s *CreatePortalInput) SetRoleArn(v string) *CreatePortalInput { - s.RoleArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"} + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *CreatePortalInput) SetTags(v map[string]*string) *CreatePortalInput { - s.Tags = v +// SetAssetId sets the AssetId field's value. +func (s *DeleteAssetInput) SetAssetId(v string) *DeleteAssetInput { + s.AssetId = &v return s } -type CreatePortalOutput struct { - _ struct{} `type:"structure"` - - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the portal, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId} - // - // PortalArn is a required field - PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"` +// SetClientToken sets the ClientToken field's value. +func (s *DeleteAssetInput) SetClientToken(v string) *DeleteAssetInput { + s.ClientToken = &v + return s +} - // The ID of the created portal. - // - // PortalId is a required field - PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"` +type DeleteAssetModelCompositeModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The URL for the IoT SiteWise Monitor portal. You can use this URL to access - // portals that use IAM Identity Center for authentication. For portals that - // use IAM for authentication, you must use the IoT SiteWise console to get - // a URL that you can use to access the portal. + // The ID of a composite model on this asset model. // - // PortalStartUrl is a required field - PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"` + // AssetModelCompositeModelId is a required field + AssetModelCompositeModelId *string `location:"uri" locationName:"assetModelCompositeModelId" min:"13" type:"string" required:"true"` - // The status of the portal, which contains a state (CREATING after successfully - // calling this operation) and any error message. + // The ID of the asset model, in UUID format. // - // PortalStatus is a required field - PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"` + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` - // The associated IAM Identity Center application ID, if the portal uses IAM - // Identity Center. - // - // SsoApplicationId is a required field - SsoApplicationId *string `locationName:"ssoApplicationId" min:"1" type:"string" required:"true"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` } // String returns the string representation. @@ -14345,7 +17853,7 @@ type CreatePortalOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreatePortalOutput) String() string { +func (s DeleteAssetModelCompositeModelInput) String() string { return awsutil.Prettify(s) } @@ -14354,65 +17862,103 @@ func (s CreatePortalOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreatePortalOutput) GoString() string { +func (s DeleteAssetModelCompositeModelInput) GoString() string { return s.String() } -// SetPortalArn sets the PortalArn field's value. -func (s *CreatePortalOutput) SetPortalArn(v string) *CreatePortalOutput { - s.PortalArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAssetModelCompositeModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAssetModelCompositeModelInput"} + if s.AssetModelCompositeModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelCompositeModelId")) + } + if s.AssetModelCompositeModelId != nil && len(*s.AssetModelCompositeModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelId", 13)) + } + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPortalId sets the PortalId field's value. -func (s *CreatePortalOutput) SetPortalId(v string) *CreatePortalOutput { - s.PortalId = &v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *DeleteAssetModelCompositeModelInput) SetAssetModelCompositeModelId(v string) *DeleteAssetModelCompositeModelInput { + s.AssetModelCompositeModelId = &v return s } -// SetPortalStartUrl sets the PortalStartUrl field's value. -func (s *CreatePortalOutput) SetPortalStartUrl(v string) *CreatePortalOutput { - s.PortalStartUrl = &v +// SetAssetModelId sets the AssetModelId field's value. +func (s *DeleteAssetModelCompositeModelInput) SetAssetModelId(v string) *DeleteAssetModelCompositeModelInput { + s.AssetModelId = &v return s } -// SetPortalStatus sets the PortalStatus field's value. -func (s *CreatePortalOutput) SetPortalStatus(v *PortalStatus) *CreatePortalOutput { - s.PortalStatus = v +// SetClientToken sets the ClientToken field's value. +func (s *DeleteAssetModelCompositeModelInput) SetClientToken(v string) *DeleteAssetModelCompositeModelInput { + s.ClientToken = &v return s } -// SetSsoApplicationId sets the SsoApplicationId field's value. -func (s *CreatePortalOutput) SetSsoApplicationId(v string) *CreatePortalOutput { - s.SsoApplicationId = &v +type DeleteAssetModelCompositeModelOutput struct { + _ struct{} `type:"structure"` + + // Contains current status information for an asset model. For more information, + // see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) + // in the IoT SiteWise User Guide. + // + // AssetModelStatus is a required field + AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAssetModelCompositeModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAssetModelCompositeModelOutput) GoString() string { + return s.String() +} + +// SetAssetModelStatus sets the AssetModelStatus field's value. +func (s *DeleteAssetModelCompositeModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DeleteAssetModelCompositeModelOutput { + s.AssetModelStatus = v return s } -type CreateProjectInput struct { - _ struct{} `type:"structure"` +type DeleteAssetModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the asset model to delete. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - - // The ID of the portal in which to create the project. - // - // PortalId is a required field - PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"` - - // A description for the project. - ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"` - - // A friendly name for the project. - // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` - - // A list of key-value pairs that contain metadata for the project. For more - // information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) - // in the IoT SiteWise User Guide. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` } // String returns the string representation. @@ -14420,7 +17966,7 @@ type CreateProjectInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProjectInput) String() string { +func (s DeleteAssetModelInput) String() string { return awsutil.Prettify(s) } @@ -14429,33 +17975,21 @@ func (s CreateProjectInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProjectInput) GoString() string { +func (s DeleteAssetModelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.PortalId == nil { - invalidParams.Add(request.NewErrParamRequired("PortalId")) - } - if s.PortalId != nil && len(*s.PortalId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PortalId", 36)) - } - if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1)) - } - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) +func (s *DeleteAssetModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAssetModelInput"} + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } if invalidParams.Len() > 0 { @@ -14464,51 +17998,26 @@ func (s *CreateProjectInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateProjectInput) SetClientToken(v string) *CreateProjectInput { - s.ClientToken = &v - return s -} - -// SetPortalId sets the PortalId field's value. -func (s *CreateProjectInput) SetPortalId(v string) *CreateProjectInput { - s.PortalId = &v - return s -} - -// SetProjectDescription sets the ProjectDescription field's value. -func (s *CreateProjectInput) SetProjectDescription(v string) *CreateProjectInput { - s.ProjectDescription = &v - return s -} - -// SetProjectName sets the ProjectName field's value. -func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput { - s.ProjectName = &v +// SetAssetModelId sets the AssetModelId field's value. +func (s *DeleteAssetModelInput) SetAssetModelId(v string) *DeleteAssetModelInput { + s.AssetModelId = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput { - s.Tags = v +// SetClientToken sets the ClientToken field's value. +func (s *DeleteAssetModelInput) SetClientToken(v string) *DeleteAssetModelInput { + s.ClientToken = &v return s } -type CreateProjectOutput struct { +type DeleteAssetModelOutput struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the project, which has the following format. - // - // arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId} - // - // ProjectArn is a required field - ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"` - - // The ID of the project. + // The status of the asset model, which contains a state (DELETING after successfully + // calling this operation) and any error message. // - // ProjectId is a required field - ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"` + // AssetModelStatus is a required field + AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` } // String returns the string representation. @@ -14516,7 +18025,7 @@ type CreateProjectOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProjectOutput) String() string { +func (s DeleteAssetModelOutput) String() string { return awsutil.Prettify(s) } @@ -14525,28 +18034,24 @@ func (s CreateProjectOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProjectOutput) GoString() string { +func (s DeleteAssetModelOutput) GoString() string { return s.String() } -// SetProjectArn sets the ProjectArn field's value. -func (s *CreateProjectOutput) SetProjectArn(v string) *CreateProjectOutput { - s.ProjectArn = &v - return s -} - -// SetProjectId sets the ProjectId field's value. -func (s *CreateProjectOutput) SetProjectId(v string) *CreateProjectOutput { - s.ProjectId = &v +// SetAssetModelStatus sets the AssetModelStatus field's value. +func (s *DeleteAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DeleteAssetModelOutput { + s.AssetModelStatus = v return s } -// A .csv file. -type Csv struct { +type DeleteAssetOutput struct { _ struct{} `type:"structure"` - // The column names specified in the .csv file. - ColumnNames []*string `locationName:"columnNames" type:"list" enum:"ColumnName"` + // The status of the asset, which contains a state (DELETING after successfully + // calling this operation) and any error message. + // + // AssetStatus is a required field + AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"` } // String returns the string representation. @@ -14554,7 +18059,7 @@ type Csv struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Csv) String() string { +func (s DeleteAssetOutput) String() string { return awsutil.Prettify(s) } @@ -14563,34 +18068,28 @@ func (s Csv) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Csv) GoString() string { +func (s DeleteAssetOutput) GoString() string { return s.String() } -// SetColumnNames sets the ColumnNames field's value. -func (s *Csv) SetColumnNames(v []*string) *Csv { - s.ColumnNames = v +// SetAssetStatus sets the AssetStatus field's value. +func (s *DeleteAssetOutput) SetAssetStatus(v *AssetStatus) *DeleteAssetOutput { + s.AssetStatus = v return s } -// Contains information about a customer managed Amazon S3 bucket. -type CustomerManagedS3Storage struct { - _ struct{} `type:"structure"` +type DeleteDashboardInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the Identity and Access Management role that allows IoT SiteWise to send - // data to Amazon S3. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the Amazon S3 object. For more information about how to find the ARN for - // an Amazon S3 object, see Amazon S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html) - // in the Amazon Simple Storage Service User Guide. + // The ID of the dashboard to delete. // - // S3ResourceArn is a required field - S3ResourceArn *string `locationName:"s3ResourceArn" min:"1" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -14598,7 +18097,7 @@ type CustomerManagedS3Storage struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CustomerManagedS3Storage) String() string { +func (s DeleteDashboardInput) String() string { return awsutil.Prettify(s) } @@ -14607,24 +18106,21 @@ func (s CustomerManagedS3Storage) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CustomerManagedS3Storage) GoString() string { +func (s DeleteDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomerManagedS3Storage) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomerManagedS3Storage"} - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) +func (s *DeleteDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } - if s.S3ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("S3ResourceArn")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.S3ResourceArn != nil && len(*s.S3ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("S3ResourceArn", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36)) } if invalidParams.Len() > 0 { @@ -14633,40 +18129,20 @@ func (s *CustomerManagedS3Storage) Validate() error { return nil } -// SetRoleArn sets the RoleArn field's value. -func (s *CustomerManagedS3Storage) SetRoleArn(v string) *CustomerManagedS3Storage { - s.RoleArn = &v +// SetClientToken sets the ClientToken field's value. +func (s *DeleteDashboardInput) SetClientToken(v string) *DeleteDashboardInput { + s.ClientToken = &v return s } -// SetS3ResourceArn sets the S3ResourceArn field's value. -func (s *CustomerManagedS3Storage) SetS3ResourceArn(v string) *CustomerManagedS3Storage { - s.S3ResourceArn = &v +// SetDashboardId sets the DashboardId field's value. +func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { + s.DashboardId = &v return s } -// Contains a dashboard summary. -type DashboardSummary struct { +type DeleteDashboardOutput struct { _ struct{} `type:"structure"` - - // The date the dashboard was created, in Unix epoch time. - CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` - - // The dashboard's description. - Description *string `locationName:"description" min:"1" type:"string"` - - // The ID of the dashboard. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The date the dashboard was last updated, in Unix epoch time. - LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"` - - // The name of the dashboard - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -14674,7 +18150,7 @@ type DashboardSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DashboardSummary) String() string { +func (s DeleteDashboardOutput) String() string { return awsutil.Prettify(s) } @@ -14683,52 +18159,17 @@ func (s DashboardSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DashboardSummary) GoString() string { +func (s DeleteDashboardOutput) GoString() string { return s.String() } -// SetCreationDate sets the CreationDate field's value. -func (s *DashboardSummary) SetCreationDate(v time.Time) *DashboardSummary { - s.CreationDate = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *DashboardSummary) SetDescription(v string) *DashboardSummary { - s.Description = &v - return s -} - -// SetId sets the Id field's value. -func (s *DashboardSummary) SetId(v string) *DashboardSummary { - s.Id = &v - return s -} - -// SetLastUpdateDate sets the LastUpdateDate field's value. -func (s *DashboardSummary) SetLastUpdateDate(v time.Time) *DashboardSummary { - s.LastUpdateDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *DashboardSummary) SetName(v string) *DashboardSummary { - s.Name = &v - return s -} - -type DeleteAccessPolicyInput struct { +type DeleteGatewayInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the access policy to be deleted. + // The ID of the gateway to delete. // - // AccessPolicyId is a required field - AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"` - - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // GatewayId is a required field + GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -14736,7 +18177,7 @@ type DeleteAccessPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAccessPolicyInput) String() string { +func (s DeleteGatewayInput) String() string { return awsutil.Prettify(s) } @@ -14745,21 +18186,18 @@ func (s DeleteAccessPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAccessPolicyInput) GoString() string { +func (s DeleteGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAccessPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPolicyInput"} - if s.AccessPolicyId == nil { - invalidParams.Add(request.NewErrParamRequired("AccessPolicyId")) - } - if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36)) +func (s *DeleteGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"} + if s.GatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayId")) } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + if s.GatewayId != nil && len(*s.GatewayId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36)) } if invalidParams.Len() > 0 { @@ -14768,19 +18206,13 @@ func (s *DeleteAccessPolicyInput) Validate() error { return nil } -// SetAccessPolicyId sets the AccessPolicyId field's value. -func (s *DeleteAccessPolicyInput) SetAccessPolicyId(v string) *DeleteAccessPolicyInput { - s.AccessPolicyId = &v - return s -} - -// SetClientToken sets the ClientToken field's value. -func (s *DeleteAccessPolicyInput) SetClientToken(v string) *DeleteAccessPolicyInput { - s.ClientToken = &v +// SetGatewayId sets the GatewayId field's value. +func (s *DeleteGatewayInput) SetGatewayId(v string) *DeleteGatewayInput { + s.GatewayId = &v return s } -type DeleteAccessPolicyOutput struct { +type DeleteGatewayOutput struct { _ struct{} `type:"structure"` } @@ -14789,7 +18221,7 @@ type DeleteAccessPolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAccessPolicyOutput) String() string { +func (s DeleteGatewayOutput) String() string { return awsutil.Prettify(s) } @@ -14798,22 +18230,22 @@ func (s DeleteAccessPolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAccessPolicyOutput) GoString() string { +func (s DeleteGatewayOutput) GoString() string { return s.String() } -type DeleteAssetInput struct { +type DeletePortalInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset to delete. - // - // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + + // The ID of the portal to delete. + // + // PortalId is a required field + PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -14821,7 +18253,7 @@ type DeleteAssetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetInput) String() string { +func (s DeletePortalInput) String() string { return awsutil.Prettify(s) } @@ -14830,22 +18262,22 @@ func (s DeleteAssetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetInput) GoString() string { +func (s DeletePortalInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAssetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"} - if s.AssetId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetId")) - } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } +func (s *DeletePortalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePortalInput"} if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } + if s.PortalId == nil { + invalidParams.Add(request.NewErrParamRequired("PortalId")) + } + if s.PortalId != nil && len(*s.PortalId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PortalId", 36)) + } if invalidParams.Len() > 0 { return invalidParams @@ -14853,30 +18285,26 @@ func (s *DeleteAssetInput) Validate() error { return nil } -// SetAssetId sets the AssetId field's value. -func (s *DeleteAssetInput) SetAssetId(v string) *DeleteAssetInput { - s.AssetId = &v +// SetClientToken sets the ClientToken field's value. +func (s *DeletePortalInput) SetClientToken(v string) *DeletePortalInput { + s.ClientToken = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *DeleteAssetInput) SetClientToken(v string) *DeleteAssetInput { - s.ClientToken = &v +// SetPortalId sets the PortalId field's value. +func (s *DeletePortalInput) SetPortalId(v string) *DeletePortalInput { + s.PortalId = &v return s } -type DeleteAssetModelInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type DeletePortalOutput struct { + _ struct{} `type:"structure"` - // The ID of the asset model to delete. + // The status of the portal, which contains a state (DELETING after successfully + // calling this operation) and any error message. // - // AssetModelId is a required field - AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"` - - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // PortalStatus is a required field + PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"` } // String returns the string representation. @@ -14884,7 +18312,7 @@ type DeleteAssetModelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetModelInput) String() string { +func (s DeletePortalOutput) String() string { return awsutil.Prettify(s) } @@ -14893,49 +18321,28 @@ func (s DeleteAssetModelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetModelInput) GoString() string { +func (s DeletePortalOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAssetModelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAssetModelInput"} - if s.AssetModelId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetModelId")) - } - if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssetModelId sets the AssetModelId field's value. -func (s *DeleteAssetModelInput) SetAssetModelId(v string) *DeleteAssetModelInput { - s.AssetModelId = &v +// SetPortalStatus sets the PortalStatus field's value. +func (s *DeletePortalOutput) SetPortalStatus(v *PortalStatus) *DeletePortalOutput { + s.PortalStatus = v return s } -// SetClientToken sets the ClientToken field's value. -func (s *DeleteAssetModelInput) SetClientToken(v string) *DeleteAssetModelInput { - s.ClientToken = &v - return s -} +type DeleteProjectInput struct { + _ struct{} `type:"structure" nopayload:"true"` -type DeleteAssetModelOutput struct { - _ struct{} `type:"structure"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The status of the asset model, which contains a state (DELETING after successfully - // calling this operation) and any error message. + // The ID of the project. // - // AssetModelStatus is a required field - AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` + // ProjectId is a required field + ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -14943,7 +18350,7 @@ type DeleteAssetModelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetModelOutput) String() string { +func (s DeleteProjectInput) String() string { return awsutil.Prettify(s) } @@ -14952,24 +18359,43 @@ func (s DeleteAssetModelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetModelOutput) GoString() string { +func (s DeleteProjectInput) GoString() string { return s.String() } -// SetAssetModelStatus sets the AssetModelStatus field's value. -func (s *DeleteAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DeleteAssetModelOutput { - s.AssetModelStatus = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + if s.ProjectId != nil && len(*s.ProjectId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteProjectInput) SetClientToken(v string) *DeleteProjectInput { + s.ClientToken = &v return s } -type DeleteAssetOutput struct { - _ struct{} `type:"structure"` +// SetProjectId sets the ProjectId field's value. +func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput { + s.ProjectId = &v + return s +} - // The status of the asset, which contains a state (DELETING after successfully - // calling this operation) and any error message. - // - // AssetStatus is a required field - AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"` +type DeleteProjectOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -14977,7 +18403,7 @@ type DeleteAssetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetOutput) String() string { +func (s DeleteProjectOutput) String() string { return awsutil.Prettify(s) } @@ -14986,28 +18412,33 @@ func (s DeleteAssetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAssetOutput) GoString() string { +func (s DeleteProjectOutput) GoString() string { return s.String() } -// SetAssetStatus sets the AssetStatus field's value. -func (s *DeleteAssetOutput) SetAssetStatus(v *AssetStatus) *DeleteAssetOutput { - s.AssetStatus = v - return s -} +type DeleteTimeSeriesInput struct { + _ struct{} `type:"structure"` -type DeleteDashboardInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The alias that identifies the time series. + Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string"` + + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + AssetId *string `location:"querystring" locationName:"assetId" min:"13" type:"string"` // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. - ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The ID of the dashboard to delete. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"` + // The ID of the asset property. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + PropertyId *string `location:"querystring" locationName:"propertyId" min:"13" type:"string"` } // String returns the string representation. @@ -15015,7 +18446,7 @@ type DeleteDashboardInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDashboardInput) String() string { +func (s DeleteTimeSeriesInput) String() string { return awsutil.Prettify(s) } @@ -15024,21 +18455,24 @@ func (s DeleteDashboardInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDashboardInput) GoString() string { +func (s DeleteTimeSeriesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"} +func (s *DeleteTimeSeriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTimeSeriesInput"} + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) + } if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) - } - if s.DashboardId != nil && len(*s.DashboardId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36)) + if s.PropertyId != nil && len(*s.PropertyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 13)) } if invalidParams.Len() > 0 { @@ -15047,19 +18481,31 @@ func (s *DeleteDashboardInput) Validate() error { return nil } +// SetAlias sets the Alias field's value. +func (s *DeleteTimeSeriesInput) SetAlias(v string) *DeleteTimeSeriesInput { + s.Alias = &v + return s +} + +// SetAssetId sets the AssetId field's value. +func (s *DeleteTimeSeriesInput) SetAssetId(v string) *DeleteTimeSeriesInput { + s.AssetId = &v + return s +} + // SetClientToken sets the ClientToken field's value. -func (s *DeleteDashboardInput) SetClientToken(v string) *DeleteDashboardInput { +func (s *DeleteTimeSeriesInput) SetClientToken(v string) *DeleteTimeSeriesInput { s.ClientToken = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { - s.DashboardId = &v +// SetPropertyId sets the PropertyId field's value. +func (s *DeleteTimeSeriesInput) SetPropertyId(v string) *DeleteTimeSeriesInput { + s.PropertyId = &v return s } -type DeleteDashboardOutput struct { +type DeleteTimeSeriesOutput struct { _ struct{} `type:"structure"` } @@ -15068,7 +18514,7 @@ type DeleteDashboardOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDashboardOutput) String() string { +func (s DeleteTimeSeriesOutput) String() string { return awsutil.Prettify(s) } @@ -15077,17 +18523,17 @@ func (s DeleteDashboardOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDashboardOutput) GoString() string { +func (s DeleteTimeSeriesOutput) GoString() string { return s.String() } -type DeleteGatewayInput struct { +type DescribeAccessPolicyInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the gateway to delete. + // The ID of the access policy. // - // GatewayId is a required field - GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"` + // AccessPolicyId is a required field + AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -15095,7 +18541,7 @@ type DeleteGatewayInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGatewayInput) String() string { +func (s DescribeAccessPolicyInput) String() string { return awsutil.Prettify(s) } @@ -15104,18 +18550,18 @@ func (s DeleteGatewayInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGatewayInput) GoString() string { +func (s DescribeAccessPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGatewayInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"} - if s.GatewayId == nil { - invalidParams.Add(request.NewErrParamRequired("GatewayId")) +func (s *DescribeAccessPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccessPolicyInput"} + if s.AccessPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("AccessPolicyId")) } - if s.GatewayId != nil && len(*s.GatewayId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36)) + if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36)) } if invalidParams.Len() > 0 { @@ -15124,14 +18570,55 @@ func (s *DeleteGatewayInput) Validate() error { return nil } -// SetGatewayId sets the GatewayId field's value. -func (s *DeleteGatewayInput) SetGatewayId(v string) *DeleteGatewayInput { - s.GatewayId = &v +// SetAccessPolicyId sets the AccessPolicyId field's value. +func (s *DescribeAccessPolicyInput) SetAccessPolicyId(v string) *DescribeAccessPolicyInput { + s.AccessPolicyId = &v return s } -type DeleteGatewayOutput struct { +type DescribeAccessPolicyOutput struct { _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the access policy, which has the following format. + // + // arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId} + // + // AccessPolicyArn is a required field + AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"` + + // The date the access policy was created, in Unix epoch time. + // + // AccessPolicyCreationDate is a required field + AccessPolicyCreationDate *time.Time `locationName:"accessPolicyCreationDate" type:"timestamp" required:"true"` + + // The ID of the access policy. + // + // AccessPolicyId is a required field + AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"` + + // The identity (IAM Identity Center user, IAM Identity Center group, or IAM + // user) to which this access policy applies. + // + // AccessPolicyIdentity is a required field + AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"` + + // The date the access policy was last updated, in Unix epoch time. + // + // AccessPolicyLastUpdateDate is a required field + AccessPolicyLastUpdateDate *time.Time `locationName:"accessPolicyLastUpdateDate" type:"timestamp" required:"true"` + + // The access policy permission. Note that a project ADMINISTRATOR is also known + // as a project owner. + // + // AccessPolicyPermission is a required field + AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"` + + // The IoT SiteWise Monitor resource (portal or project) to which this access + // policy provides access. + // + // AccessPolicyResource is a required field + AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"` } // String returns the string representation. @@ -15139,7 +18626,7 @@ type DeleteGatewayOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGatewayOutput) String() string { +func (s DescribeAccessPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -15148,22 +18635,59 @@ func (s DeleteGatewayOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteGatewayOutput) GoString() string { +func (s DescribeAccessPolicyOutput) GoString() string { return s.String() } -type DeletePortalInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetAccessPolicyArn sets the AccessPolicyArn field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyArn(v string) *DescribeAccessPolicyOutput { + s.AccessPolicyArn = &v + return s +} - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` +// SetAccessPolicyCreationDate sets the AccessPolicyCreationDate field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyCreationDate(v time.Time) *DescribeAccessPolicyOutput { + s.AccessPolicyCreationDate = &v + return s +} - // The ID of the portal to delete. +// SetAccessPolicyId sets the AccessPolicyId field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyId(v string) *DescribeAccessPolicyOutput { + s.AccessPolicyId = &v + return s +} + +// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyIdentity(v *Identity) *DescribeAccessPolicyOutput { + s.AccessPolicyIdentity = v + return s +} + +// SetAccessPolicyLastUpdateDate sets the AccessPolicyLastUpdateDate field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyLastUpdateDate(v time.Time) *DescribeAccessPolicyOutput { + s.AccessPolicyLastUpdateDate = &v + return s +} + +// SetAccessPolicyPermission sets the AccessPolicyPermission field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyPermission(v string) *DescribeAccessPolicyOutput { + s.AccessPolicyPermission = &v + return s +} + +// SetAccessPolicyResource sets the AccessPolicyResource field's value. +func (s *DescribeAccessPolicyOutput) SetAccessPolicyResource(v *Resource) *DescribeAccessPolicyOutput { + s.AccessPolicyResource = v + return s +} + +type DescribeActionInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the action. // - // PortalId is a required field - PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"` + // ActionId is a required field + ActionId *string `location:"uri" locationName:"actionId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -15171,7 +18695,7 @@ type DeletePortalInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeletePortalInput) String() string { +func (s DescribeActionInput) String() string { return awsutil.Prettify(s) } @@ -15180,21 +18704,18 @@ func (s DeletePortalInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeletePortalInput) GoString() string { +func (s DescribeActionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeletePortalInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeletePortalInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.PortalId == nil { - invalidParams.Add(request.NewErrParamRequired("PortalId")) +func (s *DescribeActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeActionInput"} + if s.ActionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionId")) } - if s.PortalId != nil && len(*s.PortalId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PortalId", 36)) + if s.ActionId != nil && len(*s.ActionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) } if invalidParams.Len() > 0 { @@ -15203,26 +18724,39 @@ func (s *DeletePortalInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *DeletePortalInput) SetClientToken(v string) *DeletePortalInput { - s.ClientToken = &v - return s -} - -// SetPortalId sets the PortalId field's value. -func (s *DeletePortalInput) SetPortalId(v string) *DeletePortalInput { - s.PortalId = &v +// SetActionId sets the ActionId field's value. +func (s *DescribeActionInput) SetActionId(v string) *DescribeActionInput { + s.ActionId = &v return s } -type DeletePortalOutput struct { +type DescribeActionOutput struct { _ struct{} `type:"structure"` - // The status of the portal, which contains a state (DELETING after successfully - // calling this operation) and any error message. + // The ID of the action definition. // - // PortalStatus is a required field - PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"` + // ActionDefinitionId is a required field + ActionDefinitionId *string `locationName:"actionDefinitionId" min:"36" type:"string" required:"true"` + + // The ID of the action. + // + // ActionId is a required field + ActionId *string `locationName:"actionId" min:"36" type:"string" required:"true"` + + // The JSON payload of the action. + // + // ActionPayload is a required field + ActionPayload *ActionPayload `locationName:"actionPayload" type:"structure" required:"true"` + + // The time the action was executed. + // + // ExecutionTime is a required field + ExecutionTime *time.Time `locationName:"executionTime" type:"timestamp" required:"true"` + + // The resource the action will be taken on. + // + // TargetResource is a required field + TargetResource *TargetResource `locationName:"targetResource" type:"structure" required:"true"` } // String returns the string representation. @@ -15230,7 +18764,7 @@ type DeletePortalOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeletePortalOutput) String() string { +func (s DescribeActionOutput) String() string { return awsutil.Prettify(s) } @@ -15239,28 +18773,59 @@ func (s DeletePortalOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeletePortalOutput) GoString() string { +func (s DescribeActionOutput) GoString() string { return s.String() } -// SetPortalStatus sets the PortalStatus field's value. -func (s *DeletePortalOutput) SetPortalStatus(v *PortalStatus) *DeletePortalOutput { - s.PortalStatus = v +// SetActionDefinitionId sets the ActionDefinitionId field's value. +func (s *DescribeActionOutput) SetActionDefinitionId(v string) *DescribeActionOutput { + s.ActionDefinitionId = &v return s } -type DeleteProjectInput struct { +// SetActionId sets the ActionId field's value. +func (s *DescribeActionOutput) SetActionId(v string) *DescribeActionOutput { + s.ActionId = &v + return s +} + +// SetActionPayload sets the ActionPayload field's value. +func (s *DescribeActionOutput) SetActionPayload(v *ActionPayload) *DescribeActionOutput { + s.ActionPayload = v + return s +} + +// SetExecutionTime sets the ExecutionTime field's value. +func (s *DescribeActionOutput) SetExecutionTime(v time.Time) *DescribeActionOutput { + s.ExecutionTime = &v + return s +} + +// SetTargetResource sets the TargetResource field's value. +func (s *DescribeActionOutput) SetTargetResource(v *TargetResource) *DescribeActionOutput { + s.TargetResource = v + return s +} + +type DescribeAssetCompositeModelInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The ID of a composite model on this 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 + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetCompositeModelId is a required field + AssetCompositeModelId *string `location:"uri" locationName:"assetCompositeModelId" min:"13" type:"string" required:"true"` - // The ID of the project. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // - // ProjectId is a required field - ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"` + // AssetId is a required field + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -15268,7 +18833,7 @@ type DeleteProjectInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteProjectInput) String() string { +func (s DescribeAssetCompositeModelInput) String() string { return awsutil.Prettify(s) } @@ -15277,21 +18842,24 @@ func (s DeleteProjectInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteProjectInput) GoString() string { +func (s DescribeAssetCompositeModelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) +func (s *DescribeAssetCompositeModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAssetCompositeModelInput"} + if s.AssetCompositeModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetCompositeModelId")) } - if s.ProjectId == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectId")) + if s.AssetCompositeModelId != nil && len(*s.AssetCompositeModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetCompositeModelId", 13)) } - if s.ProjectId != nil && len(*s.ProjectId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36)) + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if invalidParams.Len() > 0 { @@ -15300,56 +18868,73 @@ func (s *DeleteProjectInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *DeleteProjectInput) SetClientToken(v string) *DeleteProjectInput { - s.ClientToken = &v +// SetAssetCompositeModelId sets the AssetCompositeModelId field's value. +func (s *DescribeAssetCompositeModelInput) SetAssetCompositeModelId(v string) *DescribeAssetCompositeModelInput { + s.AssetCompositeModelId = &v return s } -// SetProjectId sets the ProjectId field's value. -func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput { - s.ProjectId = &v +// SetAssetId sets the AssetId field's value. +func (s *DescribeAssetCompositeModelInput) SetAssetId(v string) *DescribeAssetCompositeModelInput { + s.AssetId = &v return s } -type DeleteProjectOutput struct { +type DescribeAssetCompositeModelOutput struct { _ struct{} `type:"structure"` -} -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteProjectOutput) String() string { - return awsutil.Prettify(s) -} + // The available actions for a composite model on this asset. + ActionDefinitions []*ActionDefinition `locationName:"actionDefinitions" type:"list"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteProjectOutput) GoString() string { - return s.String() -} + // A description for the composite model. + // + // AssetCompositeModelDescription is a required field + AssetCompositeModelDescription *string `locationName:"assetCompositeModelDescription" min:"1" type:"string" required:"true"` -type DeleteTimeSeriesInput struct { - _ struct{} `type:"structure"` + // An external ID to assign to the asset model. + // + // If the composite model is a component-based composite model, or one nested + // inside a component model, you can only set the external ID using UpdateAssetModelCompositeModel + // and specifying the derived ID of the model or property from the created model + // it's a part of. + AssetCompositeModelExternalId *string `locationName:"assetCompositeModelExternalId" min:"2" type:"string"` - // The alias that identifies the time series. - Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string"` + // The ID of a composite model on this asset. + // + // AssetCompositeModelId is a required field + AssetCompositeModelId *string `locationName:"assetCompositeModelId" min:"36" type:"string" required:"true"` - // The ID of the asset in which the asset property was created. - AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` + // The unique, friendly name for the composite model. + // + // AssetCompositeModelName is a required field + AssetCompositeModelName *string `locationName:"assetCompositeModelName" min:"1" type:"string" required:"true"` + + // The path to the composite model listing the parent composite models. + // + // AssetCompositeModelPath is a required field + AssetCompositeModelPath []*AssetCompositeModelPathSegment `locationName:"assetCompositeModelPath" type:"list" required:"true"` + + // The property definitions of the composite model that was used to create the + // asset. + // + // AssetCompositeModelProperties is a required field + AssetCompositeModelProperties []*AssetProperty `locationName:"assetCompositeModelProperties" type:"list" required:"true"` + + // The list of composite model summaries. + // + // AssetCompositeModelSummaries is a required field + AssetCompositeModelSummaries []*AssetCompositeModelSummary `locationName:"assetCompositeModelSummaries" type:"list" required:"true"` - // A unique case-sensitive identifier that you can provide to ensure the idempotency - // of the request. Don't reuse this client token if a new idempotent request - // is required. - ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY. + // + // AssetCompositeModelType is a required field + AssetCompositeModelType *string `locationName:"assetCompositeModelType" min:"1" type:"string" required:"true"` - // The ID of the asset property. - PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` + // The ID of the asset, in UUID format. This ID uniquely identifies the asset + // within IoT SiteWise and can be used with other IoT SiteWise APIs. + // + // AssetId is a required field + AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -15357,7 +18942,7 @@ type DeleteTimeSeriesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTimeSeriesInput) String() string { +func (s DescribeAssetCompositeModelOutput) String() string { return awsutil.Prettify(s) } @@ -15366,58 +18951,83 @@ func (s DeleteTimeSeriesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTimeSeriesInput) GoString() string { +func (s DescribeAssetCompositeModelOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTimeSeriesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTimeSeriesInput"} - if s.Alias != nil && len(*s.Alias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) - } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) - } +// SetActionDefinitions sets the ActionDefinitions field's value. +func (s *DescribeAssetCompositeModelOutput) SetActionDefinitions(v []*ActionDefinition) *DescribeAssetCompositeModelOutput { + s.ActionDefinitions = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssetCompositeModelDescription sets the AssetCompositeModelDescription field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelDescription(v string) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelDescription = &v + return s } -// SetAlias sets the Alias field's value. -func (s *DeleteTimeSeriesInput) SetAlias(v string) *DeleteTimeSeriesInput { - s.Alias = &v +// SetAssetCompositeModelExternalId sets the AssetCompositeModelExternalId field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelExternalId(v string) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelExternalId = &v return s } -// SetAssetId sets the AssetId field's value. -func (s *DeleteTimeSeriesInput) SetAssetId(v string) *DeleteTimeSeriesInput { - s.AssetId = &v +// SetAssetCompositeModelId sets the AssetCompositeModelId field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelId(v string) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelId = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *DeleteTimeSeriesInput) SetClientToken(v string) *DeleteTimeSeriesInput { - s.ClientToken = &v +// SetAssetCompositeModelName sets the AssetCompositeModelName field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelName(v string) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelName = &v return s } -// SetPropertyId sets the PropertyId field's value. -func (s *DeleteTimeSeriesInput) SetPropertyId(v string) *DeleteTimeSeriesInput { - s.PropertyId = &v +// SetAssetCompositeModelPath sets the AssetCompositeModelPath field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelPath(v []*AssetCompositeModelPathSegment) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelPath = v return s } -type DeleteTimeSeriesOutput struct { - _ struct{} `type:"structure"` +// SetAssetCompositeModelProperties sets the AssetCompositeModelProperties field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelProperties(v []*AssetProperty) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelProperties = v + return s +} + +// SetAssetCompositeModelSummaries sets the AssetCompositeModelSummaries field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelSummaries(v []*AssetCompositeModelSummary) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelSummaries = v + return s +} + +// SetAssetCompositeModelType sets the AssetCompositeModelType field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetCompositeModelType(v string) *DescribeAssetCompositeModelOutput { + s.AssetCompositeModelType = &v + return s +} + +// SetAssetId sets the AssetId field's value. +func (s *DescribeAssetCompositeModelOutput) SetAssetId(v string) *DescribeAssetCompositeModelOutput { + s.AssetId = &v + return s +} + +type DescribeAssetInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetId is a required field + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` + + // Whether or not to exclude asset properties from the response. + ExcludeProperties *bool `location:"querystring" locationName:"excludeProperties" type:"boolean"` } // String returns the string representation. @@ -15425,7 +19035,7 @@ type DeleteTimeSeriesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTimeSeriesOutput) String() string { +func (s DescribeAssetInput) String() string { return awsutil.Prettify(s) } @@ -15434,17 +19044,57 @@ func (s DeleteTimeSeriesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTimeSeriesOutput) GoString() string { +func (s DescribeAssetInput) GoString() string { return s.String() } -type DescribeAccessPolicyInput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"} + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *DescribeAssetInput) SetAssetId(v string) *DescribeAssetInput { + s.AssetId = &v + return s +} + +// SetExcludeProperties sets the ExcludeProperties field's value. +func (s *DescribeAssetInput) SetExcludeProperties(v bool) *DescribeAssetInput { + s.ExcludeProperties = &v + return s +} + +type DescribeAssetModelCompositeModelInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the access policy. + // The ID of a composite model on this asset model. 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 + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // - // AccessPolicyId is a required field - AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"` + // AssetModelCompositeModelId is a required field + AssetModelCompositeModelId *string `location:"uri" locationName:"assetModelCompositeModelId" min:"13" type:"string" required:"true"` + + // The ID of the asset model. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -15452,7 +19102,7 @@ type DescribeAccessPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccessPolicyInput) String() string { +func (s DescribeAssetModelCompositeModelInput) String() string { return awsutil.Prettify(s) } @@ -15461,18 +19111,24 @@ func (s DescribeAccessPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccessPolicyInput) GoString() string { +func (s DescribeAssetModelCompositeModelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAccessPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAccessPolicyInput"} - if s.AccessPolicyId == nil { - invalidParams.Add(request.NewErrParamRequired("AccessPolicyId")) +func (s *DescribeAssetModelCompositeModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAssetModelCompositeModelInput"} + if s.AssetModelCompositeModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelCompositeModelId")) } - if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36)) + if s.AssetModelCompositeModelId != nil && len(*s.AssetModelCompositeModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelId", 13)) + } + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if invalidParams.Len() > 0 { @@ -15481,55 +19137,72 @@ func (s *DescribeAccessPolicyInput) Validate() error { return nil } -// SetAccessPolicyId sets the AccessPolicyId field's value. -func (s *DescribeAccessPolicyInput) SetAccessPolicyId(v string) *DescribeAccessPolicyInput { - s.AccessPolicyId = &v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *DescribeAssetModelCompositeModelInput) SetAssetModelCompositeModelId(v string) *DescribeAssetModelCompositeModelInput { + s.AssetModelCompositeModelId = &v return s } -type DescribeAccessPolicyOutput struct { +// SetAssetModelId sets the AssetModelId field's value. +func (s *DescribeAssetModelCompositeModelInput) SetAssetModelId(v string) *DescribeAssetModelCompositeModelInput { + s.AssetModelId = &v + return s +} + +type DescribeAssetModelCompositeModelOutput struct { _ struct{} `type:"structure"` - // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of the access policy, which has the following format. + // The available actions for a composite model on this asset model. + ActionDefinitions []*ActionDefinition `locationName:"actionDefinitions" type:"list"` + + // The description for the composite model. // - // arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId} + // AssetModelCompositeModelDescription is a required field + AssetModelCompositeModelDescription *string `locationName:"assetModelCompositeModelDescription" min:"1" type:"string" required:"true"` + + // The external ID of a composite model on this asset model. + AssetModelCompositeModelExternalId *string `locationName:"assetModelCompositeModelExternalId" min:"2" type:"string"` + + // The ID of a composite model on this asset model. // - // AccessPolicyArn is a required field - AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"` + // AssetModelCompositeModelId is a required field + AssetModelCompositeModelId *string `locationName:"assetModelCompositeModelId" min:"36" type:"string" required:"true"` - // The date the access policy was created, in Unix epoch time. + // The unique, friendly name for the composite model. // - // AccessPolicyCreationDate is a required field - AccessPolicyCreationDate *time.Time `locationName:"accessPolicyCreationDate" type:"timestamp" required:"true"` + // AssetModelCompositeModelName is a required field + AssetModelCompositeModelName *string `locationName:"assetModelCompositeModelName" min:"1" type:"string" required:"true"` - // The ID of the access policy. + // The path to the composite model listing the parent composite models. // - // AccessPolicyId is a required field - AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"` + // AssetModelCompositeModelPath is a required field + AssetModelCompositeModelPath []*AssetModelCompositeModelPathSegment `locationName:"assetModelCompositeModelPath" type:"list" required:"true"` - // The identity (IAM Identity Center user, IAM Identity Center group, or IAM - // user) to which this access policy applies. + // The property definitions of the composite model. // - // AccessPolicyIdentity is a required field - AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"` + // AssetModelCompositeModelProperties is a required field + AssetModelCompositeModelProperties []*AssetModelProperty `locationName:"assetModelCompositeModelProperties" type:"list" required:"true"` - // The date the access policy was last updated, in Unix epoch time. + // The list of composite model summaries for the composite model. // - // AccessPolicyLastUpdateDate is a required field - AccessPolicyLastUpdateDate *time.Time `locationName:"accessPolicyLastUpdateDate" type:"timestamp" required:"true"` + // AssetModelCompositeModelSummaries is a required field + AssetModelCompositeModelSummaries []*AssetModelCompositeModelSummary `locationName:"assetModelCompositeModelSummaries" type:"list" required:"true"` - // The access policy permission. Note that a project ADMINISTRATOR is also known - // as a project owner. + // The composite model type. Valid values are AWS/ALARM, CUSTOM, or AWS/L4E_ANOMALY. // - // AccessPolicyPermission is a required field - AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"` + // AssetModelCompositeModelType is a required field + AssetModelCompositeModelType *string `locationName:"assetModelCompositeModelType" min:"1" type:"string" required:"true"` - // The IoT SiteWise Monitor resource (portal or project) to which this access - // policy provides access. + // The ID of the asset model, in UUID format. // - // AccessPolicyResource is a required field - AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"` + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` + + // Metadata for the composition relationship established by using composedAssetModelId + // in CreateAssetModelCompositeModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html). + // For instance, an array detailing the path of the composition relationship + // for this composite model. + CompositionDetails *CompositionDetails `locationName:"compositionDetails" type:"structure"` } // String returns the string representation. @@ -15537,7 +19210,7 @@ type DescribeAccessPolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccessPolicyOutput) String() string { +func (s DescribeAssetModelCompositeModelOutput) String() string { return awsutil.Prettify(s) } @@ -15546,117 +19219,86 @@ func (s DescribeAccessPolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccessPolicyOutput) GoString() string { +func (s DescribeAssetModelCompositeModelOutput) GoString() string { return s.String() } -// SetAccessPolicyArn sets the AccessPolicyArn field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyArn(v string) *DescribeAccessPolicyOutput { - s.AccessPolicyArn = &v +// SetActionDefinitions sets the ActionDefinitions field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetActionDefinitions(v []*ActionDefinition) *DescribeAssetModelCompositeModelOutput { + s.ActionDefinitions = v return s } -// SetAccessPolicyCreationDate sets the AccessPolicyCreationDate field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyCreationDate(v time.Time) *DescribeAccessPolicyOutput { - s.AccessPolicyCreationDate = &v +// SetAssetModelCompositeModelDescription sets the AssetModelCompositeModelDescription field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelDescription(v string) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelDescription = &v return s } -// SetAccessPolicyId sets the AccessPolicyId field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyId(v string) *DescribeAccessPolicyOutput { - s.AccessPolicyId = &v +// SetAssetModelCompositeModelExternalId sets the AssetModelCompositeModelExternalId field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelExternalId(v string) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelExternalId = &v return s } -// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyIdentity(v *Identity) *DescribeAccessPolicyOutput { - s.AccessPolicyIdentity = v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelId(v string) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelId = &v return s } -// SetAccessPolicyLastUpdateDate sets the AccessPolicyLastUpdateDate field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyLastUpdateDate(v time.Time) *DescribeAccessPolicyOutput { - s.AccessPolicyLastUpdateDate = &v +// SetAssetModelCompositeModelName sets the AssetModelCompositeModelName field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelName(v string) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelName = &v return s } -// SetAccessPolicyPermission sets the AccessPolicyPermission field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyPermission(v string) *DescribeAccessPolicyOutput { - s.AccessPolicyPermission = &v +// SetAssetModelCompositeModelPath sets the AssetModelCompositeModelPath field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelPath(v []*AssetModelCompositeModelPathSegment) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelPath = v return s } -// SetAccessPolicyResource sets the AccessPolicyResource field's value. -func (s *DescribeAccessPolicyOutput) SetAccessPolicyResource(v *Resource) *DescribeAccessPolicyOutput { - s.AccessPolicyResource = v +// SetAssetModelCompositeModelProperties sets the AssetModelCompositeModelProperties field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelProperties(v []*AssetModelProperty) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelProperties = v return s } -type DescribeAssetInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The ID of the asset. - // - // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` - - // Whether or not to exclude asset properties from the response. - ExcludeProperties *bool `location:"querystring" locationName:"excludeProperties" type:"boolean"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeAssetInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeAssetInput) GoString() string { - return s.String() +// SetAssetModelCompositeModelSummaries sets the AssetModelCompositeModelSummaries field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelSummaries(v []*AssetModelCompositeModelSummary) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelSummaries = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAssetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"} - if s.AssetId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetId")) - } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssetModelCompositeModelType sets the AssetModelCompositeModelType field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelCompositeModelType(v string) *DescribeAssetModelCompositeModelOutput { + s.AssetModelCompositeModelType = &v + return s } -// SetAssetId sets the AssetId field's value. -func (s *DescribeAssetInput) SetAssetId(v string) *DescribeAssetInput { - s.AssetId = &v +// SetAssetModelId sets the AssetModelId field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetAssetModelId(v string) *DescribeAssetModelCompositeModelOutput { + s.AssetModelId = &v return s } -// SetExcludeProperties sets the ExcludeProperties field's value. -func (s *DescribeAssetInput) SetExcludeProperties(v bool) *DescribeAssetInput { - s.ExcludeProperties = &v +// SetCompositionDetails sets the CompositionDetails field's value. +func (s *DescribeAssetModelCompositeModelOutput) SetCompositionDetails(v *CompositionDetails) *DescribeAssetModelCompositeModelOutput { + s.CompositionDetails = v return s } type DescribeAssetModelInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset model. + // The ID of the asset model. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetModelId is a required field - AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"` + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` // Whether or not to exclude asset model properties from the response. ExcludeProperties *bool `location:"querystring" locationName:"excludeProperties" type:"boolean"` @@ -15686,8 +19328,8 @@ func (s *DescribeAssetModelInput) Validate() error { if s.AssetModelId == nil { invalidParams.Add(request.NewErrParamRequired("AssetModelId")) } - if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if invalidParams.Len() > 0 { @@ -15719,7 +19361,12 @@ type DescribeAssetModelOutput struct { // AssetModelArn is a required field AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"` - // The list of composite asset models for the asset model. + // The list of the immediate child custom composite model summaries for the + // asset model. + AssetModelCompositeModelSummaries []*AssetModelCompositeModelSummary `locationName:"assetModelCompositeModelSummaries" type:"list"` + + // The list of built-in composite models for the asset model, such as those + // with those of type AWS/ALARMS. AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"` // The date the asset model was created, in Unix epoch time. @@ -15732,6 +19379,9 @@ type DescribeAssetModelOutput struct { // AssetModelDescription is a required field AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string" required:"true"` + // The external ID of the asset model, if any. + AssetModelExternalId *string `locationName:"assetModelExternalId" min:"2" type:"string"` + // A list of asset model hierarchies that each contain a childAssetModelId and // a hierarchyId (named id). A hierarchy specifies allowed parent/child asset // relationships for an asset model. @@ -15739,7 +19389,7 @@ type DescribeAssetModelOutput struct { // AssetModelHierarchies is a required field AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list" required:"true"` - // The ID of the asset model. + // The ID of the asset model, in UUID format. // // AssetModelId is a required field AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` @@ -15768,6 +19418,16 @@ type DescribeAssetModelOutput struct { // // AssetModelStatus is a required field AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` + + // 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. + AssetModelType *string `locationName:"assetModelType" type:"string" enum:"AssetModelType"` } // String returns the string representation. @@ -15794,6 +19454,12 @@ func (s *DescribeAssetModelOutput) SetAssetModelArn(v string) *DescribeAssetMode return s } +// SetAssetModelCompositeModelSummaries sets the AssetModelCompositeModelSummaries field's value. +func (s *DescribeAssetModelOutput) SetAssetModelCompositeModelSummaries(v []*AssetModelCompositeModelSummary) *DescribeAssetModelOutput { + s.AssetModelCompositeModelSummaries = v + return s +} + // SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value. func (s *DescribeAssetModelOutput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *DescribeAssetModelOutput { s.AssetModelCompositeModels = v @@ -15812,6 +19478,12 @@ func (s *DescribeAssetModelOutput) SetAssetModelDescription(v string) *DescribeA return s } +// SetAssetModelExternalId sets the AssetModelExternalId field's value. +func (s *DescribeAssetModelOutput) SetAssetModelExternalId(v string) *DescribeAssetModelOutput { + s.AssetModelExternalId = &v + return s +} + // SetAssetModelHierarchies sets the AssetModelHierarchies field's value. func (s *DescribeAssetModelOutput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *DescribeAssetModelOutput { s.AssetModelHierarchies = v @@ -15848,6 +19520,12 @@ func (s *DescribeAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *Des return s } +// SetAssetModelType sets the AssetModelType field's value. +func (s *DescribeAssetModelOutput) SetAssetModelType(v string) *DescribeAssetModelOutput { + s.AssetModelType = &v + return s +} + type DescribeAssetOutput struct { _ struct{} `type:"structure"` @@ -15859,6 +19537,10 @@ type DescribeAssetOutput struct { // AssetArn is a required field AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"` + // The list of the immediate child custom composite model summaries for the + // asset. + AssetCompositeModelSummaries []*AssetCompositeModelSummary `locationName:"assetCompositeModelSummaries" type:"list"` + // The composite models for the asset. AssetCompositeModels []*AssetCompositeModel `locationName:"assetCompositeModels" type:"list"` @@ -15870,13 +19552,16 @@ type DescribeAssetOutput struct { // A description for the asset. AssetDescription *string `locationName:"assetDescription" min:"1" type:"string"` + // The external ID of the asset, if any. + AssetExternalId *string `locationName:"assetExternalId" min:"2" type:"string"` + // A list of asset hierarchies that each contain a hierarchyId. A hierarchy // specifies allowed parent/child asset relationships. // // AssetHierarchies is a required field AssetHierarchies []*AssetHierarchy `locationName:"assetHierarchies" type:"list" required:"true"` - // The ID of the asset. + // The ID of the asset, in UUID format. // // AssetId is a required field AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` @@ -15934,6 +19619,12 @@ func (s *DescribeAssetOutput) SetAssetArn(v string) *DescribeAssetOutput { return s } +// SetAssetCompositeModelSummaries sets the AssetCompositeModelSummaries field's value. +func (s *DescribeAssetOutput) SetAssetCompositeModelSummaries(v []*AssetCompositeModelSummary) *DescribeAssetOutput { + s.AssetCompositeModelSummaries = v + return s +} + // SetAssetCompositeModels sets the AssetCompositeModels field's value. func (s *DescribeAssetOutput) SetAssetCompositeModels(v []*AssetCompositeModel) *DescribeAssetOutput { s.AssetCompositeModels = v @@ -15952,6 +19643,12 @@ func (s *DescribeAssetOutput) SetAssetDescription(v string) *DescribeAssetOutput return s } +// SetAssetExternalId sets the AssetExternalId field's value. +func (s *DescribeAssetOutput) SetAssetExternalId(v string) *DescribeAssetOutput { + s.AssetExternalId = &v + return s +} + // SetAssetHierarchies sets the AssetHierarchies field's value. func (s *DescribeAssetOutput) SetAssetHierarchies(v []*AssetHierarchy) *DescribeAssetOutput { s.AssetHierarchies = v @@ -15997,15 +19694,21 @@ func (s *DescribeAssetOutput) SetAssetStatus(v *AssetStatus) *DescribeAssetOutpu type DescribeAssetPropertyInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` - // The ID of the asset property. + // The ID of the asset property. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // PropertyId is a required field - PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"` + PropertyId *string `location:"uri" locationName:"propertyId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -16032,14 +19735,14 @@ func (s *DescribeAssetPropertyInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.PropertyId == nil { invalidParams.Add(request.NewErrParamRequired("PropertyId")) } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + if s.PropertyId != nil && len(*s.PropertyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 13)) } if invalidParams.Len() > 0 { @@ -16063,12 +19766,17 @@ func (s *DescribeAssetPropertyInput) SetPropertyId(v string) *DescribeAssetPrope type DescribeAssetPropertyOutput struct { _ struct{} `type:"structure"` - // The ID of the asset. + // The external ID of the asset. For more information, see Using external IDs + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + AssetExternalId *string `locationName:"assetExternalId" min:"2" type:"string"` + + // The ID of the asset, in UUID format. // // AssetId is a required field AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"` - // The ID of the asset model. + // The ID of the asset model, in UUID format. // // AssetModelId is a required field AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"` @@ -16085,8 +19793,8 @@ type DescribeAssetPropertyOutput struct { // property information in compositeModel. AssetProperty *Property `locationName:"assetProperty" type:"structure"` - // The composite asset model that declares this asset property, if this asset - // property exists in a composite model. + // The composite model that declares this asset property, if this asset property + // exists in a composite model. CompositeModel *CompositeModelProperty `locationName:"compositeModel" type:"structure"` } @@ -16108,6 +19816,12 @@ func (s DescribeAssetPropertyOutput) GoString() string { return s.String() } +// SetAssetExternalId sets the AssetExternalId field's value. +func (s *DescribeAssetPropertyOutput) SetAssetExternalId(v string) *DescribeAssetPropertyOutput { + s.AssetExternalId = &v + return s +} + // SetAssetId sets the AssetId field's value. func (s *DescribeAssetPropertyOutput) SetAssetId(v string) *DescribeAssetPropertyOutput { s.AssetId = &v @@ -16190,6 +19904,15 @@ func (s *DescribeBulkImportJobInput) SetJobId(v string) *DescribeBulkImportJobIn type DescribeBulkImportJobOutput struct { _ struct{} `type:"structure"` + // If set to true, ingest new data into IoT SiteWise storage. Measurements with + // notifications, metrics and transforms are computed. If set to false, historical + // data is ingested into IoT SiteWise as is. + AdaptiveIngestion *bool `locationName:"adaptiveIngestion" type:"boolean"` + + // If set to true, your data files is deleted from S3, after ingestion into + // IoT SiteWise storage. + DeleteFilesAfterImport *bool `locationName:"deleteFilesAfterImport" type:"boolean"` + // The Amazon S3 destination where errors associated with the job creation request // are saved. // @@ -16233,7 +19956,7 @@ type DescribeBulkImportJobOutput struct { // JobRoleArn is a required field JobRoleArn *string `locationName:"jobRoleArn" min:"1" type:"string" required:"true"` - // The status of the bulk import job can be one of following values. + // The status of the bulk import job can be one of following values: // // * PENDING – IoT SiteWise is waiting for the current bulk import job // to finish. @@ -16276,6 +19999,18 @@ func (s DescribeBulkImportJobOutput) GoString() string { return s.String() } +// SetAdaptiveIngestion sets the AdaptiveIngestion field's value. +func (s *DescribeBulkImportJobOutput) SetAdaptiveIngestion(v bool) *DescribeBulkImportJobOutput { + s.AdaptiveIngestion = &v + return s +} + +// SetDeleteFilesAfterImport sets the DeleteFilesAfterImport field's value. +func (s *DescribeBulkImportJobOutput) SetDeleteFilesAfterImport(v bool) *DescribeBulkImportJobOutput { + s.DeleteFilesAfterImport = &v + return s +} + // SetErrorReportLocation sets the ErrorReportLocation field's value. func (s *DescribeBulkImportJobOutput) SetErrorReportLocation(v *ErrorReportLocation) *DescribeBulkImportJobOutput { s.ErrorReportLocation = v @@ -16991,8 +20726,8 @@ type DescribePortalOutput struct { PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"` // The IAM Identity Center application generated client ID (used with IAM Identity - // Center APIs). IoT SiteWise includes portalClientId for only portals that - // use IAM Identity Center to authenticate users. + // Center API operations). IoT SiteWise includes portalClientId for only portals + // that use IAM Identity Center to authenticate users. // // PortalClientId is a required field PortalClientId *string `locationName:"portalClientId" min:"1" type:"string" required:"true"` @@ -17357,8 +21092,8 @@ type DescribeStorageConfigurationOutput struct { // Contains information about the storage destination. MultiLayerStorage *MultiLayerStorage `locationName:"multiLayerStorage" type:"structure"` - // How many days your data is kept in the hot tier. By default, your data is - // kept indefinitely in the hot tier. + // The number of days your data is kept in the hot tier. By default, your data + // is kept indefinitely in the hot tier. RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"` // The storage tier that you specified for your data. The storageType parameter @@ -17372,6 +21107,15 @@ type DescribeStorageConfigurationOutput struct { // // StorageType is a required field StorageType *string `locationName:"storageType" type:"string" required:"true" enum:"StorageType"` + + // A service managed storage tier optimized for analytical queries. It stores + // periodically uploaded, buffered and historical data ingested with the CreaeBulkImportJob + // API. + WarmTier *string `locationName:"warmTier" type:"string" enum:"WarmTierState"` + + // 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. + WarmTierRetentionPeriod *WarmTierRetentionPeriod `locationName:"warmTierRetentionPeriod" type:"structure"` } // String returns the string representation. @@ -17428,17 +21172,36 @@ func (s *DescribeStorageConfigurationOutput) SetStorageType(v string) *DescribeS return s } +// SetWarmTier sets the WarmTier field's value. +func (s *DescribeStorageConfigurationOutput) SetWarmTier(v string) *DescribeStorageConfigurationOutput { + s.WarmTier = &v + return s +} + +// SetWarmTierRetentionPeriod sets the WarmTierRetentionPeriod field's value. +func (s *DescribeStorageConfigurationOutput) SetWarmTierRetentionPeriod(v *WarmTierRetentionPeriod) *DescribeStorageConfigurationOutput { + s.WarmTierRetentionPeriod = v + return s +} + type DescribeTimeSeriesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The alias that identifies the time series. Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string"` - // The ID of the asset in which the asset property was created. - AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + AssetId *string `location:"querystring" locationName:"assetId" min:"13" type:"string"` - // The ID of the asset property. - PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` + // The ID of the asset property. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + PropertyId *string `location:"querystring" locationName:"propertyId" min:"13" type:"string"` } // String returns the string representation. @@ -17465,11 +21228,11 @@ func (s *DescribeTimeSeriesInput) Validate() error { if s.Alias != nil && len(*s.Alias) < 1 { invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + if s.PropertyId != nil && len(*s.PropertyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 13)) } if invalidParams.Len() > 0 { @@ -17521,7 +21284,7 @@ type DescribeTimeSeriesOutput struct { // series. Use AWS/ALARM_STATE for alarm state in alarm composite models. DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` - // The ID of the asset property. + // The ID of the asset property, in UUID format. PropertyId *string `locationName:"propertyId" min:"36" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) @@ -17668,29 +21431,41 @@ func (s *DetailedError) SetMessage(v string) *DetailedError { type DisassociateAssetsInput struct { _ struct{} `type:"structure"` - // The ID of the parent asset from which to disassociate the child asset. + // The ID of the parent asset from which to disassociate the child 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` - // The ID of the child asset to disassociate. + // The ID of the child asset to disassociate. 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 + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // ChildAssetId is a required field - ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"` + ChildAssetId *string `locationName:"childAssetId" min:"13" type:"string" required:"true"` // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The ID of a hierarchy in the parent asset's model. Hierarchies allow different - // groupings of assets to be formed that all come from the same asset model. - // You can use the hierarchy ID to identify the correct asset to disassociate. - // For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) + // The ID of a hierarchy in the parent asset's model. (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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide.) Hierarchies allow different groupings of + // assets to be formed that all come from the same asset model. You can use + // the hierarchy ID to identify the correct asset to disassociate. For more + // information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) // in the IoT SiteWise User Guide. // // HierarchyId is a required field - HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"` + HierarchyId *string `locationName:"hierarchyId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -17717,14 +21492,14 @@ func (s *DisassociateAssetsInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.ChildAssetId == nil { invalidParams.Add(request.NewErrParamRequired("ChildAssetId")) } - if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36)) + if s.ChildAssetId != nil && len(*s.ChildAssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 13)) } if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) @@ -17732,8 +21507,8 @@ func (s *DisassociateAssetsInput) Validate() error { if s.HierarchyId == nil { invalidParams.Add(request.NewErrParamRequired("HierarchyId")) } - if s.HierarchyId != nil && len(*s.HierarchyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36)) + if s.HierarchyId != nil && len(*s.HierarchyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 13)) } if invalidParams.Len() > 0 { @@ -17796,20 +21571,27 @@ type DisassociateTimeSeriesFromAssetPropertyInput struct { // Alias is a required field Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string" required:"true"` - // The ID of the asset in which the asset property was created. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"querystring" locationName:"assetId" min:"13" type:"string" required:"true"` // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` - // The ID of the asset property. + // The ID of the asset property. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // PropertyId is a required field - PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string" required:"true"` + PropertyId *string `location:"querystring" locationName:"propertyId" min:"13" type:"string" required:"true"` } // String returns the string representation. @@ -17842,8 +21624,8 @@ func (s *DisassociateTimeSeriesFromAssetPropertyInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) @@ -17851,8 +21633,8 @@ func (s *DisassociateTimeSeriesFromAssetPropertyInput) Validate() error { if s.PropertyId == nil { invalidParams.Add(request.NewErrParamRequired("PropertyId")) } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + if s.PropertyId != nil && len(*s.PropertyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 13)) } if invalidParams.Len() > 0 { @@ -18031,6 +21813,262 @@ func (s *ErrorReportLocation) SetPrefix(v string) *ErrorReportLocation { return s } +type ExecuteActionInput struct { + _ struct{} `type:"structure"` + + // The ID of the action definition. + // + // ActionDefinitionId is a required field + ActionDefinitionId *string `locationName:"actionDefinitionId" min:"36" type:"string" required:"true"` + + // The JSON payload of the action. + // + // ActionPayload is a required field + ActionPayload *ActionPayload `locationName:"actionPayload" type:"structure" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string"` + + // The resource the action will be taken on. + // + // TargetResource is a required field + TargetResource *TargetResource `locationName:"targetResource" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExecuteActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteActionInput"} + if s.ActionDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionDefinitionId")) + } + if s.ActionDefinitionId != nil && len(*s.ActionDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionDefinitionId", 36)) + } + if s.ActionPayload == nil { + invalidParams.Add(request.NewErrParamRequired("ActionPayload")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.TargetResource == nil { + invalidParams.Add(request.NewErrParamRequired("TargetResource")) + } + if s.ActionPayload != nil { + if err := s.ActionPayload.Validate(); err != nil { + invalidParams.AddNested("ActionPayload", err.(request.ErrInvalidParams)) + } + } + if s.TargetResource != nil { + if err := s.TargetResource.Validate(); err != nil { + invalidParams.AddNested("TargetResource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionDefinitionId sets the ActionDefinitionId field's value. +func (s *ExecuteActionInput) SetActionDefinitionId(v string) *ExecuteActionInput { + s.ActionDefinitionId = &v + return s +} + +// SetActionPayload sets the ActionPayload field's value. +func (s *ExecuteActionInput) SetActionPayload(v *ActionPayload) *ExecuteActionInput { + s.ActionPayload = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *ExecuteActionInput) SetClientToken(v string) *ExecuteActionInput { + s.ClientToken = &v + return s +} + +// SetTargetResource sets the TargetResource field's value. +func (s *ExecuteActionInput) SetTargetResource(v *TargetResource) *ExecuteActionInput { + s.TargetResource = v + return s +} + +type ExecuteActionOutput struct { + _ struct{} `type:"structure"` + + // The ID of the action. + // + // ActionId is a required field + ActionId *string `locationName:"actionId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteActionOutput) GoString() string { + return s.String() +} + +// SetActionId sets the ActionId field's value. +func (s *ExecuteActionOutput) SetActionId(v string) *ExecuteActionOutput { + s.ActionId = &v + return s +} + +type ExecuteQueryInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. The default is 25. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The IoT SiteWise query statement. + // + // QueryStatement is a required field + QueryStatement *string `locationName:"queryStatement" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExecuteQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteQueryInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.QueryStatement == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStatement")) + } + if s.QueryStatement != nil && len(*s.QueryStatement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryStatement", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ExecuteQueryInput) SetMaxResults(v int64) *ExecuteQueryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ExecuteQueryInput) SetNextToken(v string) *ExecuteQueryInput { + s.NextToken = &v + return s +} + +// SetQueryStatement sets the QueryStatement field's value. +func (s *ExecuteQueryInput) SetQueryStatement(v string) *ExecuteQueryInput { + s.QueryStatement = &v + return s +} + +type ExecuteQueryOutput struct { + _ struct{} `type:"structure"` + + // Represents a single column in the query results. + Columns []*ColumnInfo `locationName:"columns" type:"list"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // Represents a single row in the query results. + Rows []*Row `locationName:"rows" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteQueryOutput) GoString() string { + return s.String() +} + +// SetColumns sets the Columns field's value. +func (s *ExecuteQueryOutput) SetColumns(v []*ColumnInfo) *ExecuteQueryOutput { + s.Columns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ExecuteQueryOutput) SetNextToken(v string) *ExecuteQueryOutput { + s.NextToken = &v + return s +} + +// SetRows sets the Rows field's value. +func (s *ExecuteQueryOutput) SetRows(v []*Row) *ExecuteQueryOutput { + s.Rows = v + return s +} + // Contains expression variable information. type ExpressionVariable struct { _ struct{} `type:"structure"` @@ -18175,12 +22213,15 @@ func (s *File) SetVersionId(v string) *File { return s } -// The file format of the data. +// The file format of the data in S3. type FileFormat struct { _ struct{} `type:"structure"` - // The .csv file format. + // The file is in .CSV format. Csv *Csv `locationName:"csv" type:"structure"` + + // The file is in parquet format. + Parquet *Parquet `locationName:"parquet" type:"structure"` } // String returns the string representation. @@ -18201,12 +22242,33 @@ func (s FileFormat) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileFormat) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileFormat"} + if s.Csv != nil { + if err := s.Csv.Validate(); err != nil { + invalidParams.AddNested("Csv", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCsv sets the Csv field's value. func (s *FileFormat) SetCsv(v *Csv) *FileFormat { s.Csv = v return s } +// SetParquet sets the Parquet field's value. +func (s *FileFormat) SetParquet(v *Parquet) *FileFormat { + s.Parquet = v + return s +} + // The forwarding configuration for a given property. type ForwardingConfig struct { _ struct{} `type:"structure"` @@ -18466,7 +22528,7 @@ type GetAssetPropertyAggregatesInput struct { // AggregateTypes is a required field AggregateTypes []*string `location:"querystring" locationName:"aggregateTypes" min:"1" type:"list" required:"true" enum:"AggregateType"` - // The ID of the asset. + // The ID of the asset, in UUID format. AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` // The inclusive end of the range from which to query historical data, expressed @@ -18481,7 +22543,7 @@ type GetAssetPropertyAggregatesInput struct { // * The size of the result set is equal to 1 MB. // // * The number of data points in the result set is equal to the value of - // maxResults. The maximum value of maxResults is 250. + // maxResults. The maximum value of maxResults is 2500. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. @@ -18493,7 +22555,7 @@ type GetAssetPropertyAggregatesInput struct { // in the IoT SiteWise User Guide. PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"` - // The ID of the asset property. + // The ID of the asset property, in UUID format. PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` // The quality by which to filter asset data. @@ -18692,7 +22754,7 @@ func (s *GetAssetPropertyAggregatesOutput) SetNextToken(v string) *GetAssetPrope type GetAssetPropertyValueHistoryInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset. + // The ID of the asset, in UUID format. AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` // The inclusive end of the range from which to query historical data, expressed @@ -18717,7 +22779,7 @@ type GetAssetPropertyValueHistoryInput struct { // in the IoT SiteWise User Guide. PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"` - // The ID of the asset property. + // The ID of the asset property, in UUID format. PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` // The quality by which to filter asset data. @@ -18879,7 +22941,7 @@ func (s *GetAssetPropertyValueHistoryOutput) SetNextToken(v string) *GetAssetPro type GetAssetPropertyValueInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset. + // The ID of the asset, in UUID format. AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` // The alias that identifies the property, such as an OPC-UA server data stream @@ -18888,7 +22950,7 @@ type GetAssetPropertyValueInput struct { // in the IoT SiteWise User Guide. PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"` - // The ID of the asset property. + // The ID of the asset property, in UUID format. PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` } @@ -18981,7 +23043,7 @@ func (s *GetAssetPropertyValueOutput) SetPropertyValue(v *AssetPropertyValue) *G type GetInterpolatedAssetPropertyValuesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset. + // The ID of the asset, in UUID format. AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` // The inclusive end of the range from which to interpolate data, expressed @@ -19034,7 +23096,7 @@ type GetInterpolatedAssetPropertyValuesInput struct { // in the IoT SiteWise User Guide. PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"` - // The ID of the asset property. + // The ID of the asset property, in UUID format. PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` // The quality of the asset property value. You can use this parameter as a @@ -19547,9 +23609,10 @@ func (s *IAMUserIdentity) SetArn(v string) *IAMUserIdentity { // Contains an identity that can access an IoT SiteWise Monitor resource. // -// Currently, you can't use Amazon Web Services APIs to retrieve IAM Identity -// Center identity IDs. You can find the IAM Identity Center identity IDs in -// the URL of user and group pages in the IAM Identity Center console (https://console.aws.amazon.com/singlesignon). +// Currently, you can't use Amazon Web Services API operations to retrieve IAM +// Identity Center identity IDs. You can find the IAM Identity Center identity +// IDs in the URL of user and group pages in the IAM Identity Center console +// (https://console.aws.amazon.com/singlesignon). type Identity struct { _ struct{} `type:"structure"` @@ -19993,7 +24056,7 @@ func (s *InvalidRequestException) RequestID() string { type JobConfiguration struct { _ struct{} `type:"structure"` - // The file format of the data in Amazon S3. + // The file format of the data in S3. // // FileFormat is a required field FileFormat *FileFormat `locationName:"fileFormat" type:"structure" required:"true"` @@ -20023,6 +24086,11 @@ func (s *JobConfiguration) Validate() error { if s.FileFormat == nil { invalidParams.Add(request.NewErrParamRequired("FileFormat")) } + if s.FileFormat != nil { + if err := s.FileFormat.Validate(); err != nil { + invalidParams.AddNested("FileFormat", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -20036,7 +24104,7 @@ func (s *JobConfiguration) SetFileFormat(v *FileFormat) *JobConfiguration { return s } -// Contains a job summary information. +// Contains the job summary information. type JobSummary struct { _ struct{} `type:"structure"` @@ -20050,7 +24118,7 @@ type JobSummary struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The status of the bulk import job can be one of following values. + // The status of the bulk import job can be one of following values: // // * PENDING – IoT SiteWise is waiting for the current bulk import job // to finish. @@ -20153,48 +24221,335 @@ func (s *LimitExceededException) Code() string { return "LimitExceededException" } -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAccessPoliciesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. This parameter is required if you specify IAM for + // identityType. + IamArn *string `location:"querystring" locationName:"iamArn" min:"1" type:"string"` + + // The ID of the identity. This parameter is required if you specify USER or + // GROUP for identityType. + IdentityId *string `location:"querystring" locationName:"identityId" min:"1" type:"string"` + + // The type of identity (IAM Identity Center user, IAM Identity Center group, + // or IAM user). This parameter is required if you specify identityId. + IdentityType *string `location:"querystring" locationName:"identityType" type:"string" enum:"IdentityType"` + + // The maximum number of results to return for each paginated request. + // + // Default: 50 + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The ID of the resource. This parameter is required if you specify resourceType. + ResourceId *string `location:"querystring" locationName:"resourceId" min:"36" type:"string"` + + // The type of resource (portal or project). This parameter is required if you + // specify resourceId. + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAccessPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAccessPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAccessPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAccessPoliciesInput"} + if s.IamArn != nil && len(*s.IamArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IamArn", 1)) + } + if s.IdentityId != nil && len(*s.IdentityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ResourceId != nil && len(*s.ResourceId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIamArn sets the IamArn field's value. +func (s *ListAccessPoliciesInput) SetIamArn(v string) *ListAccessPoliciesInput { + s.IamArn = &v + return s +} + +// SetIdentityId sets the IdentityId field's value. +func (s *ListAccessPoliciesInput) SetIdentityId(v string) *ListAccessPoliciesInput { + s.IdentityId = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *ListAccessPoliciesInput) SetIdentityType(v string) *ListAccessPoliciesInput { + s.IdentityType = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAccessPoliciesInput) SetMaxResults(v int64) *ListAccessPoliciesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAccessPoliciesInput) SetNextToken(v string) *ListAccessPoliciesInput { + s.NextToken = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ListAccessPoliciesInput) SetResourceId(v string) *ListAccessPoliciesInput { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListAccessPoliciesInput) SetResourceType(v string) *ListAccessPoliciesInput { + s.ResourceType = &v + return s +} + +type ListAccessPoliciesOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each access policy. + // + // AccessPolicySummaries is a required field + AccessPolicySummaries []*AccessPolicySummary `locationName:"accessPolicySummaries" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAccessPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAccessPoliciesOutput) GoString() string { + return s.String() +} + +// SetAccessPolicySummaries sets the AccessPolicySummaries field's value. +func (s *ListAccessPoliciesOutput) SetAccessPolicySummaries(v []*AccessPolicySummary) *ListAccessPoliciesOutput { + s.AccessPolicySummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAccessPoliciesOutput) SetNextToken(v string) *ListAccessPoliciesOutput { + s.NextToken = &v + return s +} + +type ListActionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to return for each paginated request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The ID of the target resource. + // + // TargetResourceId is a required field + TargetResourceId *string `location:"querystring" locationName:"targetResourceId" min:"13" type:"string" required:"true"` + + // The type of resource. + // + // TargetResourceType is a required field + TargetResourceType *string `location:"querystring" locationName:"targetResourceType" type:"string" required:"true" enum:"TargetResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListActionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListActionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListActionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListActionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.TargetResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("TargetResourceId")) + } + if s.TargetResourceId != nil && len(*s.TargetResourceId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceId", 13)) + } + if s.TargetResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("TargetResourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListActionsInput) SetMaxResults(v int64) *ListActionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListActionsInput) SetNextToken(v string) *ListActionsInput { + s.NextToken = &v + return s +} + +// SetTargetResourceId sets the TargetResourceId field's value. +func (s *ListActionsInput) SetTargetResourceId(v string) *ListActionsInput { + s.TargetResourceId = &v + return s +} + +// SetTargetResourceType sets the TargetResourceType field's value. +func (s *ListActionsInput) SetTargetResourceType(v string) *ListActionsInput { + s.TargetResourceType = &v + return s +} + +type ListActionsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes the actions associated with the specified asset. + // + // ActionSummaries is a required field + ActionSummaries []*ActionSummary `locationName:"actionSummaries" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + // + // NextToken is a required field + NextToken *string `locationName:"nextToken" min:"1" type:"string" required:"true"` } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListActionsOutput) String() string { + return awsutil.Prettify(s) } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListActionsOutput) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetActionSummaries sets the ActionSummaries field's value. +func (s *ListActionsOutput) SetActionSummaries(v []*ActionSummary) *ListActionsOutput { + s.ActionSummaries = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListActionsOutput) SetNextToken(v string) *ListActionsOutput { + s.NextToken = &v + return s } -type ListAccessPoliciesInput struct { +type ListAssetModelCompositeModelsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) - // in the IAM User Guide. This parameter is required if you specify IAM for - // identityType. - IamArn *string `location:"querystring" locationName:"iamArn" min:"1" type:"string"` - - // The ID of the identity. This parameter is required if you specify USER or - // GROUP for identityType. - IdentityId *string `location:"querystring" locationName:"identityId" min:"1" type:"string"` - - // The type of identity (IAM Identity Center user, IAM Identity Center group, - // or IAM user). This parameter is required if you specify identityId. - IdentityType *string `location:"querystring" locationName:"identityType" type:"string" enum:"IdentityType"` + // The ID of the asset model. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` // The maximum number of results to return for each paginated request. // @@ -20203,13 +24558,6 @@ type ListAccessPoliciesInput struct { // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` - - // The ID of the resource. This parameter is required if you specify resourceType. - ResourceId *string `location:"querystring" locationName:"resourceId" min:"36" type:"string"` - - // The type of resource (portal or project). This parameter is required if you - // specify resourceId. - ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" enum:"ResourceType"` } // String returns the string representation. @@ -20217,7 +24565,7 @@ type ListAccessPoliciesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccessPoliciesInput) String() string { +func (s ListAssetModelCompositeModelsInput) String() string { return awsutil.Prettify(s) } @@ -20226,18 +24574,18 @@ func (s ListAccessPoliciesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccessPoliciesInput) GoString() string { +func (s ListAssetModelCompositeModelsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAccessPoliciesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAccessPoliciesInput"} - if s.IamArn != nil && len(*s.IamArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IamArn", 1)) +func (s *ListAssetModelCompositeModelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssetModelCompositeModelsInput"} + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) } - if s.IdentityId != nil && len(*s.IdentityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IdentityId", 1)) + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -20245,9 +24593,6 @@ func (s *ListAccessPoliciesInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.ResourceId != nil && len(*s.ResourceId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 36)) - } if invalidParams.Len() > 0 { return invalidParams @@ -20255,55 +24600,31 @@ func (s *ListAccessPoliciesInput) Validate() error { return nil } -// SetIamArn sets the IamArn field's value. -func (s *ListAccessPoliciesInput) SetIamArn(v string) *ListAccessPoliciesInput { - s.IamArn = &v - return s -} - -// SetIdentityId sets the IdentityId field's value. -func (s *ListAccessPoliciesInput) SetIdentityId(v string) *ListAccessPoliciesInput { - s.IdentityId = &v - return s -} - -// SetIdentityType sets the IdentityType field's value. -func (s *ListAccessPoliciesInput) SetIdentityType(v string) *ListAccessPoliciesInput { - s.IdentityType = &v +// SetAssetModelId sets the AssetModelId field's value. +func (s *ListAssetModelCompositeModelsInput) SetAssetModelId(v string) *ListAssetModelCompositeModelsInput { + s.AssetModelId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListAccessPoliciesInput) SetMaxResults(v int64) *ListAccessPoliciesInput { +func (s *ListAssetModelCompositeModelsInput) SetMaxResults(v int64) *ListAssetModelCompositeModelsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAccessPoliciesInput) SetNextToken(v string) *ListAccessPoliciesInput { +func (s *ListAssetModelCompositeModelsInput) SetNextToken(v string) *ListAssetModelCompositeModelsInput { s.NextToken = &v return s } -// SetResourceId sets the ResourceId field's value. -func (s *ListAccessPoliciesInput) SetResourceId(v string) *ListAccessPoliciesInput { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *ListAccessPoliciesInput) SetResourceType(v string) *ListAccessPoliciesInput { - s.ResourceType = &v - return s -} - -type ListAccessPoliciesOutput struct { +type ListAssetModelCompositeModelsOutput struct { _ struct{} `type:"structure"` - // A list that summarizes each access policy. + // A list that summarizes each composite model. // - // AccessPolicySummaries is a required field - AccessPolicySummaries []*AccessPolicySummary `locationName:"accessPolicySummaries" type:"list" required:"true"` + // AssetModelCompositeModelSummaries is a required field + AssetModelCompositeModelSummaries []*AssetModelCompositeModelSummary `locationName:"assetModelCompositeModelSummaries" type:"list" required:"true"` // The token for the next set of results, or null if there are no additional // results. @@ -20315,7 +24636,7 @@ type ListAccessPoliciesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccessPoliciesOutput) String() string { +func (s ListAssetModelCompositeModelsOutput) String() string { return awsutil.Prettify(s) } @@ -20324,18 +24645,18 @@ func (s ListAccessPoliciesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccessPoliciesOutput) GoString() string { +func (s ListAssetModelCompositeModelsOutput) GoString() string { return s.String() } -// SetAccessPolicySummaries sets the AccessPolicySummaries field's value. -func (s *ListAccessPoliciesOutput) SetAccessPolicySummaries(v []*AccessPolicySummary) *ListAccessPoliciesOutput { - s.AccessPolicySummaries = v +// SetAssetModelCompositeModelSummaries sets the AssetModelCompositeModelSummaries field's value. +func (s *ListAssetModelCompositeModelsOutput) SetAssetModelCompositeModelSummaries(v []*AssetModelCompositeModelSummary) *ListAssetModelCompositeModelsOutput { + s.AssetModelCompositeModelSummaries = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAccessPoliciesOutput) SetNextToken(v string) *ListAccessPoliciesOutput { +func (s *ListAssetModelCompositeModelsOutput) SetNextToken(v string) *ListAssetModelCompositeModelsOutput { s.NextToken = &v return s } @@ -20343,10 +24664,13 @@ func (s *ListAccessPoliciesOutput) SetNextToken(v string) *ListAccessPoliciesOut type ListAssetModelPropertiesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset model. + // The ID of the asset model. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetModelId is a required field - AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"` + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` // Filters the requested list of asset model properties. You can choose one // of the following options: @@ -20392,8 +24716,8 @@ func (s *ListAssetModelPropertiesInput) Validate() error { if s.AssetModelId == nil { invalidParams.Add(request.NewErrParamRequired("AssetModelId")) } - if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -20479,6 +24803,16 @@ func (s *ListAssetModelPropertiesOutput) SetNextToken(v string) *ListAssetModelP type ListAssetModelsInput struct { _ struct{} `type:"structure" nopayload:"true"` + // 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. + AssetModelTypes []*string `location:"querystring" locationName:"assetModelTypes" type:"list" enum:"AssetModelType"` + // The maximum number of results to return for each paginated request. // // Default: 50 @@ -20522,6 +24856,12 @@ func (s *ListAssetModelsInput) Validate() error { return nil } +// SetAssetModelTypes sets the AssetModelTypes field's value. +func (s *ListAssetModelsInput) SetAssetModelTypes(v []*string) *ListAssetModelsInput { + s.AssetModelTypes = v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListAssetModelsInput) SetMaxResults(v int64) *ListAssetModelsInput { s.MaxResults = &v @@ -20580,10 +24920,13 @@ func (s *ListAssetModelsOutput) SetNextToken(v string) *ListAssetModelsOutput { type ListAssetPropertiesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` // Filters the requested list of asset properties. You can choose one of the // following options: @@ -20629,8 +24972,8 @@ func (s *ListAssetPropertiesInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -20715,10 +25058,13 @@ func (s *ListAssetPropertiesOutput) SetNextToken(v string) *ListAssetPropertiesO type ListAssetRelationshipsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` // The maximum number of results to return for each paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -20761,8 +25107,8 @@ func (s *ListAssetRelationshipsInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -20851,8 +25197,11 @@ type ListAssetsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ID of the asset model by which to filter the list of assets. This parameter - // is required if you choose ALL for filter. - AssetModelId *string `location:"querystring" locationName:"assetModelId" min:"36" type:"string"` + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + AssetModelId *string `location:"querystring" locationName:"assetModelId" min:"13" type:"string"` // The filter for the requested list of assets. Choose one of the following // options: @@ -20896,8 +25245,8 @@ func (s ListAssetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListAssetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"} - if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -20982,19 +25331,26 @@ func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput { type ListAssociatedAssetsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the asset to query. + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` // The ID of the hierarchy by which child assets are associated to the asset. - // To find a hierarchy ID, use the DescribeAsset (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) + // (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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide.) To find a hierarchy ID, use the DescribeAsset + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) // or DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html) // operations. This parameter is required if you choose CHILD for traversalDirection. // // For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) // in the IoT SiteWise User Guide. - HierarchyId *string `location:"querystring" locationName:"hierarchyId" min:"36" type:"string"` + HierarchyId *string `location:"querystring" locationName:"hierarchyId" min:"13" type:"string"` // The maximum number of results to return for each paginated request. // @@ -21039,11 +25395,11 @@ func (s *ListAssociatedAssetsInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } - if s.HierarchyId != nil && len(*s.HierarchyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36)) + if s.HierarchyId != nil && len(*s.HierarchyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -21239,6 +25595,127 @@ func (s *ListBulkImportJobsOutput) SetNextToken(v string) *ListBulkImportJobsOut return s } +type ListCompositionRelationshipsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the asset model. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"` + + // The maximum number of results to return for each paginated request. + // + // Default: 50 + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCompositionRelationshipsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCompositionRelationshipsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCompositionRelationshipsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCompositionRelationshipsInput"} + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetModelId sets the AssetModelId field's value. +func (s *ListCompositionRelationshipsInput) SetAssetModelId(v string) *ListCompositionRelationshipsInput { + s.AssetModelId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCompositionRelationshipsInput) SetMaxResults(v int64) *ListCompositionRelationshipsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCompositionRelationshipsInput) SetNextToken(v string) *ListCompositionRelationshipsInput { + s.NextToken = &v + return s +} + +type ListCompositionRelationshipsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each composition relationship. + // + // CompositionRelationshipSummaries is a required field + CompositionRelationshipSummaries []*CompositionRelationshipSummary `locationName:"compositionRelationshipSummaries" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCompositionRelationshipsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCompositionRelationshipsOutput) GoString() string { + return s.String() +} + +// SetCompositionRelationshipSummaries sets the CompositionRelationshipSummaries field's value. +func (s *ListCompositionRelationshipsOutput) SetCompositionRelationshipSummaries(v []*CompositionRelationshipSummary) *ListCompositionRelationshipsOutput { + s.CompositionRelationshipSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCompositionRelationshipsOutput) SetNextToken(v string) *ListCompositionRelationshipsOutput { + s.NextToken = &v + return s +} + type ListDashboardsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -21882,8 +26359,12 @@ type ListTimeSeriesInput struct { // The alias prefix of the time series. AliasPrefix *string `location:"querystring" locationName:"aliasPrefix" min:"1" type:"string"` - // The ID of the asset in which the asset property was created. - AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + AssetId *string `location:"querystring" locationName:"assetId" min:"13" type:"string"` // The maximum number of results to return for each paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -21924,8 +26405,8 @@ func (s *ListTimeSeriesInput) Validate() error { if s.AliasPrefix != nil && len(*s.AliasPrefix) < 1 { invalidParams.Add(request.NewErrParamMinLen("AliasPrefix", 1)) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -22476,10 +26957,33 @@ func (s *MultiLayerStorage) Validate() error { return nil } -// SetCustomerManagedS3Storage sets the CustomerManagedS3Storage field's value. -func (s *MultiLayerStorage) SetCustomerManagedS3Storage(v *CustomerManagedS3Storage) *MultiLayerStorage { - s.CustomerManagedS3Storage = v - return s +// SetCustomerManagedS3Storage sets the CustomerManagedS3Storage field's value. +func (s *MultiLayerStorage) SetCustomerManagedS3Storage(v *CustomerManagedS3Storage) *MultiLayerStorage { + s.CustomerManagedS3Storage = v + return s +} + +// A parquet file. +type Parquet struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Parquet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Parquet) GoString() string { + return s.String() } // Identifies an IoT SiteWise Monitor portal. @@ -22822,6 +27326,11 @@ type Property struct { // DataType is a required field DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"` + // The external ID of the asset property. For more information, see Using external + // IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + ExternalId *string `locationName:"externalId" min:"2" type:"string"` + // The ID of the asset property. // // Id is a required field @@ -22836,6 +27345,9 @@ type Property struct { // see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). Notification *PropertyNotification `locationName:"notification" type:"structure"` + // The structured path to the property from the root of the asset. + Path []*AssetPropertyPathSegment `locationName:"path" type:"list"` + // The property type (see PropertyType). A property contains one type. Type *PropertyType `locationName:"type" type:"structure"` @@ -22873,6 +27385,12 @@ func (s *Property) SetDataType(v string) *Property { return s } +// SetExternalId sets the ExternalId field's value. +func (s *Property) SetExternalId(v string) *Property { + s.ExternalId = &v + return s +} + // SetId sets the Id field's value. func (s *Property) SetId(v string) *Property { s.Id = &v @@ -22891,6 +27409,12 @@ func (s *Property) SetNotification(v *PropertyNotification) *Property { return s } +// SetPath sets the Path field's value. +func (s *Property) SetPath(v []*AssetPropertyPathSegment) *Property { + s.Path = v + return s +} + // SetType sets the Type field's value. func (s *Property) SetType(v *PropertyType) *Property { s.Type = v @@ -22999,11 +27523,6 @@ func (s PropertyType) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *PropertyType) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PropertyType"} - if s.Attribute != nil { - if err := s.Attribute.Validate(); err != nil { - invalidParams.AddNested("Attribute", err.(request.ErrInvalidParams)) - } - } if s.Measurement != nil { if err := s.Measurement.Validate(); err != nil { invalidParams.AddNested("Measurement", err.(request.ErrInvalidParams)) @@ -23375,8 +27894,8 @@ type PutStorageConfigurationInput struct { // the storage type, you must specify a MultiLayerStorage object. MultiLayerStorage *MultiLayerStorage `locationName:"multiLayerStorage" type:"structure"` - // How many days your data is kept in the hot tier. By default, your data is - // kept indefinitely in the hot tier. + // The number of days your data is kept in the hot tier. By default, your data + // is kept indefinitely in the hot tier. RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"` // The storage tier that you specified for your data. The storageType parameter @@ -23390,6 +27909,15 @@ type PutStorageConfigurationInput struct { // // StorageType is a required field StorageType *string `locationName:"storageType" type:"string" required:"true" enum:"StorageType"` + + // A service managed storage tier optimized for analytical queries. It stores + // periodically uploaded, buffered and historical data ingested with the CreaeBulkImportJob + // API. + WarmTier *string `locationName:"warmTier" type:"string" enum:"WarmTierState"` + + // 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. + WarmTierRetentionPeriod *WarmTierRetentionPeriod `locationName:"warmTierRetentionPeriod" type:"structure"` } // String returns the string representation. @@ -23426,6 +27954,11 @@ func (s *PutStorageConfigurationInput) Validate() error { invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams)) } } + if s.WarmTierRetentionPeriod != nil { + if err := s.WarmTierRetentionPeriod.Validate(); err != nil { + invalidParams.AddNested("WarmTierRetentionPeriod", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -23457,6 +27990,18 @@ func (s *PutStorageConfigurationInput) SetStorageType(v string) *PutStorageConfi return s } +// SetWarmTier sets the WarmTier field's value. +func (s *PutStorageConfigurationInput) SetWarmTier(v string) *PutStorageConfigurationInput { + s.WarmTier = &v + return s +} + +// SetWarmTierRetentionPeriod sets the WarmTierRetentionPeriod field's value. +func (s *PutStorageConfigurationInput) SetWarmTierRetentionPeriod(v *WarmTierRetentionPeriod) *PutStorageConfigurationInput { + s.WarmTierRetentionPeriod = v + return s +} + type PutStorageConfigurationOutput struct { _ struct{} `type:"structure"` @@ -23483,8 +28028,8 @@ type PutStorageConfigurationOutput struct { // Contains information about the storage destination. MultiLayerStorage *MultiLayerStorage `locationName:"multiLayerStorage" type:"structure"` - // How many days your data is kept in the hot tier. By default, your data is - // kept indefinitely in the hot tier. + // The number of days your data is kept in the hot tier. By default, your data + // is kept indefinitely in the hot tier. RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"` // The storage tier that you specified for your data. The storageType parameter @@ -23498,6 +28043,15 @@ type PutStorageConfigurationOutput struct { // // StorageType is a required field StorageType *string `locationName:"storageType" type:"string" required:"true" enum:"StorageType"` + + // A service managed storage tier optimized for analytical queries. It stores + // periodically uploaded, buffered and historical data ingested with the CreaeBulkImportJob + // API. + WarmTier *string `locationName:"warmTier" type:"string" enum:"WarmTierState"` + + // 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. + WarmTierRetentionPeriod *WarmTierRetentionPeriod `locationName:"warmTierRetentionPeriod" type:"structure"` } // String returns the string representation. @@ -23548,6 +28102,82 @@ func (s *PutStorageConfigurationOutput) SetStorageType(v string) *PutStorageConf return s } +// SetWarmTier sets the WarmTier field's value. +func (s *PutStorageConfigurationOutput) SetWarmTier(v string) *PutStorageConfigurationOutput { + s.WarmTier = &v + return s +} + +// SetWarmTierRetentionPeriod sets the WarmTierRetentionPeriod field's value. +func (s *PutStorageConfigurationOutput) SetWarmTierRetentionPeriod(v *WarmTierRetentionPeriod) *PutStorageConfigurationOutput { + s.WarmTierRetentionPeriod = v + return s +} + +// The query timed out. +type QueryTimeoutException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryTimeoutException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryTimeoutException) GoString() string { + return s.String() +} + +func newErrorQueryTimeoutException(v protocol.ResponseMetadata) error { + return &QueryTimeoutException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *QueryTimeoutException) Code() string { + return "QueryTimeoutException" +} + +// Message returns the exception's message. +func (s *QueryTimeoutException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *QueryTimeoutException) OrigErr() error { + return nil +} + +func (s *QueryTimeoutException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *QueryTimeoutException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *QueryTimeoutException) RequestID() string { + return s.RespMetadata.RequestID +} + // Contains an IoT SiteWise Monitor resource ID for a portal or project. type Resource struct { _ struct{} `type:"structure"` @@ -23747,8 +28377,8 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// How many days your data is kept in the hot tier. By default, your data is -// kept indefinitely in the hot tier. +// The number of days your data is kept in the hot tier. By default, your data +// is kept indefinitely in the hot tier. type RetentionPeriod struct { _ struct{} `type:"structure"` @@ -23808,6 +28438,40 @@ func (s *RetentionPeriod) SetUnlimited(v bool) *RetentionPeriod { return s } +// Represents a single row in the query results. +type Row struct { + _ struct{} `type:"structure"` + + // List of data points in a single row of the result set. + // + // Data is a required field + Data []*Datum `locationName:"data" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Row) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Row) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *Row) SetData(v []*Datum) *Row { + s.Data = v + return s +} + // The requested service is unavailable. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -23963,6 +28627,56 @@ func (s TagResourceOutput) GoString() string { return s.String() } +// The resource the action will be taken on. +type TargetResource struct { + _ struct{} `type:"structure"` + + // The ID of the asset, in UUID format. + // + // AssetId is a required field + AssetId *string `locationName:"assetId" min:"13" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TargetResource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TargetResource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetResource"} + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *TargetResource) SetAssetId(v string) *TargetResource { + s.AssetId = &v + return s +} + // Your request exceeded a rate limit. For example, you might have exceeded // the number of IoT SiteWise assets that can be created per second, the allowed // number of messages per second, and so on. @@ -24118,7 +28832,7 @@ type TimeSeriesSummary struct { // series. Use AWS/ALARM_STATE for alarm state in alarm composite models. DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"` - // The ID of the asset property. + // The ID of the asset property, in UUID format. PropertyId *string `locationName:"propertyId" min:"36" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) @@ -24857,15 +29571,143 @@ type UpdateAssetInput struct { // A description for the asset. AssetDescription *string `locationName:"assetDescription" min:"1" type:"string"` - // The ID of the asset to update. + // An external ID to assign to the asset. The asset 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + AssetExternalId *string `locationName:"assetExternalId" min:"2" type:"string"` + + // The ID of the asset to update. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. + // + // AssetId is a required field + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` + + // A friendly name for the asset. + // + // AssetName is a required field + AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"` + + // A unique case-sensitive identifier that you can provide to ensure the idempotency + // of the request. Don't reuse this client token if a new idempotent request + // is required. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAssetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAssetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAssetInput"} + if s.AssetDescription != nil && len(*s.AssetDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetDescription", 1)) + } + if s.AssetExternalId != nil && len(*s.AssetExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetExternalId", 2)) + } + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) + } + if s.AssetName == nil { + invalidParams.Add(request.NewErrParamRequired("AssetName")) + } + if s.AssetName != nil && len(*s.AssetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetDescription sets the AssetDescription field's value. +func (s *UpdateAssetInput) SetAssetDescription(v string) *UpdateAssetInput { + s.AssetDescription = &v + return s +} + +// SetAssetExternalId sets the AssetExternalId field's value. +func (s *UpdateAssetInput) SetAssetExternalId(v string) *UpdateAssetInput { + s.AssetExternalId = &v + return s +} + +// SetAssetId sets the AssetId field's value. +func (s *UpdateAssetInput) SetAssetId(v string) *UpdateAssetInput { + s.AssetId = &v + return s +} + +// SetAssetName sets the AssetName field's value. +func (s *UpdateAssetInput) SetAssetName(v string) *UpdateAssetInput { + s.AssetName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateAssetInput) SetClientToken(v string) *UpdateAssetInput { + s.ClientToken = &v + return s +} + +type UpdateAssetModelCompositeModelInput struct { + _ struct{} `type:"structure"` + + // A description for the composite model. + AssetModelCompositeModelDescription *string `locationName:"assetModelCompositeModelDescription" min:"1" type:"string"` + + // An external ID to assign to the asset model. You can only set the external + // ID of the asset model if it wasn't set when it was created, or you're setting + // it to the exact same thing as when it was created. + AssetModelCompositeModelExternalId *string `locationName:"assetModelCompositeModelExternalId" min:"2" type:"string"` + + // The ID of a composite model on this asset model. + // + // AssetModelCompositeModelId is a required field + AssetModelCompositeModelId *string `location:"uri" locationName:"assetModelCompositeModelId" min:"13" type:"string" required:"true"` + + // A unique, friendly name for the composite model. + // + // AssetModelCompositeModelName is a required field + AssetModelCompositeModelName *string `locationName:"assetModelCompositeModelName" min:"1" type:"string" required:"true"` + + // The property definitions of the composite model. For more information, see + // . // - // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + // You can specify up to 200 properties per composite model. For more information, + // see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) + // in the IoT SiteWise User Guide. + AssetModelCompositeModelProperties []*AssetModelProperty `locationName:"assetModelCompositeModelProperties" type:"list"` - // A friendly name for the asset. + // The ID of the asset model, in UUID format. // - // AssetName is a required field - AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"` + // AssetModelId is a required field + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request @@ -24878,7 +29720,7 @@ type UpdateAssetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateAssetInput) String() string { +func (s UpdateAssetModelCompositeModelInput) String() string { return awsutil.Prettify(s) } @@ -24887,31 +29729,50 @@ func (s UpdateAssetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateAssetInput) GoString() string { +func (s UpdateAssetModelCompositeModelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAssetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAssetInput"} - if s.AssetDescription != nil && len(*s.AssetDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetDescription", 1)) +func (s *UpdateAssetModelCompositeModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAssetModelCompositeModelInput"} + if s.AssetModelCompositeModelDescription != nil && len(*s.AssetModelCompositeModelDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelDescription", 1)) } - if s.AssetId == nil { - invalidParams.Add(request.NewErrParamRequired("AssetId")) + if s.AssetModelCompositeModelExternalId != nil && len(*s.AssetModelCompositeModelExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelExternalId", 2)) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetModelCompositeModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelCompositeModelId")) } - if s.AssetName == nil { - invalidParams.Add(request.NewErrParamRequired("AssetName")) + if s.AssetModelCompositeModelId != nil && len(*s.AssetModelCompositeModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelId", 13)) } - if s.AssetName != nil && len(*s.AssetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssetName", 1)) + if s.AssetModelCompositeModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelCompositeModelName")) + } + if s.AssetModelCompositeModelName != nil && len(*s.AssetModelCompositeModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelCompositeModelName", 1)) + } + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } + if s.AssetModelCompositeModelProperties != nil { + for i, v := range s.AssetModelCompositeModelProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModelProperties", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -24919,42 +29780,117 @@ func (s *UpdateAssetInput) Validate() error { return nil } -// SetAssetDescription sets the AssetDescription field's value. -func (s *UpdateAssetInput) SetAssetDescription(v string) *UpdateAssetInput { - s.AssetDescription = &v +// SetAssetModelCompositeModelDescription sets the AssetModelCompositeModelDescription field's value. +func (s *UpdateAssetModelCompositeModelInput) SetAssetModelCompositeModelDescription(v string) *UpdateAssetModelCompositeModelInput { + s.AssetModelCompositeModelDescription = &v return s } -// SetAssetId sets the AssetId field's value. -func (s *UpdateAssetInput) SetAssetId(v string) *UpdateAssetInput { - s.AssetId = &v +// SetAssetModelCompositeModelExternalId sets the AssetModelCompositeModelExternalId field's value. +func (s *UpdateAssetModelCompositeModelInput) SetAssetModelCompositeModelExternalId(v string) *UpdateAssetModelCompositeModelInput { + s.AssetModelCompositeModelExternalId = &v return s } -// SetAssetName sets the AssetName field's value. -func (s *UpdateAssetInput) SetAssetName(v string) *UpdateAssetInput { - s.AssetName = &v +// SetAssetModelCompositeModelId sets the AssetModelCompositeModelId field's value. +func (s *UpdateAssetModelCompositeModelInput) SetAssetModelCompositeModelId(v string) *UpdateAssetModelCompositeModelInput { + s.AssetModelCompositeModelId = &v + return s +} + +// SetAssetModelCompositeModelName sets the AssetModelCompositeModelName field's value. +func (s *UpdateAssetModelCompositeModelInput) SetAssetModelCompositeModelName(v string) *UpdateAssetModelCompositeModelInput { + s.AssetModelCompositeModelName = &v + return s +} + +// SetAssetModelCompositeModelProperties sets the AssetModelCompositeModelProperties field's value. +func (s *UpdateAssetModelCompositeModelInput) SetAssetModelCompositeModelProperties(v []*AssetModelProperty) *UpdateAssetModelCompositeModelInput { + s.AssetModelCompositeModelProperties = v + return s +} + +// SetAssetModelId sets the AssetModelId field's value. +func (s *UpdateAssetModelCompositeModelInput) SetAssetModelId(v string) *UpdateAssetModelCompositeModelInput { + s.AssetModelId = &v return s } // SetClientToken sets the ClientToken field's value. -func (s *UpdateAssetInput) SetClientToken(v string) *UpdateAssetInput { +func (s *UpdateAssetModelCompositeModelInput) SetClientToken(v string) *UpdateAssetModelCompositeModelInput { s.ClientToken = &v return s } +type UpdateAssetModelCompositeModelOutput struct { + _ struct{} `type:"structure"` + + // The path to the composite model listing the parent composite models. + // + // AssetModelCompositeModelPath is a required field + AssetModelCompositeModelPath []*AssetModelCompositeModelPathSegment `locationName:"assetModelCompositeModelPath" type:"list" required:"true"` + + // Contains current status information for an asset model. For more information, + // see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html) + // in the IoT SiteWise User Guide. + // + // AssetModelStatus is a required field + AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAssetModelCompositeModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAssetModelCompositeModelOutput) GoString() string { + return s.String() +} + +// SetAssetModelCompositeModelPath sets the AssetModelCompositeModelPath field's value. +func (s *UpdateAssetModelCompositeModelOutput) SetAssetModelCompositeModelPath(v []*AssetModelCompositeModelPathSegment) *UpdateAssetModelCompositeModelOutput { + s.AssetModelCompositeModelPath = v + return s +} + +// SetAssetModelStatus sets the AssetModelStatus field's value. +func (s *UpdateAssetModelCompositeModelOutput) SetAssetModelStatus(v *AssetModelStatus) *UpdateAssetModelCompositeModelOutput { + s.AssetModelStatus = v + return s +} + type UpdateAssetModelInput struct { _ struct{} `type:"structure"` - // The composite asset models that are part of this asset model. Composite asset - // models are asset models that contain specific properties. Each composite - // model has a type that defines the properties that the composite model supports. - // Use composite asset models to define alarms on this asset model. + // The composite models that are part of this asset model. It groups properties + // (such as attributes, measurements, transforms, and metrics) and child composite + // models that model parts of your industrial equipment. Each composite model + // has a type that defines the properties that the composite model supports. + // Use composite models to define alarms on this asset model. + // + // When creating custom composite models, you need to use CreateAssetModelCompositeModel + // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html). + // For more information, see . AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"` // A description for the asset model. AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"` + // 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + AssetModelExternalId *string `locationName:"assetModelExternalId" min:"2" type:"string"` + // The updated hierarchy definitions of the asset model. Each hierarchy specifies // an asset model whose assets can be children of any other assets created from // this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html) @@ -24965,10 +29901,13 @@ type UpdateAssetModelInput struct { // in the IoT SiteWise User Guide. AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list"` - // The ID of the asset model to update. + // The ID of the asset model to update. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetModelId is a required field - AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"` + AssetModelId *string `location:"uri" locationName:"assetModelId" min:"13" type:"string" required:"true"` // A unique, friendly name for the asset model. // @@ -25014,11 +29953,14 @@ func (s *UpdateAssetModelInput) Validate() error { if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 { invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1)) } + if s.AssetModelExternalId != nil && len(*s.AssetModelExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelExternalId", 2)) + } if s.AssetModelId == nil { invalidParams.Add(request.NewErrParamRequired("AssetModelId")) } - if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + if s.AssetModelId != nil && len(*s.AssetModelId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 13)) } if s.AssetModelName == nil { invalidParams.Add(request.NewErrParamRequired("AssetModelName")) @@ -25078,6 +30020,12 @@ func (s *UpdateAssetModelInput) SetAssetModelDescription(v string) *UpdateAssetM return s } +// SetAssetModelExternalId sets the AssetModelExternalId field's value. +func (s *UpdateAssetModelInput) SetAssetModelExternalId(v string) *UpdateAssetModelInput { + s.AssetModelExternalId = &v + return s +} + // SetAssetModelHierarchies sets the AssetModelHierarchies field's value. func (s *UpdateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *UpdateAssetModelInput { s.AssetModelHierarchies = v @@ -25179,10 +30127,13 @@ func (s *UpdateAssetOutput) SetAssetStatus(v *AssetStatus) *UpdateAssetOutput { type UpdateAssetPropertyInput struct { _ struct{} `type:"structure"` - // The ID of the asset to be updated. + // The ID of the asset to be updated. 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 (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // AssetId is a required field - AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"` + AssetId *string `location:"uri" locationName:"assetId" min:"13" type:"string" required:"true"` // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request @@ -25197,10 +30148,14 @@ type UpdateAssetPropertyInput struct { // If you omit this parameter, the alias is removed from the property. PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` - // The ID of the asset property to be updated. + // The ID of the asset property to be updated. 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 + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references) + // in the IoT SiteWise User Guide. // // PropertyId is a required field - PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"` + PropertyId *string `location:"uri" locationName:"propertyId" min:"13" type:"string" required:"true"` // The MQTT notification state (enabled or disabled) for this asset property. // When the notification state is enabled, IoT SiteWise publishes property value @@ -25241,8 +30196,8 @@ func (s *UpdateAssetPropertyInput) Validate() error { if s.AssetId == nil { invalidParams.Add(request.NewErrParamRequired("AssetId")) } - if s.AssetId != nil && len(*s.AssetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + if s.AssetId != nil && len(*s.AssetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 13)) } if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) @@ -25253,8 +30208,8 @@ func (s *UpdateAssetPropertyInput) Validate() error { if s.PropertyId == nil { invalidParams.Add(request.NewErrParamRequired("PropertyId")) } - if s.PropertyId != nil && len(*s.PropertyId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + if s.PropertyId != nil && len(*s.PropertyId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 13)) } if s.PropertyUnit != nil && len(*s.PropertyUnit) < 1 { invalidParams.Add(request.NewErrParamMinLen("PropertyUnit", 1)) @@ -26061,12 +31016,79 @@ func (s *UserIdentity) SetId(v string) *UserIdentity { return s } +// The validation failed for this query. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + // Identifies a property value used in an expression. type VariableValue struct { _ struct{} `type:"structure"` // The ID of the hierarchy to query for the property ID. You can use the hierarchy's - // name instead of the hierarchy's ID. + // name instead of the hierarchy's ID. If the hierarchy has an external ID, + // you can specify externalId: followed by the external ID. For more information, + // see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. // // You use a hierarchy ID instead of a model ID because you can have several // hierarchies using the same model and therefore the same propertyId. For example, @@ -26076,10 +31098,14 @@ type VariableValue struct { HierarchyId *string `locationName:"hierarchyId" min:"1" type:"string"` // The ID of the property to use as the variable. You can use the property name - // if it's from the same asset model. - // - // PropertyId is a required field - PropertyId *string `locationName:"propertyId" min:"1" type:"string" required:"true"` + // if it's from the same asset model. If the property has an external ID, you + // can specify externalId: followed by the external ID. For more information, + // see Using external IDs (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids) + // in the IoT SiteWise User Guide. + PropertyId *string `locationName:"propertyId" min:"1" type:"string"` + + // The path of the property. + PropertyPath []*AssetModelPropertyPathSegment `locationName:"propertyPath" type:"list"` } // String returns the string representation. @@ -26106,12 +31132,19 @@ func (s *VariableValue) Validate() error { if s.HierarchyId != nil && len(*s.HierarchyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 1)) } - if s.PropertyId == nil { - invalidParams.Add(request.NewErrParamRequired("PropertyId")) - } if s.PropertyId != nil && len(*s.PropertyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PropertyId", 1)) } + if s.PropertyPath != nil { + for i, v := range s.PropertyPath { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyPath", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -26131,6 +31164,12 @@ func (s *VariableValue) SetPropertyId(v string) *VariableValue { return s } +// SetPropertyPath sets the PropertyPath field's value. +func (s *VariableValue) SetPropertyPath(v []*AssetModelPropertyPathSegment) *VariableValue { + s.PropertyPath = v + return s +} + // Contains an asset property value (of a single type only). type Variant struct { _ struct{} `type:"structure"` @@ -26141,7 +31180,8 @@ type Variant struct { // Asset property data of type double (floating point number). DoubleValue *float64 `locationName:"doubleValue" type:"double"` - // Asset property data of type integer (whole number). + // Asset property data of type integer (number that's greater than or equal + // to zero). IntegerValue *int64 `locationName:"integerValue" type:"integer"` // Asset property data of type string (sequence of characters). @@ -26190,6 +31230,61 @@ func (s *Variant) SetStringValue(v string) *Variant { return s } +// 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. +type WarmTierRetentionPeriod struct { + _ struct{} `type:"structure"` + + // The number of days the data is stored in the warm tier. + NumberOfDays *int64 `locationName:"numberOfDays" min:"30" type:"integer"` + + // If set to true, the data is stored indefinitely in the warm tier. + Unlimited *bool `locationName:"unlimited" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarmTierRetentionPeriod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarmTierRetentionPeriod) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WarmTierRetentionPeriod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WarmTierRetentionPeriod"} + if s.NumberOfDays != nil && *s.NumberOfDays < 30 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfDays", 30)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNumberOfDays sets the NumberOfDays field's value. +func (s *WarmTierRetentionPeriod) SetNumberOfDays(v int64) *WarmTierRetentionPeriod { + s.NumberOfDays = &v + return s +} + +// SetUnlimited sets the Unlimited field's value. +func (s *WarmTierRetentionPeriod) SetUnlimited(v bool) *WarmTierRetentionPeriod { + s.Unlimited = &v + return s +} + const ( // AggregateTypeAverage is a AggregateType enum value AggregateTypeAverage = "AVERAGE" @@ -26266,6 +31361,22 @@ func AssetModelState_Values() []string { } } +const ( + // AssetModelTypeAssetModel is a AssetModelType enum value + AssetModelTypeAssetModel = "ASSET_MODEL" + + // AssetModelTypeComponentModel is a AssetModelType enum value + AssetModelTypeComponentModel = "COMPONENT_MODEL" +) + +// AssetModelType_Values returns all elements of the AssetModelType enum +func AssetModelType_Values() []string { + return []string{ + AssetModelTypeAssetModel, + AssetModelTypeComponentModel, + } +} + const ( // AssetRelationshipTypeHierarchy is a AssetRelationshipType enum value AssetRelationshipTypeHierarchy = "HIERARCHY" @@ -26950,6 +32061,34 @@ func ResourceType_Values() []string { } } +const ( + // ScalarTypeBoolean is a ScalarType enum value + ScalarTypeBoolean = "BOOLEAN" + + // ScalarTypeInt is a ScalarType enum value + ScalarTypeInt = "INT" + + // ScalarTypeDouble is a ScalarType enum value + ScalarTypeDouble = "DOUBLE" + + // ScalarTypeTimestamp is a ScalarType enum value + ScalarTypeTimestamp = "TIMESTAMP" + + // ScalarTypeString is a ScalarType enum value + ScalarTypeString = "STRING" +) + +// ScalarType_Values returns all elements of the ScalarType enum +func ScalarType_Values() []string { + return []string{ + ScalarTypeBoolean, + ScalarTypeInt, + ScalarTypeDouble, + ScalarTypeTimestamp, + ScalarTypeString, + } +} + const ( // StorageTypeSitewiseDefaultStorage is a StorageType enum value StorageTypeSitewiseDefaultStorage = "SITEWISE_DEFAULT_STORAGE" @@ -26966,6 +32105,18 @@ func StorageType_Values() []string { } } +const ( + // TargetResourceTypeAsset is a TargetResourceType enum value + TargetResourceTypeAsset = "ASSET" +) + +// TargetResourceType_Values returns all elements of the TargetResourceType enum +func TargetResourceType_Values() []string { + return []string{ + TargetResourceTypeAsset, + } +} + const ( // TimeOrderingAscending is a TimeOrdering enum value TimeOrderingAscending = "ASCENDING" @@ -27009,3 +32160,19 @@ func TraversalType_Values() []string { TraversalTypePathToRoot, } } + +const ( + // WarmTierStateEnabled is a WarmTierState enum value + WarmTierStateEnabled = "ENABLED" + + // WarmTierStateDisabled is a WarmTierState enum value + WarmTierStateDisabled = "DISABLED" +) + +// WarmTierState_Values returns all elements of the WarmTierState enum +func WarmTierState_Values() []string { + return []string{ + WarmTierStateEnabled, + WarmTierStateDisabled, + } +} diff --git a/service/iotsitewise/errors.go b/service/iotsitewise/errors.go index d083cdc6f9a..bb570362027 100644 --- a/service/iotsitewise/errors.go +++ b/service/iotsitewise/errors.go @@ -8,6 +8,12 @@ import ( const ( + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Access is denied. + ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConflictingOperationException for service response error code // "ConflictingOperationException". // @@ -39,6 +45,12 @@ const ( // in the IoT SiteWise User Guide. ErrCodeLimitExceededException = "LimitExceededException" + // ErrCodeQueryTimeoutException for service response error code + // "QueryTimeoutException". + // + // The query timed out. + ErrCodeQueryTimeoutException = "QueryTimeoutException" + // ErrCodeResourceAlreadyExistsException for service response error code // "ResourceAlreadyExistsException". // @@ -81,17 +93,26 @@ const ( // // You are not authorized. ErrCodeUnauthorizedException = "UnauthorizedException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The validation failed for this query. + ErrCodeValidationException = "ValidationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, "ConflictingOperationException": newErrorConflictingOperationException, "InternalFailureException": newErrorInternalFailureException, "InvalidRequestException": newErrorInvalidRequestException, "LimitExceededException": newErrorLimitExceededException, + "QueryTimeoutException": newErrorQueryTimeoutException, "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, "ResourceNotFoundException": newErrorResourceNotFoundException, "ServiceUnavailableException": newErrorServiceUnavailableException, "ThrottlingException": newErrorThrottlingException, "TooManyTagsException": newErrorTooManyTagsException, "UnauthorizedException": newErrorUnauthorizedException, + "ValidationException": newErrorValidationException, } diff --git a/service/iotsitewise/iotsitewiseiface/interface.go b/service/iotsitewise/iotsitewiseiface/interface.go index 8a39bc19a81..9fef0e98d9d 100644 --- a/service/iotsitewise/iotsitewiseiface/interface.go +++ b/service/iotsitewise/iotsitewiseiface/interface.go @@ -113,6 +113,10 @@ type IoTSiteWiseAPI interface { CreateAssetModelWithContext(aws.Context, *iotsitewise.CreateAssetModelInput, ...request.Option) (*iotsitewise.CreateAssetModelOutput, error) CreateAssetModelRequest(*iotsitewise.CreateAssetModelInput) (*request.Request, *iotsitewise.CreateAssetModelOutput) + CreateAssetModelCompositeModel(*iotsitewise.CreateAssetModelCompositeModelInput) (*iotsitewise.CreateAssetModelCompositeModelOutput, error) + CreateAssetModelCompositeModelWithContext(aws.Context, *iotsitewise.CreateAssetModelCompositeModelInput, ...request.Option) (*iotsitewise.CreateAssetModelCompositeModelOutput, error) + CreateAssetModelCompositeModelRequest(*iotsitewise.CreateAssetModelCompositeModelInput) (*request.Request, *iotsitewise.CreateAssetModelCompositeModelOutput) + CreateBulkImportJob(*iotsitewise.CreateBulkImportJobInput) (*iotsitewise.CreateBulkImportJobOutput, error) CreateBulkImportJobWithContext(aws.Context, *iotsitewise.CreateBulkImportJobInput, ...request.Option) (*iotsitewise.CreateBulkImportJobOutput, error) CreateBulkImportJobRequest(*iotsitewise.CreateBulkImportJobInput) (*request.Request, *iotsitewise.CreateBulkImportJobOutput) @@ -145,6 +149,10 @@ type IoTSiteWiseAPI interface { DeleteAssetModelWithContext(aws.Context, *iotsitewise.DeleteAssetModelInput, ...request.Option) (*iotsitewise.DeleteAssetModelOutput, error) DeleteAssetModelRequest(*iotsitewise.DeleteAssetModelInput) (*request.Request, *iotsitewise.DeleteAssetModelOutput) + DeleteAssetModelCompositeModel(*iotsitewise.DeleteAssetModelCompositeModelInput) (*iotsitewise.DeleteAssetModelCompositeModelOutput, error) + DeleteAssetModelCompositeModelWithContext(aws.Context, *iotsitewise.DeleteAssetModelCompositeModelInput, ...request.Option) (*iotsitewise.DeleteAssetModelCompositeModelOutput, error) + DeleteAssetModelCompositeModelRequest(*iotsitewise.DeleteAssetModelCompositeModelInput) (*request.Request, *iotsitewise.DeleteAssetModelCompositeModelOutput) + DeleteDashboard(*iotsitewise.DeleteDashboardInput) (*iotsitewise.DeleteDashboardOutput, error) DeleteDashboardWithContext(aws.Context, *iotsitewise.DeleteDashboardInput, ...request.Option) (*iotsitewise.DeleteDashboardOutput, error) DeleteDashboardRequest(*iotsitewise.DeleteDashboardInput) (*request.Request, *iotsitewise.DeleteDashboardOutput) @@ -169,14 +177,26 @@ type IoTSiteWiseAPI interface { DescribeAccessPolicyWithContext(aws.Context, *iotsitewise.DescribeAccessPolicyInput, ...request.Option) (*iotsitewise.DescribeAccessPolicyOutput, error) DescribeAccessPolicyRequest(*iotsitewise.DescribeAccessPolicyInput) (*request.Request, *iotsitewise.DescribeAccessPolicyOutput) + DescribeAction(*iotsitewise.DescribeActionInput) (*iotsitewise.DescribeActionOutput, error) + DescribeActionWithContext(aws.Context, *iotsitewise.DescribeActionInput, ...request.Option) (*iotsitewise.DescribeActionOutput, error) + DescribeActionRequest(*iotsitewise.DescribeActionInput) (*request.Request, *iotsitewise.DescribeActionOutput) + DescribeAsset(*iotsitewise.DescribeAssetInput) (*iotsitewise.DescribeAssetOutput, error) DescribeAssetWithContext(aws.Context, *iotsitewise.DescribeAssetInput, ...request.Option) (*iotsitewise.DescribeAssetOutput, error) DescribeAssetRequest(*iotsitewise.DescribeAssetInput) (*request.Request, *iotsitewise.DescribeAssetOutput) + DescribeAssetCompositeModel(*iotsitewise.DescribeAssetCompositeModelInput) (*iotsitewise.DescribeAssetCompositeModelOutput, error) + DescribeAssetCompositeModelWithContext(aws.Context, *iotsitewise.DescribeAssetCompositeModelInput, ...request.Option) (*iotsitewise.DescribeAssetCompositeModelOutput, error) + DescribeAssetCompositeModelRequest(*iotsitewise.DescribeAssetCompositeModelInput) (*request.Request, *iotsitewise.DescribeAssetCompositeModelOutput) + DescribeAssetModel(*iotsitewise.DescribeAssetModelInput) (*iotsitewise.DescribeAssetModelOutput, error) DescribeAssetModelWithContext(aws.Context, *iotsitewise.DescribeAssetModelInput, ...request.Option) (*iotsitewise.DescribeAssetModelOutput, error) DescribeAssetModelRequest(*iotsitewise.DescribeAssetModelInput) (*request.Request, *iotsitewise.DescribeAssetModelOutput) + DescribeAssetModelCompositeModel(*iotsitewise.DescribeAssetModelCompositeModelInput) (*iotsitewise.DescribeAssetModelCompositeModelOutput, error) + DescribeAssetModelCompositeModelWithContext(aws.Context, *iotsitewise.DescribeAssetModelCompositeModelInput, ...request.Option) (*iotsitewise.DescribeAssetModelCompositeModelOutput, error) + DescribeAssetModelCompositeModelRequest(*iotsitewise.DescribeAssetModelCompositeModelInput) (*request.Request, *iotsitewise.DescribeAssetModelCompositeModelOutput) + DescribeAssetProperty(*iotsitewise.DescribeAssetPropertyInput) (*iotsitewise.DescribeAssetPropertyOutput, error) DescribeAssetPropertyWithContext(aws.Context, *iotsitewise.DescribeAssetPropertyInput, ...request.Option) (*iotsitewise.DescribeAssetPropertyOutput, error) DescribeAssetPropertyRequest(*iotsitewise.DescribeAssetPropertyInput) (*request.Request, *iotsitewise.DescribeAssetPropertyOutput) @@ -229,6 +249,17 @@ type IoTSiteWiseAPI interface { DisassociateTimeSeriesFromAssetPropertyWithContext(aws.Context, *iotsitewise.DisassociateTimeSeriesFromAssetPropertyInput, ...request.Option) (*iotsitewise.DisassociateTimeSeriesFromAssetPropertyOutput, error) DisassociateTimeSeriesFromAssetPropertyRequest(*iotsitewise.DisassociateTimeSeriesFromAssetPropertyInput) (*request.Request, *iotsitewise.DisassociateTimeSeriesFromAssetPropertyOutput) + ExecuteAction(*iotsitewise.ExecuteActionInput) (*iotsitewise.ExecuteActionOutput, error) + ExecuteActionWithContext(aws.Context, *iotsitewise.ExecuteActionInput, ...request.Option) (*iotsitewise.ExecuteActionOutput, error) + ExecuteActionRequest(*iotsitewise.ExecuteActionInput) (*request.Request, *iotsitewise.ExecuteActionOutput) + + ExecuteQuery(*iotsitewise.ExecuteQueryInput) (*iotsitewise.ExecuteQueryOutput, error) + ExecuteQueryWithContext(aws.Context, *iotsitewise.ExecuteQueryInput, ...request.Option) (*iotsitewise.ExecuteQueryOutput, error) + ExecuteQueryRequest(*iotsitewise.ExecuteQueryInput) (*request.Request, *iotsitewise.ExecuteQueryOutput) + + ExecuteQueryPages(*iotsitewise.ExecuteQueryInput, func(*iotsitewise.ExecuteQueryOutput, bool) bool) error + ExecuteQueryPagesWithContext(aws.Context, *iotsitewise.ExecuteQueryInput, func(*iotsitewise.ExecuteQueryOutput, bool) bool, ...request.Option) error + GetAssetPropertyAggregates(*iotsitewise.GetAssetPropertyAggregatesInput) (*iotsitewise.GetAssetPropertyAggregatesOutput, error) GetAssetPropertyAggregatesWithContext(aws.Context, *iotsitewise.GetAssetPropertyAggregatesInput, ...request.Option) (*iotsitewise.GetAssetPropertyAggregatesOutput, error) GetAssetPropertyAggregatesRequest(*iotsitewise.GetAssetPropertyAggregatesInput) (*request.Request, *iotsitewise.GetAssetPropertyAggregatesOutput) @@ -261,6 +292,20 @@ type IoTSiteWiseAPI interface { ListAccessPoliciesPages(*iotsitewise.ListAccessPoliciesInput, func(*iotsitewise.ListAccessPoliciesOutput, bool) bool) error ListAccessPoliciesPagesWithContext(aws.Context, *iotsitewise.ListAccessPoliciesInput, func(*iotsitewise.ListAccessPoliciesOutput, bool) bool, ...request.Option) error + ListActions(*iotsitewise.ListActionsInput) (*iotsitewise.ListActionsOutput, error) + ListActionsWithContext(aws.Context, *iotsitewise.ListActionsInput, ...request.Option) (*iotsitewise.ListActionsOutput, error) + ListActionsRequest(*iotsitewise.ListActionsInput) (*request.Request, *iotsitewise.ListActionsOutput) + + ListActionsPages(*iotsitewise.ListActionsInput, func(*iotsitewise.ListActionsOutput, bool) bool) error + ListActionsPagesWithContext(aws.Context, *iotsitewise.ListActionsInput, func(*iotsitewise.ListActionsOutput, bool) bool, ...request.Option) error + + ListAssetModelCompositeModels(*iotsitewise.ListAssetModelCompositeModelsInput) (*iotsitewise.ListAssetModelCompositeModelsOutput, error) + ListAssetModelCompositeModelsWithContext(aws.Context, *iotsitewise.ListAssetModelCompositeModelsInput, ...request.Option) (*iotsitewise.ListAssetModelCompositeModelsOutput, error) + ListAssetModelCompositeModelsRequest(*iotsitewise.ListAssetModelCompositeModelsInput) (*request.Request, *iotsitewise.ListAssetModelCompositeModelsOutput) + + ListAssetModelCompositeModelsPages(*iotsitewise.ListAssetModelCompositeModelsInput, func(*iotsitewise.ListAssetModelCompositeModelsOutput, bool) bool) error + ListAssetModelCompositeModelsPagesWithContext(aws.Context, *iotsitewise.ListAssetModelCompositeModelsInput, func(*iotsitewise.ListAssetModelCompositeModelsOutput, bool) bool, ...request.Option) error + ListAssetModelProperties(*iotsitewise.ListAssetModelPropertiesInput) (*iotsitewise.ListAssetModelPropertiesOutput, error) ListAssetModelPropertiesWithContext(aws.Context, *iotsitewise.ListAssetModelPropertiesInput, ...request.Option) (*iotsitewise.ListAssetModelPropertiesOutput, error) ListAssetModelPropertiesRequest(*iotsitewise.ListAssetModelPropertiesInput) (*request.Request, *iotsitewise.ListAssetModelPropertiesOutput) @@ -310,6 +355,13 @@ type IoTSiteWiseAPI interface { ListBulkImportJobsPages(*iotsitewise.ListBulkImportJobsInput, func(*iotsitewise.ListBulkImportJobsOutput, bool) bool) error ListBulkImportJobsPagesWithContext(aws.Context, *iotsitewise.ListBulkImportJobsInput, func(*iotsitewise.ListBulkImportJobsOutput, bool) bool, ...request.Option) error + ListCompositionRelationships(*iotsitewise.ListCompositionRelationshipsInput) (*iotsitewise.ListCompositionRelationshipsOutput, error) + ListCompositionRelationshipsWithContext(aws.Context, *iotsitewise.ListCompositionRelationshipsInput, ...request.Option) (*iotsitewise.ListCompositionRelationshipsOutput, error) + ListCompositionRelationshipsRequest(*iotsitewise.ListCompositionRelationshipsInput) (*request.Request, *iotsitewise.ListCompositionRelationshipsOutput) + + ListCompositionRelationshipsPages(*iotsitewise.ListCompositionRelationshipsInput, func(*iotsitewise.ListCompositionRelationshipsOutput, bool) bool) error + ListCompositionRelationshipsPagesWithContext(aws.Context, *iotsitewise.ListCompositionRelationshipsInput, func(*iotsitewise.ListCompositionRelationshipsOutput, bool) bool, ...request.Option) error + ListDashboards(*iotsitewise.ListDashboardsInput) (*iotsitewise.ListDashboardsOutput, error) ListDashboardsWithContext(aws.Context, *iotsitewise.ListDashboardsInput, ...request.Option) (*iotsitewise.ListDashboardsOutput, error) ListDashboardsRequest(*iotsitewise.ListDashboardsInput) (*request.Request, *iotsitewise.ListDashboardsOutput) @@ -388,6 +440,10 @@ type IoTSiteWiseAPI interface { UpdateAssetModelWithContext(aws.Context, *iotsitewise.UpdateAssetModelInput, ...request.Option) (*iotsitewise.UpdateAssetModelOutput, error) UpdateAssetModelRequest(*iotsitewise.UpdateAssetModelInput) (*request.Request, *iotsitewise.UpdateAssetModelOutput) + UpdateAssetModelCompositeModel(*iotsitewise.UpdateAssetModelCompositeModelInput) (*iotsitewise.UpdateAssetModelCompositeModelOutput, error) + UpdateAssetModelCompositeModelWithContext(aws.Context, *iotsitewise.UpdateAssetModelCompositeModelInput, ...request.Option) (*iotsitewise.UpdateAssetModelCompositeModelOutput, error) + UpdateAssetModelCompositeModelRequest(*iotsitewise.UpdateAssetModelCompositeModelInput) (*request.Request, *iotsitewise.UpdateAssetModelCompositeModelOutput) + UpdateAssetProperty(*iotsitewise.UpdateAssetPropertyInput) (*iotsitewise.UpdateAssetPropertyOutput, error) UpdateAssetPropertyWithContext(aws.Context, *iotsitewise.UpdateAssetPropertyInput, ...request.Option) (*iotsitewise.UpdateAssetPropertyOutput, error) UpdateAssetPropertyRequest(*iotsitewise.UpdateAssetPropertyInput) (*request.Request, *iotsitewise.UpdateAssetPropertyOutput) diff --git a/service/iottwinmaker/api.go b/service/iottwinmaker/api.go index 8380764f694..4fb3e35352b 100644 --- a/service/iottwinmaker/api.go +++ b/service/iottwinmaker/api.go @@ -103,6 +103,102 @@ func (c *IoTTwinMaker) BatchPutPropertyValuesWithContext(ctx aws.Context, input return out, req.Send() } +const opCancelMetadataTransferJob = "CancelMetadataTransferJob" + +// CancelMetadataTransferJobRequest generates a "aws/request.Request" representing the +// client's request for the CancelMetadataTransferJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CancelMetadataTransferJob for more information on using the CancelMetadataTransferJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CancelMetadataTransferJobRequest method. +// req, resp := client.CancelMetadataTransferJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CancelMetadataTransferJob +func (c *IoTTwinMaker) CancelMetadataTransferJobRequest(input *CancelMetadataTransferJobInput) (req *request.Request, output *CancelMetadataTransferJobOutput) { + op := &request.Operation{ + Name: opCancelMetadataTransferJob, + HTTPMethod: "PUT", + HTTPPath: "/metadata-transfer-jobs/{metadataTransferJobId}/cancel", + } + + if input == nil { + input = &CancelMetadataTransferJobInput{} + } + + output = &CancelMetadataTransferJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CancelMetadataTransferJob API operation for AWS IoT TwinMaker. +// +// Cancels the metadata transfer job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation CancelMetadataTransferJob for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An unexpected error has occurred. +// +// - AccessDeniedException +// Access is denied. +// +// - ResourceNotFoundException +// The resource wasn't found. +// +// - ThrottlingException +// The rate exceeds the limit. +// +// - ValidationException +// Failed +// +// - ConflictException +// A conflict occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CancelMetadataTransferJob +func (c *IoTTwinMaker) CancelMetadataTransferJob(input *CancelMetadataTransferJobInput) (*CancelMetadataTransferJobOutput, error) { + req, out := c.CancelMetadataTransferJobRequest(input) + return out, req.Send() +} + +// CancelMetadataTransferJobWithContext is the same as CancelMetadataTransferJob with the addition of +// the ability to pass a context and additional request options. +// +// See CancelMetadataTransferJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) CancelMetadataTransferJobWithContext(ctx aws.Context, input *CancelMetadataTransferJobInput, opts ...request.Option) (*CancelMetadataTransferJobOutput, error) { + req, out := c.CancelMetadataTransferJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateComponentType = "CreateComponentType" // CreateComponentTypeRequest generates a "aws/request.Request" representing the @@ -295,6 +391,105 @@ func (c *IoTTwinMaker) CreateEntityWithContext(ctx aws.Context, input *CreateEnt return out, req.Send() } +const opCreateMetadataTransferJob = "CreateMetadataTransferJob" + +// CreateMetadataTransferJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateMetadataTransferJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMetadataTransferJob for more information on using the CreateMetadataTransferJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateMetadataTransferJobRequest method. +// req, resp := client.CreateMetadataTransferJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateMetadataTransferJob +func (c *IoTTwinMaker) CreateMetadataTransferJobRequest(input *CreateMetadataTransferJobInput) (req *request.Request, output *CreateMetadataTransferJobOutput) { + op := &request.Operation{ + Name: opCreateMetadataTransferJob, + HTTPMethod: "POST", + HTTPPath: "/metadata-transfer-jobs", + } + + if input == nil { + input = &CreateMetadataTransferJobInput{} + } + + output = &CreateMetadataTransferJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CreateMetadataTransferJob API operation for AWS IoT TwinMaker. +// +// Creates a new metadata transfer job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation CreateMetadataTransferJob for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An unexpected error has occurred. +// +// - AccessDeniedException +// Access is denied. +// +// - ResourceNotFoundException +// The resource wasn't found. +// +// - ThrottlingException +// The rate exceeds the limit. +// +// - ValidationException +// Failed +// +// - ConflictException +// A conflict occurred. +// +// - ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateMetadataTransferJob +func (c *IoTTwinMaker) CreateMetadataTransferJob(input *CreateMetadataTransferJobInput) (*CreateMetadataTransferJobOutput, error) { + req, out := c.CreateMetadataTransferJobRequest(input) + return out, req.Send() +} + +// CreateMetadataTransferJobWithContext is the same as CreateMetadataTransferJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMetadataTransferJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) CreateMetadataTransferJobWithContext(ctx aws.Context, input *CreateMetadataTransferJobInput, opts ...request.Option) (*CreateMetadataTransferJobOutput, error) { + req, out := c.CreateMetadataTransferJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateScene = "CreateScene" // CreateSceneRequest generates a "aws/request.Request" representing the @@ -997,7 +1192,6 @@ func (c *IoTTwinMaker) DeleteWorkspaceRequest(input *DeleteWorkspaceInput) (req output = &DeleteWorkspaceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return @@ -1107,6 +1301,10 @@ func (c *IoTTwinMaker) ExecuteQueryRequest(input *ExecuteQueryInput) (req *reque // Run queries to access information from your knowledge graph of entities within // individual workspaces. // +// The ExecuteQuery action only works with Amazon Web Services Java SDK2 (https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html). +// ExecuteQuery will not work with any Amazon Web Services Java SDK version +// < 2.x. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1393,6 +1591,99 @@ func (c *IoTTwinMaker) GetEntityWithContext(ctx aws.Context, input *GetEntityInp return out, req.Send() } +const opGetMetadataTransferJob = "GetMetadataTransferJob" + +// GetMetadataTransferJobRequest generates a "aws/request.Request" representing the +// client's request for the GetMetadataTransferJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMetadataTransferJob for more information on using the GetMetadataTransferJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetMetadataTransferJobRequest method. +// req, resp := client.GetMetadataTransferJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetMetadataTransferJob +func (c *IoTTwinMaker) GetMetadataTransferJobRequest(input *GetMetadataTransferJobInput) (req *request.Request, output *GetMetadataTransferJobOutput) { + op := &request.Operation{ + Name: opGetMetadataTransferJob, + HTTPMethod: "GET", + HTTPPath: "/metadata-transfer-jobs/{metadataTransferJobId}", + } + + if input == nil { + input = &GetMetadataTransferJobInput{} + } + + output = &GetMetadataTransferJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetMetadataTransferJob API operation for AWS IoT TwinMaker. +// +// Gets a nmetadata transfer job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetMetadataTransferJob for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An unexpected error has occurred. +// +// - AccessDeniedException +// Access is denied. +// +// - ResourceNotFoundException +// The resource wasn't found. +// +// - ThrottlingException +// The rate exceeds the limit. +// +// - ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetMetadataTransferJob +func (c *IoTTwinMaker) GetMetadataTransferJob(input *GetMetadataTransferJobInput) (*GetMetadataTransferJobOutput, error) { + req, out := c.GetMetadataTransferJobRequest(input) + return out, req.Send() +} + +// GetMetadataTransferJobWithContext is the same as GetMetadataTransferJob with the addition of +// the ability to pass a context and additional request options. +// +// See GetMetadataTransferJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) GetMetadataTransferJobWithContext(ctx aws.Context, input *GetMetadataTransferJobInput, opts ...request.Option) (*GetMetadataTransferJobOutput, error) { + req, out := c.GetMetadataTransferJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetPricingPlan = "GetPricingPlan" // GetPricingPlanRequest generates a "aws/request.Request" representing the @@ -2232,36 +2523,36 @@ func (c *IoTTwinMaker) ListComponentTypesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListEntities = "ListEntities" +const opListComponents = "ListComponents" -// ListEntitiesRequest generates a "aws/request.Request" representing the -// client's request for the ListEntities operation. The "output" return +// ListComponentsRequest generates a "aws/request.Request" representing the +// client's request for the ListComponents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListEntities for more information on using the ListEntities +// See ListComponents for more information on using the ListComponents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListEntitiesRequest method. -// req, resp := client.ListEntitiesRequest(params) +// // Example sending a request using the ListComponentsRequest method. +// req, resp := client.ListComponentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListEntities -func (c *IoTTwinMaker) ListEntitiesRequest(input *ListEntitiesInput) (req *request.Request, output *ListEntitiesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListComponents +func (c *IoTTwinMaker) ListComponentsRequest(input *ListComponentsInput) (req *request.Request, output *ListComponentsOutput) { op := &request.Operation{ - Name: opListEntities, + Name: opListComponents, HTTPMethod: "POST", - HTTPPath: "/workspaces/{workspaceId}/entities-list", + HTTPPath: "/workspaces/{workspaceId}/entities/{entityId}/components-list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2271,99 +2562,102 @@ func (c *IoTTwinMaker) ListEntitiesRequest(input *ListEntitiesInput) (req *reque } if input == nil { - input = &ListEntitiesInput{} + input = &ListComponentsInput{} } - output = &ListEntitiesOutput{} + output = &ListComponentsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListEntities API operation for AWS IoT TwinMaker. +// ListComponents API operation for AWS IoT TwinMaker. // -// Lists all entities in a workspace. +// This API lists the components of an entity. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation ListEntities for usage and error information. +// API operation ListComponents for usage and error information. // // Returned Error Types: // // - InternalServerException // An unexpected error has occurred. // +// - AccessDeniedException +// Access is denied. +// +// - ResourceNotFoundException +// The resource wasn't found. +// // - ThrottlingException // The rate exceeds the limit. // // - ValidationException // Failed // -// - ServiceQuotaExceededException -// The service quota was exceeded. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListEntities -func (c *IoTTwinMaker) ListEntities(input *ListEntitiesInput) (*ListEntitiesOutput, error) { - req, out := c.ListEntitiesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListComponents +func (c *IoTTwinMaker) ListComponents(input *ListComponentsInput) (*ListComponentsOutput, error) { + req, out := c.ListComponentsRequest(input) return out, req.Send() } -// ListEntitiesWithContext is the same as ListEntities with the addition of +// ListComponentsWithContext is the same as ListComponents with the addition of // the ability to pass a context and additional request options. // -// See ListEntities for details on how to use this API operation. +// See ListComponents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListEntitiesWithContext(ctx aws.Context, input *ListEntitiesInput, opts ...request.Option) (*ListEntitiesOutput, error) { - req, out := c.ListEntitiesRequest(input) +func (c *IoTTwinMaker) ListComponentsWithContext(ctx aws.Context, input *ListComponentsInput, opts ...request.Option) (*ListComponentsOutput, error) { + req, out := c.ListComponentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListEntitiesPages iterates over the pages of a ListEntities operation, +// ListComponentsPages iterates over the pages of a ListComponents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListEntities method for more information on how to use this operation. +// See ListComponents method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListEntities operation. +// // Example iterating over at most 3 pages of a ListComponents operation. // pageNum := 0 -// err := client.ListEntitiesPages(params, -// func(page *iottwinmaker.ListEntitiesOutput, lastPage bool) bool { +// err := client.ListComponentsPages(params, +// func(page *iottwinmaker.ListComponentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTTwinMaker) ListEntitiesPages(input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool) error { - return c.ListEntitiesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTTwinMaker) ListComponentsPages(input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool) error { + return c.ListComponentsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListEntitiesPagesWithContext same as ListEntitiesPages except +// ListComponentsPagesWithContext same as ListComponentsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListEntitiesPagesWithContext(ctx aws.Context, input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTTwinMaker) ListComponentsPagesWithContext(ctx aws.Context, input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListEntitiesInput + var inCpy *ListComponentsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListEntitiesRequest(inCpy) + req, _ := c.ListComponentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2371,7 +2665,7 @@ func (c *IoTTwinMaker) ListEntitiesPagesWithContext(ctx aws.Context, input *List } for p.Next() { - if !fn(p.Page().(*ListEntitiesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListComponentsOutput), !p.HasNextPage()) { break } } @@ -2379,36 +2673,36 @@ func (c *IoTTwinMaker) ListEntitiesPagesWithContext(ctx aws.Context, input *List return p.Err() } -const opListScenes = "ListScenes" +const opListEntities = "ListEntities" -// ListScenesRequest generates a "aws/request.Request" representing the -// client's request for the ListScenes operation. The "output" return +// ListEntitiesRequest generates a "aws/request.Request" representing the +// client's request for the ListEntities operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListScenes for more information on using the ListScenes +// See ListEntities for more information on using the ListEntities // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListScenesRequest method. -// req, resp := client.ListScenesRequest(params) +// // Example sending a request using the ListEntitiesRequest method. +// req, resp := client.ListEntitiesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListScenes -func (c *IoTTwinMaker) ListScenesRequest(input *ListScenesInput) (req *request.Request, output *ListScenesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListEntities +func (c *IoTTwinMaker) ListEntitiesRequest(input *ListEntitiesInput) (req *request.Request, output *ListEntitiesOutput) { op := &request.Operation{ - Name: opListScenes, + Name: opListEntities, HTTPMethod: "POST", - HTTPPath: "/workspaces/{workspaceId}/scenes-list", + HTTPPath: "/workspaces/{workspaceId}/entities-list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2418,99 +2712,99 @@ func (c *IoTTwinMaker) ListScenesRequest(input *ListScenesInput) (req *request.R } if input == nil { - input = &ListScenesInput{} + input = &ListEntitiesInput{} } - output = &ListScenesOutput{} + output = &ListEntitiesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListScenes API operation for AWS IoT TwinMaker. +// ListEntities API operation for AWS IoT TwinMaker. // -// Lists all scenes in a workspace. +// Lists all entities in a workspace. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation ListScenes for usage and error information. +// API operation ListEntities for usage and error information. // // Returned Error Types: // // - InternalServerException // An unexpected error has occurred. // -// - AccessDeniedException -// Access is denied. -// // - ThrottlingException // The rate exceeds the limit. // // - ValidationException // Failed // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListScenes -func (c *IoTTwinMaker) ListScenes(input *ListScenesInput) (*ListScenesOutput, error) { - req, out := c.ListScenesRequest(input) +// - ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListEntities +func (c *IoTTwinMaker) ListEntities(input *ListEntitiesInput) (*ListEntitiesOutput, error) { + req, out := c.ListEntitiesRequest(input) return out, req.Send() } -// ListScenesWithContext is the same as ListScenes with the addition of +// ListEntitiesWithContext is the same as ListEntities with the addition of // the ability to pass a context and additional request options. // -// See ListScenes for details on how to use this API operation. +// See ListEntities for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListScenesWithContext(ctx aws.Context, input *ListScenesInput, opts ...request.Option) (*ListScenesOutput, error) { - req, out := c.ListScenesRequest(input) +func (c *IoTTwinMaker) ListEntitiesWithContext(ctx aws.Context, input *ListEntitiesInput, opts ...request.Option) (*ListEntitiesOutput, error) { + req, out := c.ListEntitiesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListScenesPages iterates over the pages of a ListScenes operation, +// ListEntitiesPages iterates over the pages of a ListEntities operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListScenes method for more information on how to use this operation. +// See ListEntities method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListScenes operation. +// // Example iterating over at most 3 pages of a ListEntities operation. // pageNum := 0 -// err := client.ListScenesPages(params, -// func(page *iottwinmaker.ListScenesOutput, lastPage bool) bool { +// err := client.ListEntitiesPages(params, +// func(page *iottwinmaker.ListEntitiesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTTwinMaker) ListScenesPages(input *ListScenesInput, fn func(*ListScenesOutput, bool) bool) error { - return c.ListScenesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTTwinMaker) ListEntitiesPages(input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool) error { + return c.ListEntitiesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListScenesPagesWithContext same as ListScenesPages except +// ListEntitiesPagesWithContext same as ListEntitiesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListScenesPagesWithContext(ctx aws.Context, input *ListScenesInput, fn func(*ListScenesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTTwinMaker) ListEntitiesPagesWithContext(ctx aws.Context, input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListScenesInput + var inCpy *ListEntitiesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListScenesRequest(inCpy) + req, _ := c.ListEntitiesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2518,7 +2812,7 @@ func (c *IoTTwinMaker) ListScenesPagesWithContext(ctx aws.Context, input *ListSc } for p.Next() { - if !fn(p.Page().(*ListScenesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListEntitiesOutput), !p.HasNextPage()) { break } } @@ -2526,36 +2820,36 @@ func (c *IoTTwinMaker) ListScenesPagesWithContext(ctx aws.Context, input *ListSc return p.Err() } -const opListSyncJobs = "ListSyncJobs" +const opListMetadataTransferJobs = "ListMetadataTransferJobs" -// ListSyncJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListSyncJobs operation. The "output" return +// ListMetadataTransferJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListMetadataTransferJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListSyncJobs for more information on using the ListSyncJobs +// See ListMetadataTransferJobs for more information on using the ListMetadataTransferJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListSyncJobsRequest method. -// req, resp := client.ListSyncJobsRequest(params) +// // Example sending a request using the ListMetadataTransferJobsRequest method. +// req, resp := client.ListMetadataTransferJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncJobs -func (c *IoTTwinMaker) ListSyncJobsRequest(input *ListSyncJobsInput) (req *request.Request, output *ListSyncJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListMetadataTransferJobs +func (c *IoTTwinMaker) ListMetadataTransferJobsRequest(input *ListMetadataTransferJobsInput) (req *request.Request, output *ListMetadataTransferJobsOutput) { op := &request.Operation{ - Name: opListSyncJobs, + Name: opListMetadataTransferJobs, HTTPMethod: "POST", - HTTPPath: "/workspaces/{workspaceId}/sync-jobs-list", + HTTPPath: "/metadata-transfer-jobs-list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2565,26 +2859,26 @@ func (c *IoTTwinMaker) ListSyncJobsRequest(input *ListSyncJobsInput) (req *reque } if input == nil { - input = &ListSyncJobsInput{} + input = &ListMetadataTransferJobsInput{} } - output = &ListSyncJobsOutput{} + output = &ListMetadataTransferJobsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListSyncJobs API operation for AWS IoT TwinMaker. +// ListMetadataTransferJobs API operation for AWS IoT TwinMaker. // -// List all SyncJobs. +// Lists the metadata transfer jobs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation ListSyncJobs for usage and error information. +// API operation ListMetadataTransferJobs for usage and error information. // // Returned Error Types: // @@ -2600,67 +2894,64 @@ func (c *IoTTwinMaker) ListSyncJobsRequest(input *ListSyncJobsInput) (req *reque // - ValidationException // Failed // -// - ServiceQuotaExceededException -// The service quota was exceeded. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncJobs -func (c *IoTTwinMaker) ListSyncJobs(input *ListSyncJobsInput) (*ListSyncJobsOutput, error) { - req, out := c.ListSyncJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListMetadataTransferJobs +func (c *IoTTwinMaker) ListMetadataTransferJobs(input *ListMetadataTransferJobsInput) (*ListMetadataTransferJobsOutput, error) { + req, out := c.ListMetadataTransferJobsRequest(input) return out, req.Send() } -// ListSyncJobsWithContext is the same as ListSyncJobs with the addition of +// ListMetadataTransferJobsWithContext is the same as ListMetadataTransferJobs with the addition of // the ability to pass a context and additional request options. // -// See ListSyncJobs for details on how to use this API operation. +// See ListMetadataTransferJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListSyncJobsWithContext(ctx aws.Context, input *ListSyncJobsInput, opts ...request.Option) (*ListSyncJobsOutput, error) { - req, out := c.ListSyncJobsRequest(input) +func (c *IoTTwinMaker) ListMetadataTransferJobsWithContext(ctx aws.Context, input *ListMetadataTransferJobsInput, opts ...request.Option) (*ListMetadataTransferJobsOutput, error) { + req, out := c.ListMetadataTransferJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListSyncJobsPages iterates over the pages of a ListSyncJobs operation, +// ListMetadataTransferJobsPages iterates over the pages of a ListMetadataTransferJobs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListSyncJobs method for more information on how to use this operation. +// See ListMetadataTransferJobs method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListSyncJobs operation. +// // Example iterating over at most 3 pages of a ListMetadataTransferJobs operation. // pageNum := 0 -// err := client.ListSyncJobsPages(params, -// func(page *iottwinmaker.ListSyncJobsOutput, lastPage bool) bool { +// err := client.ListMetadataTransferJobsPages(params, +// func(page *iottwinmaker.ListMetadataTransferJobsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTTwinMaker) ListSyncJobsPages(input *ListSyncJobsInput, fn func(*ListSyncJobsOutput, bool) bool) error { - return c.ListSyncJobsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTTwinMaker) ListMetadataTransferJobsPages(input *ListMetadataTransferJobsInput, fn func(*ListMetadataTransferJobsOutput, bool) bool) error { + return c.ListMetadataTransferJobsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListSyncJobsPagesWithContext same as ListSyncJobsPages except +// ListMetadataTransferJobsPagesWithContext same as ListMetadataTransferJobsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListSyncJobsPagesWithContext(ctx aws.Context, input *ListSyncJobsInput, fn func(*ListSyncJobsOutput, bool) bool, opts ...request.Option) error { +func (c *IoTTwinMaker) ListMetadataTransferJobsPagesWithContext(ctx aws.Context, input *ListMetadataTransferJobsInput, fn func(*ListMetadataTransferJobsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListSyncJobsInput + var inCpy *ListMetadataTransferJobsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListSyncJobsRequest(inCpy) + req, _ := c.ListMetadataTransferJobsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2668,7 +2959,7 @@ func (c *IoTTwinMaker) ListSyncJobsPagesWithContext(ctx aws.Context, input *List } for p.Next() { - if !fn(p.Page().(*ListSyncJobsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMetadataTransferJobsOutput), !p.HasNextPage()) { break } } @@ -2676,36 +2967,36 @@ func (c *IoTTwinMaker) ListSyncJobsPagesWithContext(ctx aws.Context, input *List return p.Err() } -const opListSyncResources = "ListSyncResources" +const opListProperties = "ListProperties" -// ListSyncResourcesRequest generates a "aws/request.Request" representing the -// client's request for the ListSyncResources operation. The "output" return +// ListPropertiesRequest generates a "aws/request.Request" representing the +// client's request for the ListProperties operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListSyncResources for more information on using the ListSyncResources +// See ListProperties for more information on using the ListProperties // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListSyncResourcesRequest method. -// req, resp := client.ListSyncResourcesRequest(params) +// // Example sending a request using the ListPropertiesRequest method. +// req, resp := client.ListPropertiesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncResources -func (c *IoTTwinMaker) ListSyncResourcesRequest(input *ListSyncResourcesInput) (req *request.Request, output *ListSyncResourcesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListProperties +func (c *IoTTwinMaker) ListPropertiesRequest(input *ListPropertiesInput) (req *request.Request, output *ListPropertiesOutput) { op := &request.Operation{ - Name: opListSyncResources, + Name: opListProperties, HTTPMethod: "POST", - HTTPPath: "/workspaces/{workspaceId}/sync-jobs/{syncSource}/resources-list", + HTTPPath: "/workspaces/{workspaceId}/properties-list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2715,26 +3006,26 @@ func (c *IoTTwinMaker) ListSyncResourcesRequest(input *ListSyncResourcesInput) ( } if input == nil { - input = &ListSyncResourcesInput{} + input = &ListPropertiesInput{} } - output = &ListSyncResourcesOutput{} + output = &ListPropertiesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListSyncResources API operation for AWS IoT TwinMaker. +// ListProperties API operation for AWS IoT TwinMaker. // -// Lists the sync resources. +// This API lists the properties of a component. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation ListSyncResources for usage and error information. +// API operation ListProperties for usage and error information. // // Returned Error Types: // @@ -2744,73 +3035,73 @@ func (c *IoTTwinMaker) ListSyncResourcesRequest(input *ListSyncResourcesInput) ( // - AccessDeniedException // Access is denied. // +// - ResourceNotFoundException +// The resource wasn't found. +// // - ThrottlingException // The rate exceeds the limit. // // - ValidationException // Failed // -// - ServiceQuotaExceededException -// The service quota was exceeded. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncResources -func (c *IoTTwinMaker) ListSyncResources(input *ListSyncResourcesInput) (*ListSyncResourcesOutput, error) { - req, out := c.ListSyncResourcesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListProperties +func (c *IoTTwinMaker) ListProperties(input *ListPropertiesInput) (*ListPropertiesOutput, error) { + req, out := c.ListPropertiesRequest(input) return out, req.Send() } -// ListSyncResourcesWithContext is the same as ListSyncResources with the addition of +// ListPropertiesWithContext is the same as ListProperties with the addition of // the ability to pass a context and additional request options. // -// See ListSyncResources for details on how to use this API operation. +// See ListProperties for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListSyncResourcesWithContext(ctx aws.Context, input *ListSyncResourcesInput, opts ...request.Option) (*ListSyncResourcesOutput, error) { - req, out := c.ListSyncResourcesRequest(input) +func (c *IoTTwinMaker) ListPropertiesWithContext(ctx aws.Context, input *ListPropertiesInput, opts ...request.Option) (*ListPropertiesOutput, error) { + req, out := c.ListPropertiesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListSyncResourcesPages iterates over the pages of a ListSyncResources operation, +// ListPropertiesPages iterates over the pages of a ListProperties operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListSyncResources method for more information on how to use this operation. +// See ListProperties method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListSyncResources operation. +// // Example iterating over at most 3 pages of a ListProperties operation. // pageNum := 0 -// err := client.ListSyncResourcesPages(params, -// func(page *iottwinmaker.ListSyncResourcesOutput, lastPage bool) bool { +// err := client.ListPropertiesPages(params, +// func(page *iottwinmaker.ListPropertiesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTTwinMaker) ListSyncResourcesPages(input *ListSyncResourcesInput, fn func(*ListSyncResourcesOutput, bool) bool) error { - return c.ListSyncResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTTwinMaker) ListPropertiesPages(input *ListPropertiesInput, fn func(*ListPropertiesOutput, bool) bool) error { + return c.ListPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListSyncResourcesPagesWithContext same as ListSyncResourcesPages except +// ListPropertiesPagesWithContext same as ListPropertiesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListSyncResourcesPagesWithContext(ctx aws.Context, input *ListSyncResourcesInput, fn func(*ListSyncResourcesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTTwinMaker) ListPropertiesPagesWithContext(ctx aws.Context, input *ListPropertiesInput, fn func(*ListPropertiesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListSyncResourcesInput + var inCpy *ListPropertiesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListSyncResourcesRequest(inCpy) + req, _ := c.ListPropertiesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2818,7 +3109,7 @@ func (c *IoTTwinMaker) ListSyncResourcesPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListSyncResourcesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListPropertiesOutput), !p.HasNextPage()) { break } } @@ -2826,120 +3117,183 @@ func (c *IoTTwinMaker) ListSyncResourcesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListScenes = "ListScenes" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListScenesRequest generates a "aws/request.Request" representing the +// client's request for the ListScenes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListScenes for more information on using the ListScenes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListScenesRequest method. +// req, resp := client.ListScenesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListTagsForResource -func (c *IoTTwinMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListScenes +func (c *IoTTwinMaker) ListScenesRequest(input *ListScenesInput) (req *request.Request, output *ListScenesOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListScenes, HTTPMethod: "POST", - HTTPPath: "/tags-list", + HTTPPath: "/workspaces/{workspaceId}/scenes-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListScenesInput{} } - output = &ListTagsForResourceOutput{} + output = &ListScenesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListTagsForResource API operation for AWS IoT TwinMaker. +// ListScenes API operation for AWS IoT TwinMaker. // -// Lists all tags associated with a resource. +// Lists all scenes in a workspace. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation ListTagsForResource for usage and error information. +// API operation ListScenes for usage and error information. // // Returned Error Types: // +// - InternalServerException +// An unexpected error has occurred. +// // - AccessDeniedException // Access is denied. // -// - ResourceNotFoundException -// The resource wasn't found. +// - ThrottlingException +// The rate exceeds the limit. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListTagsForResource -func (c *IoTTwinMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// - ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListScenes +func (c *IoTTwinMaker) ListScenes(input *ListScenesInput) (*ListScenesOutput, error) { + req, out := c.ListScenesRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListScenesWithContext is the same as ListScenes with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListScenes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *IoTTwinMaker) ListScenesWithContext(ctx aws.Context, input *ListScenesInput, opts ...request.Option) (*ListScenesOutput, error) { + req, out := c.ListScenesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListWorkspaces = "ListWorkspaces" - -// ListWorkspacesRequest generates a "aws/request.Request" representing the -// client's request for the ListWorkspaces operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. +// ListScenesPages iterates over the pages of a ListScenes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// See ListWorkspaces for more information on using the ListWorkspaces -// API call, and error handling. +// See ListScenes method for more information on how to use this operation. // -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// Note: This operation can generate multiple requests to a service. // -// // Example sending a request using the ListWorkspacesRequest method. -// req, resp := client.ListWorkspacesRequest(params) +// // Example iterating over at most 3 pages of a ListScenes operation. +// pageNum := 0 +// err := client.ListScenesPages(params, +// func(page *iottwinmaker.ListScenesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTTwinMaker) ListScenesPages(input *ListScenesInput, fn func(*ListScenesOutput, bool) bool) error { + return c.ListScenesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListScenesPagesWithContext same as ListScenesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) ListScenesPagesWithContext(ctx aws.Context, input *ListScenesInput, fn func(*ListScenesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListScenesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListScenesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListScenesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSyncJobs = "ListSyncJobs" + +// ListSyncJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListSyncJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSyncJobs for more information on using the ListSyncJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListSyncJobsRequest method. +// req, resp := client.ListSyncJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListWorkspaces -func (c *IoTTwinMaker) ListWorkspacesRequest(input *ListWorkspacesInput) (req *request.Request, output *ListWorkspacesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncJobs +func (c *IoTTwinMaker) ListSyncJobsRequest(input *ListSyncJobsInput) (req *request.Request, output *ListSyncJobsOutput) { op := &request.Operation{ - Name: opListWorkspaces, + Name: opListSyncJobs, HTTPMethod: "POST", - HTTPPath: "/workspaces-list", + HTTPPath: "/workspaces/{workspaceId}/sync-jobs-list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2949,32 +3303,35 @@ func (c *IoTTwinMaker) ListWorkspacesRequest(input *ListWorkspacesInput) (req *r } if input == nil { - input = &ListWorkspacesInput{} + input = &ListSyncJobsInput{} } - output = &ListWorkspacesOutput{} + output = &ListSyncJobsOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListWorkspaces API operation for AWS IoT TwinMaker. +// ListSyncJobs API operation for AWS IoT TwinMaker. // -// Retrieves information about workspaces in the current account. +// List all SyncJobs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation ListWorkspaces for usage and error information. +// API operation ListSyncJobs for usage and error information. // // Returned Error Types: // // - InternalServerException // An unexpected error has occurred. // +// - AccessDeniedException +// Access is denied. +// // - ThrottlingException // The rate exceeds the limit. // @@ -2984,64 +3341,64 @@ func (c *IoTTwinMaker) ListWorkspacesRequest(input *ListWorkspacesInput) (req *r // - ServiceQuotaExceededException // The service quota was exceeded. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListWorkspaces -func (c *IoTTwinMaker) ListWorkspaces(input *ListWorkspacesInput) (*ListWorkspacesOutput, error) { - req, out := c.ListWorkspacesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncJobs +func (c *IoTTwinMaker) ListSyncJobs(input *ListSyncJobsInput) (*ListSyncJobsOutput, error) { + req, out := c.ListSyncJobsRequest(input) return out, req.Send() } -// ListWorkspacesWithContext is the same as ListWorkspaces with the addition of +// ListSyncJobsWithContext is the same as ListSyncJobs with the addition of // the ability to pass a context and additional request options. // -// See ListWorkspaces for details on how to use this API operation. +// See ListSyncJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListWorkspacesWithContext(ctx aws.Context, input *ListWorkspacesInput, opts ...request.Option) (*ListWorkspacesOutput, error) { - req, out := c.ListWorkspacesRequest(input) +func (c *IoTTwinMaker) ListSyncJobsWithContext(ctx aws.Context, input *ListSyncJobsInput, opts ...request.Option) (*ListSyncJobsOutput, error) { + req, out := c.ListSyncJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListWorkspacesPages iterates over the pages of a ListWorkspaces operation, +// ListSyncJobsPages iterates over the pages of a ListSyncJobs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListWorkspaces method for more information on how to use this operation. +// See ListSyncJobs method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListWorkspaces operation. +// // Example iterating over at most 3 pages of a ListSyncJobs operation. // pageNum := 0 -// err := client.ListWorkspacesPages(params, -// func(page *iottwinmaker.ListWorkspacesOutput, lastPage bool) bool { +// err := client.ListSyncJobsPages(params, +// func(page *iottwinmaker.ListSyncJobsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *IoTTwinMaker) ListWorkspacesPages(input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool) error { - return c.ListWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *IoTTwinMaker) ListSyncJobsPages(input *ListSyncJobsInput, fn func(*ListSyncJobsOutput, bool) bool) error { + return c.ListSyncJobsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListWorkspacesPagesWithContext same as ListWorkspacesPages except +// ListSyncJobsPagesWithContext same as ListSyncJobsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) ListWorkspacesPagesWithContext(ctx aws.Context, input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool, opts ...request.Option) error { +func (c *IoTTwinMaker) ListSyncJobsPagesWithContext(ctx aws.Context, input *ListSyncJobsInput, fn func(*ListSyncJobsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListWorkspacesInput + var inCpy *ListSyncJobsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListWorkspacesRequest(inCpy) + req, _ := c.ListSyncJobsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3049,7 +3406,7 @@ func (c *IoTTwinMaker) ListWorkspacesPagesWithContext(ctx aws.Context, input *Li } for p.Next() { - if !fn(p.Page().(*ListWorkspacesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListSyncJobsOutput), !p.HasNextPage()) { break } } @@ -3057,148 +3414,209 @@ func (c *IoTTwinMaker) ListWorkspacesPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opTagResource = "TagResource" +const opListSyncResources = "ListSyncResources" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListSyncResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListSyncResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ListSyncResources for more information on using the ListSyncResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListSyncResourcesRequest method. +// req, resp := client.ListSyncResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/TagResource -func (c *IoTTwinMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncResources +func (c *IoTTwinMaker) ListSyncResourcesRequest(input *ListSyncResourcesInput) (req *request.Request, output *ListSyncResourcesOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opListSyncResources, HTTPMethod: "POST", - HTTPPath: "/tags", + HTTPPath: "/workspaces/{workspaceId}/sync-jobs/{syncSource}/resources-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &TagResourceInput{} + input = &ListSyncResourcesInput{} } - output = &TagResourceOutput{} + output = &ListSyncResourcesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// TagResource API operation for AWS IoT TwinMaker. +// ListSyncResources API operation for AWS IoT TwinMaker. // -// Adds tags to a resource. +// Lists the sync resources. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation TagResource for usage and error information. +// API operation ListSyncResources for usage and error information. // // Returned Error Types: // -// - TooManyTagsException -// The number of tags exceeds the limit. +// - InternalServerException +// An unexpected error has occurred. // // - AccessDeniedException // Access is denied. // -// - ResourceNotFoundException -// The resource wasn't found. +// - ThrottlingException +// The rate exceeds the limit. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/TagResource -func (c *IoTTwinMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// - ValidationException +// Failed +// +// - ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListSyncResources +func (c *IoTTwinMaker) ListSyncResources(input *ListSyncResourcesInput) (*ListSyncResourcesOutput, error) { + req, out := c.ListSyncResourcesRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListSyncResourcesWithContext is the same as ListSyncResources with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListSyncResources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *IoTTwinMaker) ListSyncResourcesWithContext(ctx aws.Context, input *ListSyncResourcesInput, opts ...request.Option) (*ListSyncResourcesOutput, error) { + req, out := c.ListSyncResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +// ListSyncResourcesPages iterates over the pages of a ListSyncResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSyncResources method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSyncResources operation. +// pageNum := 0 +// err := client.ListSyncResourcesPages(params, +// func(page *iottwinmaker.ListSyncResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTTwinMaker) ListSyncResourcesPages(input *ListSyncResourcesInput, fn func(*ListSyncResourcesOutput, bool) bool) error { + return c.ListSyncResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ListSyncResourcesPagesWithContext same as ListSyncResourcesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) ListSyncResourcesPagesWithContext(ctx aws.Context, input *ListSyncResourcesInput, fn func(*ListSyncResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSyncResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSyncResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSyncResourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UntagResource -func (c *IoTTwinMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListTagsForResource +func (c *IoTTwinMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/tags", + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/tags-list", } if input == nil { - input = &UntagResourceInput{} + input = &ListTagsForResourceInput{} } - output = &UntagResourceOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UntagResource API operation for AWS IoT TwinMaker. +// ListTagsForResource API operation for AWS IoT TwinMaker. // -// Removes tags from a resource. +// Lists all tags associated with a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation UntagResource for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // @@ -3208,93 +3626,93 @@ func (c *IoTTwinMaker) UntagResourceRequest(input *UntagResourceInput) (req *req // - ResourceNotFoundException // The resource wasn't found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UntagResource -func (c *IoTTwinMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListTagsForResource +func (c *IoTTwinMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *IoTTwinMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateComponentType = "UpdateComponentType" +const opListWorkspaces = "ListWorkspaces" -// UpdateComponentTypeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateComponentType operation. The "output" return +// ListWorkspacesRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkspaces operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateComponentType for more information on using the UpdateComponentType +// See ListWorkspaces for more information on using the ListWorkspaces // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateComponentTypeRequest method. -// req, resp := client.UpdateComponentTypeRequest(params) +// // Example sending a request using the ListWorkspacesRequest method. +// req, resp := client.ListWorkspacesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateComponentType -func (c *IoTTwinMaker) UpdateComponentTypeRequest(input *UpdateComponentTypeInput) (req *request.Request, output *UpdateComponentTypeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListWorkspaces +func (c *IoTTwinMaker) ListWorkspacesRequest(input *ListWorkspacesInput) (req *request.Request, output *ListWorkspacesOutput) { op := &request.Operation{ - Name: opUpdateComponentType, - HTTPMethod: "PUT", - HTTPPath: "/workspaces/{workspaceId}/component-types/{componentTypeId}", + Name: opListWorkspaces, + HTTPMethod: "POST", + HTTPPath: "/workspaces-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateComponentTypeInput{} + input = &ListWorkspacesInput{} } - output = &UpdateComponentTypeOutput{} + output = &ListWorkspacesOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateComponentType API operation for AWS IoT TwinMaker. +// ListWorkspaces API operation for AWS IoT TwinMaker. // -// Updates information in a component type. +// Retrieves information about workspaces in the current account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation UpdateComponentType for usage and error information. +// API operation ListWorkspaces for usage and error information. // // Returned Error Types: // // - InternalServerException // An unexpected error has occurred. // -// - AccessDeniedException -// Access is denied. -// -// - ResourceNotFoundException -// The resource wasn't found. -// // - ThrottlingException // The rate exceeds the limit. // @@ -3304,86 +3722,138 @@ func (c *IoTTwinMaker) UpdateComponentTypeRequest(input *UpdateComponentTypeInpu // - ServiceQuotaExceededException // The service quota was exceeded. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateComponentType -func (c *IoTTwinMaker) UpdateComponentType(input *UpdateComponentTypeInput) (*UpdateComponentTypeOutput, error) { - req, out := c.UpdateComponentTypeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListWorkspaces +func (c *IoTTwinMaker) ListWorkspaces(input *ListWorkspacesInput) (*ListWorkspacesOutput, error) { + req, out := c.ListWorkspacesRequest(input) return out, req.Send() } -// UpdateComponentTypeWithContext is the same as UpdateComponentType with the addition of +// ListWorkspacesWithContext is the same as ListWorkspaces with the addition of // the ability to pass a context and additional request options. // -// See UpdateComponentType for details on how to use this API operation. +// See ListWorkspaces for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) UpdateComponentTypeWithContext(ctx aws.Context, input *UpdateComponentTypeInput, opts ...request.Option) (*UpdateComponentTypeOutput, error) { - req, out := c.UpdateComponentTypeRequest(input) +func (c *IoTTwinMaker) ListWorkspacesWithContext(ctx aws.Context, input *ListWorkspacesInput, opts ...request.Option) (*ListWorkspacesOutput, error) { + req, out := c.ListWorkspacesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEntity = "UpdateEntity" +// ListWorkspacesPages iterates over the pages of a ListWorkspaces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkspaces method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListWorkspaces operation. +// pageNum := 0 +// err := client.ListWorkspacesPages(params, +// func(page *iottwinmaker.ListWorkspacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *IoTTwinMaker) ListWorkspacesPages(input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool) error { + return c.ListWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateEntityRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEntity operation. The "output" return +// ListWorkspacesPagesWithContext same as ListWorkspacesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) ListWorkspacesPagesWithContext(ctx aws.Context, input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkspacesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkspacesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkspacesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateEntity for more information on using the UpdateEntity +// See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateEntityRequest method. -// req, resp := client.UpdateEntityRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateEntity -func (c *IoTTwinMaker) UpdateEntityRequest(input *UpdateEntityInput) (req *request.Request, output *UpdateEntityOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/TagResource +func (c *IoTTwinMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateEntity, - HTTPMethod: "PUT", - HTTPPath: "/workspaces/{workspaceId}/entities/{entityId}", + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags", } if input == nil { - input = &UpdateEntityInput{} + input = &TagResourceInput{} } - output = &UpdateEntityOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateEntity API operation for AWS IoT TwinMaker. +// TagResource API operation for AWS IoT TwinMaker. // -// Updates an entity. +// Adds tags to a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation UpdateEntity for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // -// - InternalServerException -// An unexpected error has occurred. +// - TooManyTagsException +// The number of tags exceeds the limit. // // - AccessDeniedException // Access is denied. @@ -3391,183 +3861,166 @@ func (c *IoTTwinMaker) UpdateEntityRequest(input *UpdateEntityInput) (req *reque // - ResourceNotFoundException // The resource wasn't found. // -// - ThrottlingException -// The rate exceeds the limit. -// -// - ValidationException -// Failed -// -// - ConflictException -// A conflict occurred. -// -// - ServiceQuotaExceededException -// The service quota was exceeded. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateEntity -func (c *IoTTwinMaker) UpdateEntity(input *UpdateEntityInput) (*UpdateEntityOutput, error) { - req, out := c.UpdateEntityRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/TagResource +func (c *IoTTwinMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateEntityWithContext is the same as UpdateEntity with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateEntity for details on how to use this API operation. +// See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) UpdateEntityWithContext(ctx aws.Context, input *UpdateEntityInput, opts ...request.Option) (*UpdateEntityOutput, error) { - req, out := c.UpdateEntityRequest(input) +func (c *IoTTwinMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePricingPlan = "UpdatePricingPlan" +const opUntagResource = "UntagResource" -// UpdatePricingPlanRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePricingPlan operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdatePricingPlan for more information on using the UpdatePricingPlan +// See UntagResource for more information on using the UntagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdatePricingPlanRequest method. -// req, resp := client.UpdatePricingPlanRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdatePricingPlan -func (c *IoTTwinMaker) UpdatePricingPlanRequest(input *UpdatePricingPlanInput) (req *request.Request, output *UpdatePricingPlanOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UntagResource +func (c *IoTTwinMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdatePricingPlan, - HTTPMethod: "POST", - HTTPPath: "/pricingplan", + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags", } if input == nil { - input = &UpdatePricingPlanInput{} + input = &UntagResourceInput{} } - output = &UpdatePricingPlanOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdatePricingPlan API operation for AWS IoT TwinMaker. +// UntagResource API operation for AWS IoT TwinMaker. // -// Update the pricing plan. +// Removes tags from a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation UpdatePricingPlan for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Types: // -// - InternalServerException -// An unexpected error has occurred. -// // - AccessDeniedException // Access is denied. // -// - ThrottlingException -// The rate exceeds the limit. -// -// - ValidationException -// Failed +// - ResourceNotFoundException +// The resource wasn't found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdatePricingPlan -func (c *IoTTwinMaker) UpdatePricingPlan(input *UpdatePricingPlanInput) (*UpdatePricingPlanOutput, error) { - req, out := c.UpdatePricingPlanRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UntagResource +func (c *IoTTwinMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdatePricingPlanWithContext is the same as UpdatePricingPlan with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdatePricingPlan for details on how to use this API operation. +// See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) UpdatePricingPlanWithContext(ctx aws.Context, input *UpdatePricingPlanInput, opts ...request.Option) (*UpdatePricingPlanOutput, error) { - req, out := c.UpdatePricingPlanRequest(input) +func (c *IoTTwinMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateScene = "UpdateScene" +const opUpdateComponentType = "UpdateComponentType" -// UpdateSceneRequest generates a "aws/request.Request" representing the -// client's request for the UpdateScene operation. The "output" return +// UpdateComponentTypeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateComponentType operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateScene for more information on using the UpdateScene +// See UpdateComponentType for more information on using the UpdateComponentType // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateSceneRequest method. -// req, resp := client.UpdateSceneRequest(params) +// // Example sending a request using the UpdateComponentTypeRequest method. +// req, resp := client.UpdateComponentTypeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateScene -func (c *IoTTwinMaker) UpdateSceneRequest(input *UpdateSceneInput) (req *request.Request, output *UpdateSceneOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateComponentType +func (c *IoTTwinMaker) UpdateComponentTypeRequest(input *UpdateComponentTypeInput) (req *request.Request, output *UpdateComponentTypeOutput) { op := &request.Operation{ - Name: opUpdateScene, + Name: opUpdateComponentType, HTTPMethod: "PUT", - HTTPPath: "/workspaces/{workspaceId}/scenes/{sceneId}", + HTTPPath: "/workspaces/{workspaceId}/component-types/{componentTypeId}", } if input == nil { - input = &UpdateSceneInput{} + input = &UpdateComponentTypeInput{} } - output = &UpdateSceneOutput{} + output = &UpdateComponentTypeOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateScene API operation for AWS IoT TwinMaker. +// UpdateComponentType API operation for AWS IoT TwinMaker. // -// Updates a scene. +// Updates information in a component type. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation UpdateScene for usage and error information. +// API operation UpdateComponentType for usage and error information. // // Returned Error Types: // @@ -3586,81 +4039,84 @@ func (c *IoTTwinMaker) UpdateSceneRequest(input *UpdateSceneInput) (req *request // - ValidationException // Failed // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateScene -func (c *IoTTwinMaker) UpdateScene(input *UpdateSceneInput) (*UpdateSceneOutput, error) { - req, out := c.UpdateSceneRequest(input) +// - ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateComponentType +func (c *IoTTwinMaker) UpdateComponentType(input *UpdateComponentTypeInput) (*UpdateComponentTypeOutput, error) { + req, out := c.UpdateComponentTypeRequest(input) return out, req.Send() } -// UpdateSceneWithContext is the same as UpdateScene with the addition of +// UpdateComponentTypeWithContext is the same as UpdateComponentType with the addition of // the ability to pass a context and additional request options. // -// See UpdateScene for details on how to use this API operation. +// See UpdateComponentType for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) UpdateSceneWithContext(ctx aws.Context, input *UpdateSceneInput, opts ...request.Option) (*UpdateSceneOutput, error) { - req, out := c.UpdateSceneRequest(input) +func (c *IoTTwinMaker) UpdateComponentTypeWithContext(ctx aws.Context, input *UpdateComponentTypeInput, opts ...request.Option) (*UpdateComponentTypeOutput, error) { + req, out := c.UpdateComponentTypeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateWorkspace = "UpdateWorkspace" +const opUpdateEntity = "UpdateEntity" -// UpdateWorkspaceRequest generates a "aws/request.Request" representing the -// client's request for the UpdateWorkspace operation. The "output" return +// UpdateEntityRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEntity operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateWorkspace for more information on using the UpdateWorkspace +// See UpdateEntity for more information on using the UpdateEntity // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateWorkspaceRequest method. -// req, resp := client.UpdateWorkspaceRequest(params) +// // Example sending a request using the UpdateEntityRequest method. +// req, resp := client.UpdateEntityRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateWorkspace -func (c *IoTTwinMaker) UpdateWorkspaceRequest(input *UpdateWorkspaceInput) (req *request.Request, output *UpdateWorkspaceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateEntity +func (c *IoTTwinMaker) UpdateEntityRequest(input *UpdateEntityInput) (req *request.Request, output *UpdateEntityOutput) { op := &request.Operation{ - Name: opUpdateWorkspace, + Name: opUpdateEntity, HTTPMethod: "PUT", - HTTPPath: "/workspaces/{workspaceId}", + HTTPPath: "/workspaces/{workspaceId}/entities/{entityId}", } if input == nil { - input = &UpdateWorkspaceInput{} + input = &UpdateEntityInput{} } - output = &UpdateWorkspaceOutput{} + output = &UpdateEntityOutput{} req = c.newRequest(op, input, output) req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateWorkspace API operation for AWS IoT TwinMaker. +// UpdateEntity API operation for AWS IoT TwinMaker. // -// Updates a workspace. +// Updates an entity. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT TwinMaker's -// API operation UpdateWorkspace for usage and error information. +// API operation UpdateEntity for usage and error information. // // Returned Error Types: // @@ -3679,162 +4135,2020 @@ func (c *IoTTwinMaker) UpdateWorkspaceRequest(input *UpdateWorkspaceInput) (req // - ValidationException // Failed // +// - ConflictException +// A conflict occurred. +// // - ServiceQuotaExceededException // The service quota was exceeded. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateWorkspace -func (c *IoTTwinMaker) UpdateWorkspace(input *UpdateWorkspaceInput) (*UpdateWorkspaceOutput, error) { - req, out := c.UpdateWorkspaceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateEntity +func (c *IoTTwinMaker) UpdateEntity(input *UpdateEntityInput) (*UpdateEntityOutput, error) { + req, out := c.UpdateEntityRequest(input) return out, req.Send() } -// UpdateWorkspaceWithContext is the same as UpdateWorkspace with the addition of +// UpdateEntityWithContext is the same as UpdateEntity with the addition of // the ability to pass a context and additional request options. // -// See UpdateWorkspace for details on how to use this API operation. +// See UpdateEntity for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTTwinMaker) UpdateWorkspaceWithContext(ctx aws.Context, input *UpdateWorkspaceInput, opts ...request.Option) (*UpdateWorkspaceOutput, error) { - req, out := c.UpdateWorkspaceRequest(input) +func (c *IoTTwinMaker) UpdateEntityWithContext(ctx aws.Context, input *UpdateEntityInput, opts ...request.Option) (*UpdateEntityOutput, error) { + req, out := c.UpdateEntityRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Access is denied. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} +const opUpdatePricingPlan = "UpdatePricingPlan" -// String returns the string representation. +// UpdatePricingPlanRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePricingPlan operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { - return s.String() -} - -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// See UpdatePricingPlan for more information on using the UpdatePricingPlan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdatePricingPlanRequest method. +// req, resp := client.UpdatePricingPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdatePricingPlan +func (c *IoTTwinMaker) UpdatePricingPlanRequest(input *UpdatePricingPlanInput) (req *request.Request, output *UpdatePricingPlanOutput) { + op := &request.Operation{ + Name: opUpdatePricingPlan, + HTTPMethod: "POST", + HTTPPath: "/pricingplan", } -} - -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if input == nil { + input = &UpdatePricingPlanInput{} } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil -} - -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID -} - -// An error returned by the BatchPutProperty action. -type BatchPutPropertyError struct { - _ struct{} `type:"structure"` - - // An object that contains information about errors returned by the BatchPutProperty - // action. - // - // Entry is a required field - Entry *PropertyValueEntry `locationName:"entry" type:"structure" required:"true"` - // The error code. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" min:"1" type:"string" required:"true"` - - // The error message. - // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` + output = &UpdatePricingPlanOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return } -// String returns the string representation. +// UpdatePricingPlan API operation for AWS IoT TwinMaker. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutPropertyError) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Update the pricing plan. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutPropertyError) GoString() string { - return s.String() +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdatePricingPlan for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An unexpected error has occurred. +// +// - AccessDeniedException +// Access is denied. +// +// - ThrottlingException +// The rate exceeds the limit. +// +// - ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdatePricingPlan +func (c *IoTTwinMaker) UpdatePricingPlan(input *UpdatePricingPlanInput) (*UpdatePricingPlanOutput, error) { + req, out := c.UpdatePricingPlanRequest(input) + return out, req.Send() } -// SetEntry sets the Entry field's value. -func (s *BatchPutPropertyError) SetEntry(v *PropertyValueEntry) *BatchPutPropertyError { - s.Entry = v - return s +// UpdatePricingPlanWithContext is the same as UpdatePricingPlan with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePricingPlan for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) UpdatePricingPlanWithContext(ctx aws.Context, input *UpdatePricingPlanInput, opts ...request.Option) (*UpdatePricingPlanOutput, error) { + req, out := c.UpdatePricingPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchPutPropertyError) SetErrorCode(v string) *BatchPutPropertyError { - s.ErrorCode = &v - return s -} +const opUpdateScene = "UpdateScene" -// SetErrorMessage sets the ErrorMessage field's value. +// UpdateSceneRequest generates a "aws/request.Request" representing the +// client's request for the UpdateScene operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateScene for more information on using the UpdateScene +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateSceneRequest method. +// req, resp := client.UpdateSceneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateScene +func (c *IoTTwinMaker) UpdateSceneRequest(input *UpdateSceneInput) (req *request.Request, output *UpdateSceneOutput) { + op := &request.Operation{ + Name: opUpdateScene, + HTTPMethod: "PUT", + HTTPPath: "/workspaces/{workspaceId}/scenes/{sceneId}", + } + + if input == nil { + input = &UpdateSceneInput{} + } + + output = &UpdateSceneOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateScene API operation for AWS IoT TwinMaker. +// +// Updates a scene. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdateScene for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An unexpected error has occurred. +// +// - AccessDeniedException +// Access is denied. +// +// - ResourceNotFoundException +// The resource wasn't found. +// +// - ThrottlingException +// The rate exceeds the limit. +// +// - ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateScene +func (c *IoTTwinMaker) UpdateScene(input *UpdateSceneInput) (*UpdateSceneOutput, error) { + req, out := c.UpdateSceneRequest(input) + return out, req.Send() +} + +// UpdateSceneWithContext is the same as UpdateScene with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateScene for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) UpdateSceneWithContext(ctx aws.Context, input *UpdateSceneInput, opts ...request.Option) (*UpdateSceneOutput, error) { + req, out := c.UpdateSceneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkspace = "UpdateWorkspace" + +// UpdateWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkspace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateWorkspace for more information on using the UpdateWorkspace +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateWorkspaceRequest method. +// req, resp := client.UpdateWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateWorkspace +func (c *IoTTwinMaker) UpdateWorkspaceRequest(input *UpdateWorkspaceInput) (req *request.Request, output *UpdateWorkspaceOutput) { + op := &request.Operation{ + Name: opUpdateWorkspace, + HTTPMethod: "PUT", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &UpdateWorkspaceInput{} + } + + output = &UpdateWorkspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateWorkspace API operation for AWS IoT TwinMaker. +// +// Updates a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdateWorkspace for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An unexpected error has occurred. +// +// - AccessDeniedException +// Access is denied. +// +// - ResourceNotFoundException +// The resource wasn't found. +// +// - ThrottlingException +// The rate exceeds the limit. +// +// - ValidationException +// Failed +// +// - ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateWorkspace +func (c *IoTTwinMaker) UpdateWorkspace(input *UpdateWorkspaceInput) (*UpdateWorkspaceOutput, error) { + req, out := c.UpdateWorkspaceRequest(input) + return out, req.Send() +} + +// UpdateWorkspaceWithContext is the same as UpdateWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkspace for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) UpdateWorkspaceWithContext(ctx aws.Context, input *UpdateWorkspaceInput, opts ...request.Option) (*UpdateWorkspaceOutput, error) { + req, out := c.UpdateWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Access is denied. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An error returned by the BatchPutProperty action. +type BatchPutPropertyError struct { + _ struct{} `type:"structure"` + + // An object that contains information about errors returned by the BatchPutProperty + // action. + // + // Entry is a required field + Entry *PropertyValueEntry `locationName:"entry" type:"structure" required:"true"` + + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" min:"1" type:"string" required:"true"` + + // The error message. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyError) GoString() string { + return s.String() +} + +// SetEntry sets the Entry field's value. +func (s *BatchPutPropertyError) SetEntry(v *PropertyValueEntry) *BatchPutPropertyError { + s.Entry = v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchPutPropertyError) SetErrorCode(v string) *BatchPutPropertyError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. func (s *BatchPutPropertyError) SetErrorMessage(v string) *BatchPutPropertyError { s.ErrorMessage = &v return s } -// An object that contains information about errors returned by the BatchPutProperty -// action. -type BatchPutPropertyErrorEntry struct { +// An object that contains information about errors returned by the BatchPutProperty +// action. +type BatchPutPropertyErrorEntry struct { + _ struct{} `type:"structure"` + + // A list of objects that contain information about errors returned by the BatchPutProperty + // action. + // + // Errors is a required field + Errors []*BatchPutPropertyError `locationName:"errors" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyErrorEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyErrorEntry) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchPutPropertyErrorEntry) SetErrors(v []*BatchPutPropertyError) *BatchPutPropertyErrorEntry { + s.Errors = v + return s +} + +type BatchPutPropertyValuesInput struct { + _ struct{} `type:"structure"` + + // An object that maps strings to the property value entries to set. Each string + // in the mapping must be unique to this object. + // + // Entries is a required field + Entries []*PropertyValueEntry `locationName:"entries" min:"1" type:"list" required:"true"` + + // The ID of the workspace that contains the properties to set. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyValuesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyValuesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchPutPropertyValuesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPutPropertyValuesInput"} + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) + } + if s.Entries != nil && len(s.Entries) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntries sets the Entries field's value. +func (s *BatchPutPropertyValuesInput) SetEntries(v []*PropertyValueEntry) *BatchPutPropertyValuesInput { + s.Entries = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *BatchPutPropertyValuesInput) SetWorkspaceId(v string) *BatchPutPropertyValuesInput { + s.WorkspaceId = &v + return s +} + +type BatchPutPropertyValuesOutput struct { + _ struct{} `type:"structure"` + + // Entries that caused errors in the batch put operation. + // + // ErrorEntries is a required field + ErrorEntries []*BatchPutPropertyErrorEntry `locationName:"errorEntries" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyValuesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyValuesOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchPutPropertyValuesOutput) SetErrorEntries(v []*BatchPutPropertyErrorEntry) *BatchPutPropertyValuesOutput { + s.ErrorEntries = v + return s +} + +// Information about the pricing bundle. +type BundleInformation struct { + _ struct{} `type:"structure"` + + // The bundle names. + // + // BundleNames is a required field + BundleNames []*string `locationName:"bundleNames" min:"1" type:"list" required:"true"` + + // The pricing tier. + PricingTier *string `locationName:"pricingTier" type:"string" enum:"PricingTier"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BundleInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BundleInformation) GoString() string { + return s.String() +} + +// SetBundleNames sets the BundleNames field's value. +func (s *BundleInformation) SetBundleNames(v []*string) *BundleInformation { + s.BundleNames = v + return s +} + +// SetPricingTier sets the PricingTier field's value. +func (s *BundleInformation) SetPricingTier(v string) *BundleInformation { + s.PricingTier = &v + return s +} + +type CancelMetadataTransferJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The metadata transfer job Id. + // + // MetadataTransferJobId is a required field + MetadataTransferJobId *string `location:"uri" locationName:"metadataTransferJobId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelMetadataTransferJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelMetadataTransferJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelMetadataTransferJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelMetadataTransferJobInput"} + if s.MetadataTransferJobId == nil { + invalidParams.Add(request.NewErrParamRequired("MetadataTransferJobId")) + } + if s.MetadataTransferJobId != nil && len(*s.MetadataTransferJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetadataTransferJobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *CancelMetadataTransferJobInput) SetMetadataTransferJobId(v string) *CancelMetadataTransferJobInput { + s.MetadataTransferJobId = &v + return s +} + +type CancelMetadataTransferJobOutput struct { + _ struct{} `type:"structure"` + + // The metadata transfer job ARN. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The metadata transfer job Id. + // + // MetadataTransferJobId is a required field + MetadataTransferJobId *string `locationName:"metadataTransferJobId" min:"1" type:"string" required:"true"` + + // The metadata transfer job's progress. + Progress *MetadataTransferJobProgress `locationName:"progress" type:"structure"` + + // The metadata transfer job's status. + // + // Status is a required field + Status *MetadataTransferJobStatus `locationName:"status" type:"structure" required:"true"` + + // Used to update the DateTime property. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelMetadataTransferJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelMetadataTransferJobOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CancelMetadataTransferJobOutput) SetArn(v string) *CancelMetadataTransferJobOutput { + s.Arn = &v + return s +} + +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *CancelMetadataTransferJobOutput) SetMetadataTransferJobId(v string) *CancelMetadataTransferJobOutput { + s.MetadataTransferJobId = &v + return s +} + +// SetProgress sets the Progress field's value. +func (s *CancelMetadataTransferJobOutput) SetProgress(v *MetadataTransferJobProgress) *CancelMetadataTransferJobOutput { + s.Progress = v + return s +} + +// SetStatus sets the Status field's value. +func (s *CancelMetadataTransferJobOutput) SetStatus(v *MetadataTransferJobStatus) *CancelMetadataTransferJobOutput { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *CancelMetadataTransferJobOutput) SetUpdateDateTime(v time.Time) *CancelMetadataTransferJobOutput { + s.UpdateDateTime = &v + return s +} + +// A description of the column in the query results. +type ColumnDescription struct { + _ struct{} `type:"structure"` + + // The name of the column description. + Name *string `locationName:"name" type:"string"` + + // The type of the column description. + Type *string `locationName:"type" type:"string" enum:"ColumnType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ColumnDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ColumnDescription) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ColumnDescription) SetName(v string) *ColumnDescription { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ColumnDescription) SetType(v string) *ColumnDescription { + s.Type = &v + return s +} + +// The component property group request. +type ComponentPropertyGroupRequest struct { + _ struct{} `type:"structure"` + + // The group type. + GroupType *string `locationName:"groupType" type:"string" enum:"GroupType"` + + // The property names. + PropertyNames []*string `locationName:"propertyNames" type:"list"` + + // The update type. + UpdateType *string `locationName:"updateType" type:"string" enum:"PropertyGroupUpdateType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentPropertyGroupRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentPropertyGroupRequest) GoString() string { + return s.String() +} + +// SetGroupType sets the GroupType field's value. +func (s *ComponentPropertyGroupRequest) SetGroupType(v string) *ComponentPropertyGroupRequest { + s.GroupType = &v + return s +} + +// SetPropertyNames sets the PropertyNames field's value. +func (s *ComponentPropertyGroupRequest) SetPropertyNames(v []*string) *ComponentPropertyGroupRequest { + s.PropertyNames = v + return s +} + +// SetUpdateType sets the UpdateType field's value. +func (s *ComponentPropertyGroupRequest) SetUpdateType(v string) *ComponentPropertyGroupRequest { + s.UpdateType = &v + return s +} + +// The component property group response. +type ComponentPropertyGroupResponse struct { + _ struct{} `type:"structure"` + + // The group type. + // + // GroupType is a required field + GroupType *string `locationName:"groupType" type:"string" required:"true" enum:"GroupType"` + + // A Boolean value that specifies whether the property group is inherited from + // a parent entity + // + // IsInherited is a required field + IsInherited *bool `locationName:"isInherited" type:"boolean" required:"true"` + + // The names of properties + // + // PropertyNames is a required field + PropertyNames []*string `locationName:"propertyNames" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentPropertyGroupResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentPropertyGroupResponse) GoString() string { + return s.String() +} + +// SetGroupType sets the GroupType field's value. +func (s *ComponentPropertyGroupResponse) SetGroupType(v string) *ComponentPropertyGroupResponse { + s.GroupType = &v + return s +} + +// SetIsInherited sets the IsInherited field's value. +func (s *ComponentPropertyGroupResponse) SetIsInherited(v bool) *ComponentPropertyGroupResponse { + s.IsInherited = &v + return s +} + +// SetPropertyNames sets the PropertyNames field's value. +func (s *ComponentPropertyGroupResponse) SetPropertyNames(v []*string) *ComponentPropertyGroupResponse { + s.PropertyNames = v + return s +} + +// An object that sets information about a component type create or update request. +type ComponentRequest struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The description of the component request. + Description *string `locationName:"description" type:"string"` + + // An object that maps strings to the properties to set in the component type. + // Each string in the mapping must be unique to this object. + Properties map[string]*PropertyRequest `locationName:"properties" type:"map"` + + // The property groups. + PropertyGroups map[string]*ComponentPropertyGroupRequest `locationName:"propertyGroups" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentRequest"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentRequest) SetComponentTypeId(v string) *ComponentRequest { + s.ComponentTypeId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentRequest) SetDescription(v string) *ComponentRequest { + s.Description = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *ComponentRequest) SetProperties(v map[string]*PropertyRequest) *ComponentRequest { + s.Properties = v + return s +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *ComponentRequest) SetPropertyGroups(v map[string]*ComponentPropertyGroupRequest) *ComponentRequest { + s.PropertyGroups = v + return s +} + +// An object that returns information about a component type create or update +// request. +type ComponentResponse struct { + _ struct{} `type:"structure"` + + // This flag notes whether all compositeComponents are returned in the API response. + AreAllCompositeComponentsReturned *bool `locationName:"areAllCompositeComponentsReturned" type:"boolean"` + + // This flag notes whether all properties of the component are returned in the + // API response. The maximum number of properties returned is 800. + AreAllPropertiesReturned *bool `locationName:"areAllPropertiesReturned" type:"boolean"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // This lists objects that contain information about the compositeComponents. + CompositeComponents map[string]*ComponentSummary `locationName:"compositeComponents" type:"map"` + + // The name of the property definition set in the request. + DefinedIn *string `locationName:"definedIn" min:"1" type:"string"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // An object that maps strings to the properties to set in the component type. + // Each string in the mapping must be unique to this object. + Properties map[string]*PropertyResponse `locationName:"properties" type:"map"` + + // The property groups. + PropertyGroups map[string]*ComponentPropertyGroupResponse `locationName:"propertyGroups" type:"map"` + + // The status of the component type. + Status *Status `locationName:"status" type:"structure"` + + // The syncSource of the sync job, if this entity was created by a sync job. + SyncSource *string `locationName:"syncSource" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentResponse) GoString() string { + return s.String() +} + +// SetAreAllCompositeComponentsReturned sets the AreAllCompositeComponentsReturned field's value. +func (s *ComponentResponse) SetAreAllCompositeComponentsReturned(v bool) *ComponentResponse { + s.AreAllCompositeComponentsReturned = &v + return s +} + +// SetAreAllPropertiesReturned sets the AreAllPropertiesReturned field's value. +func (s *ComponentResponse) SetAreAllPropertiesReturned(v bool) *ComponentResponse { + s.AreAllPropertiesReturned = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *ComponentResponse) SetComponentName(v string) *ComponentResponse { + s.ComponentName = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentResponse) SetComponentTypeId(v string) *ComponentResponse { + s.ComponentTypeId = &v + return s +} + +// SetCompositeComponents sets the CompositeComponents field's value. +func (s *ComponentResponse) SetCompositeComponents(v map[string]*ComponentSummary) *ComponentResponse { + s.CompositeComponents = v + return s +} + +// SetDefinedIn sets the DefinedIn field's value. +func (s *ComponentResponse) SetDefinedIn(v string) *ComponentResponse { + s.DefinedIn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentResponse) SetDescription(v string) *ComponentResponse { + s.Description = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *ComponentResponse) SetProperties(v map[string]*PropertyResponse) *ComponentResponse { + s.Properties = v + return s +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *ComponentResponse) SetPropertyGroups(v map[string]*ComponentPropertyGroupResponse) *ComponentResponse { + s.PropertyGroups = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComponentResponse) SetStatus(v *Status) *ComponentResponse { + s.Status = v + return s +} + +// SetSyncSource sets the SyncSource field's value. +func (s *ComponentResponse) SetSyncSource(v string) *ComponentResponse { + s.SyncSource = &v + return s +} + +// An object that returns information about a component summary. +type ComponentSummary struct { + _ struct{} `type:"structure"` + + // The name of the component. + // + // ComponentName is a required field + ComponentName *string `locationName:"componentName" min:"1" type:"string" required:"true"` + + // This string specifies the path to the composite component, starting from + // the top-level component. + ComponentPath *string `locationName:"componentPath" min:"1" type:"string"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The name of the property definition set in the request. + DefinedIn *string `locationName:"definedIn" min:"1" type:"string"` + + // The description of the component request. + Description *string `locationName:"description" type:"string"` + + // The property groups. + PropertyGroups map[string]*ComponentPropertyGroupResponse `locationName:"propertyGroups" type:"map"` + + // The status of the component type. + // + // Status is a required field + Status *Status `locationName:"status" type:"structure" required:"true"` + + // The syncSource of the sync job, if this entity was created by a sync job. + SyncSource *string `locationName:"syncSource" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentSummary) GoString() string { + return s.String() +} + +// SetComponentName sets the ComponentName field's value. +func (s *ComponentSummary) SetComponentName(v string) *ComponentSummary { + s.ComponentName = &v + return s +} + +// SetComponentPath sets the ComponentPath field's value. +func (s *ComponentSummary) SetComponentPath(v string) *ComponentSummary { + s.ComponentPath = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentSummary) SetComponentTypeId(v string) *ComponentSummary { + s.ComponentTypeId = &v + return s +} + +// SetDefinedIn sets the DefinedIn field's value. +func (s *ComponentSummary) SetDefinedIn(v string) *ComponentSummary { + s.DefinedIn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentSummary) SetDescription(v string) *ComponentSummary { + s.Description = &v + return s +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *ComponentSummary) SetPropertyGroups(v map[string]*ComponentPropertyGroupResponse) *ComponentSummary { + s.PropertyGroups = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComponentSummary) SetStatus(v *Status) *ComponentSummary { + s.Status = v + return s +} + +// SetSyncSource sets the SyncSource field's value. +func (s *ComponentSummary) SetSyncSource(v string) *ComponentSummary { + s.SyncSource = &v + return s +} + +// An object that contains information about a component type. +type ComponentTypeSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the component type. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The component type name. + ComponentTypeName *string `locationName:"componentTypeName" type:"string"` + + // The date and time when the component type was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // The current status of the component type. + Status *Status `locationName:"status" type:"structure"` + + // The date and time when the component type was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentTypeSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentTypeSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ComponentTypeSummary) SetArn(v string) *ComponentTypeSummary { + s.Arn = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentTypeSummary) SetComponentTypeId(v string) *ComponentTypeSummary { + s.ComponentTypeId = &v + return s +} + +// SetComponentTypeName sets the ComponentTypeName field's value. +func (s *ComponentTypeSummary) SetComponentTypeName(v string) *ComponentTypeSummary { + s.ComponentTypeName = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *ComponentTypeSummary) SetCreationDateTime(v time.Time) *ComponentTypeSummary { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentTypeSummary) SetDescription(v string) *ComponentTypeSummary { + s.Description = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComponentTypeSummary) SetStatus(v *Status) *ComponentTypeSummary { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *ComponentTypeSummary) SetUpdateDateTime(v time.Time) *ComponentTypeSummary { + s.UpdateDateTime = &v + return s +} + +// The component update request. +type ComponentUpdateRequest struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // The property group updates. + PropertyGroupUpdates map[string]*ComponentPropertyGroupRequest `locationName:"propertyGroupUpdates" type:"map"` + + // An object that maps strings to the properties to set in the component type + // update. Each string in the mapping must be unique to this object. + PropertyUpdates map[string]*PropertyRequest `locationName:"propertyUpdates" type:"map"` + + // The update type of the component update request. + UpdateType *string `locationName:"updateType" type:"string" enum:"ComponentUpdateType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentUpdateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentUpdateRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentUpdateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentUpdateRequest"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.PropertyUpdates != nil { + for i, v := range s.PropertyUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentUpdateRequest) SetComponentTypeId(v string) *ComponentUpdateRequest { + s.ComponentTypeId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentUpdateRequest) SetDescription(v string) *ComponentUpdateRequest { + s.Description = &v + return s +} + +// SetPropertyGroupUpdates sets the PropertyGroupUpdates field's value. +func (s *ComponentUpdateRequest) SetPropertyGroupUpdates(v map[string]*ComponentPropertyGroupRequest) *ComponentUpdateRequest { + s.PropertyGroupUpdates = v + return s +} + +// SetPropertyUpdates sets the PropertyUpdates field's value. +func (s *ComponentUpdateRequest) SetPropertyUpdates(v map[string]*PropertyRequest) *ComponentUpdateRequest { + s.PropertyUpdates = v + return s +} + +// SetUpdateType sets the UpdateType field's value. +func (s *ComponentUpdateRequest) SetUpdateType(v string) *ComponentUpdateRequest { + s.UpdateType = &v + return s +} + +// An object that sets information about the composite component update request. +type CompositeComponentRequest struct { + _ struct{} `type:"structure"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // This is an object that maps strings to the properties to set in the component + // type. Each string in the mapping must be unique to this object. + Properties map[string]*PropertyRequest `locationName:"properties" type:"map"` + + // The property groups. + PropertyGroups map[string]*ComponentPropertyGroupRequest `locationName:"propertyGroups" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CompositeComponentRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CompositeComponentRequest"} + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CompositeComponentRequest) SetDescription(v string) *CompositeComponentRequest { + s.Description = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *CompositeComponentRequest) SetProperties(v map[string]*PropertyRequest) *CompositeComponentRequest { + s.Properties = v + return s +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *CompositeComponentRequest) SetPropertyGroups(v map[string]*ComponentPropertyGroupRequest) *CompositeComponentRequest { + s.PropertyGroups = v + return s +} + +// An object that sets information about the composite component types of a +// component type. +type CompositeComponentTypeRequest struct { + _ struct{} `type:"structure"` + + // This is the componentTypeId that the compositeComponentType refers to. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentTypeRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentTypeRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CompositeComponentTypeRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CompositeComponentTypeRequest"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *CompositeComponentTypeRequest) SetComponentTypeId(v string) *CompositeComponentTypeRequest { + s.ComponentTypeId = &v + return s +} + +// An object that returns information about the composite component types of +// a component type. +type CompositeComponentTypeResponse struct { + _ struct{} `type:"structure"` + + // This is the componentTypeId that this compositeComponentType refers to. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // This boolean indicates whether this compositeComponentType is inherited from + // its parent. + IsInherited *bool `locationName:"isInherited" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentTypeResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentTypeResponse) GoString() string { + return s.String() +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *CompositeComponentTypeResponse) SetComponentTypeId(v string) *CompositeComponentTypeResponse { + s.ComponentTypeId = &v + return s +} + +// SetIsInherited sets the IsInherited field's value. +func (s *CompositeComponentTypeResponse) SetIsInherited(v bool) *CompositeComponentTypeResponse { + s.IsInherited = &v + return s +} + +// An object that sets information about the composite component update request. +type CompositeComponentUpdateRequest struct { + _ struct{} `type:"structure"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // The property group updates. + PropertyGroupUpdates map[string]*ComponentPropertyGroupRequest `locationName:"propertyGroupUpdates" type:"map"` + + // An object that maps strings to the properties to set in the component type + // update. Each string in the mapping must be unique to this object. + PropertyUpdates map[string]*PropertyRequest `locationName:"propertyUpdates" type:"map"` + + // The update type of the component update request. + UpdateType *string `locationName:"updateType" type:"string" enum:"ComponentUpdateType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentUpdateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CompositeComponentUpdateRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CompositeComponentUpdateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CompositeComponentUpdateRequest"} + if s.PropertyUpdates != nil { + for i, v := range s.PropertyUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CompositeComponentUpdateRequest) SetDescription(v string) *CompositeComponentUpdateRequest { + s.Description = &v + return s +} + +// SetPropertyGroupUpdates sets the PropertyGroupUpdates field's value. +func (s *CompositeComponentUpdateRequest) SetPropertyGroupUpdates(v map[string]*ComponentPropertyGroupRequest) *CompositeComponentUpdateRequest { + s.PropertyGroupUpdates = v + return s +} + +// SetPropertyUpdates sets the PropertyUpdates field's value. +func (s *CompositeComponentUpdateRequest) SetPropertyUpdates(v map[string]*PropertyRequest) *CompositeComponentUpdateRequest { + s.PropertyUpdates = v + return s +} + +// SetUpdateType sets the UpdateType field's value. +func (s *CompositeComponentUpdateRequest) SetUpdateType(v string) *CompositeComponentUpdateRequest { + s.UpdateType = &v + return s +} + +// A conflict occurred. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The connector failed. +type ConnectorFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectorFailureException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectorFailureException) GoString() string { + return s.String() +} + +func newErrorConnectorFailureException(v protocol.ResponseMetadata) error { + return &ConnectorFailureException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConnectorFailureException) Code() string { + return "ConnectorFailureException" +} + +// Message returns the exception's message. +func (s *ConnectorFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConnectorFailureException) OrigErr() error { + return nil +} + +func (s *ConnectorFailureException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConnectorFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConnectorFailureException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The connector timed out. +type ConnectorTimeoutException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectorTimeoutException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectorTimeoutException) GoString() string { + return s.String() +} + +func newErrorConnectorTimeoutException(v protocol.ResponseMetadata) error { + return &ConnectorTimeoutException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConnectorTimeoutException) Code() string { + return "ConnectorTimeoutException" +} + +// Message returns the exception's message. +func (s *ConnectorTimeoutException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConnectorTimeoutException) OrigErr() error { + return nil +} + +func (s *ConnectorTimeoutException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConnectorTimeoutException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConnectorTimeoutException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateComponentTypeInput struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // A friendly name for the component type. + ComponentTypeName *string `locationName:"componentTypeName" type:"string"` + + // This is an object that maps strings to compositeComponentTypes of the componentType. + // CompositeComponentType is referenced by componentTypeId. + CompositeComponentTypes map[string]*CompositeComponentTypeRequest `locationName:"compositeComponentTypes" type:"map"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // Specifies the parent component type to extend. + ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` + + // An object that maps strings to the functions in the component type. Each + // string in the mapping must be unique to this object. + Functions map[string]*FunctionRequest `locationName:"functions" type:"map"` + + // A Boolean value that specifies whether an entity can have more than one component + // of this type. + IsSingleton *bool `locationName:"isSingleton" type:"boolean"` + + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. + PropertyDefinitions map[string]*PropertyDefinitionRequest `locationName:"propertyDefinitions" type:"map"` + + PropertyGroups map[string]*PropertyGroupRequest `locationName:"propertyGroups" type:"map"` + + // Metadata that you can use to manage the component type. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateComponentTypeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateComponentTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateComponentTypeInput"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.CompositeComponentTypes != nil { + for i, v := range s.CompositeComponentTypes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CompositeComponentTypes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Functions != nil { + for i, v := range s.Functions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PropertyDefinitions != nil { + for i, v := range s.PropertyDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *CreateComponentTypeInput) SetComponentTypeId(v string) *CreateComponentTypeInput { + s.ComponentTypeId = &v + return s +} + +// SetComponentTypeName sets the ComponentTypeName field's value. +func (s *CreateComponentTypeInput) SetComponentTypeName(v string) *CreateComponentTypeInput { + s.ComponentTypeName = &v + return s +} + +// SetCompositeComponentTypes sets the CompositeComponentTypes field's value. +func (s *CreateComponentTypeInput) SetCompositeComponentTypes(v map[string]*CompositeComponentTypeRequest) *CreateComponentTypeInput { + s.CompositeComponentTypes = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateComponentTypeInput) SetDescription(v string) *CreateComponentTypeInput { + s.Description = &v + return s +} + +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *CreateComponentTypeInput) SetExtendsFrom(v []*string) *CreateComponentTypeInput { + s.ExtendsFrom = v + return s +} + +// SetFunctions sets the Functions field's value. +func (s *CreateComponentTypeInput) SetFunctions(v map[string]*FunctionRequest) *CreateComponentTypeInput { + s.Functions = v + return s +} + +// SetIsSingleton sets the IsSingleton field's value. +func (s *CreateComponentTypeInput) SetIsSingleton(v bool) *CreateComponentTypeInput { + s.IsSingleton = &v + return s +} + +// SetPropertyDefinitions sets the PropertyDefinitions field's value. +func (s *CreateComponentTypeInput) SetPropertyDefinitions(v map[string]*PropertyDefinitionRequest) *CreateComponentTypeInput { + s.PropertyDefinitions = v + return s +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *CreateComponentTypeInput) SetPropertyGroups(v map[string]*PropertyGroupRequest) *CreateComponentTypeInput { + s.PropertyGroups = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateComponentTypeInput) SetTags(v map[string]*string) *CreateComponentTypeInput { + s.Tags = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateComponentTypeInput) SetWorkspaceId(v string) *CreateComponentTypeInput { + s.WorkspaceId = &v + return s +} + +type CreateComponentTypeOutput struct { _ struct{} `type:"structure"` - // A list of objects that contain information about errors returned by the BatchPutProperty - // action. + // The ARN of the component type. // - // Errors is a required field - Errors []*BatchPutPropertyError `locationName:"errors" min:"1" type:"list" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the entity was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The current state of the component type. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` } // String returns the string representation. @@ -3842,35 +6156,66 @@ type BatchPutPropertyErrorEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutPropertyErrorEntry) String() string { +func (s CreateComponentTypeOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutPropertyErrorEntry) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateComponentTypeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateComponentTypeOutput) SetArn(v string) *CreateComponentTypeOutput { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateComponentTypeOutput) SetCreationDateTime(v time.Time) *CreateComponentTypeOutput { + s.CreationDateTime = &v + return s } -// SetErrors sets the Errors field's value. -func (s *BatchPutPropertyErrorEntry) SetErrors(v []*BatchPutPropertyError) *BatchPutPropertyErrorEntry { - s.Errors = v +// SetState sets the State field's value. +func (s *CreateComponentTypeOutput) SetState(v string) *CreateComponentTypeOutput { + s.State = &v return s } -type BatchPutPropertyValuesInput struct { +type CreateEntityInput struct { _ struct{} `type:"structure"` - // An object that maps strings to the property value entries to set. Each string + // An object that maps strings to the components in the entity. Each string // in the mapping must be unique to this object. + Components map[string]*ComponentRequest `locationName:"components" type:"map"` + + // This is an object that maps strings to compositeComponent updates in the + // request. Each key of the map represents the componentPath of the compositeComponent. + CompositeComponents map[string]*CompositeComponentRequest `locationName:"compositeComponents" type:"map"` + + // The description of the entity. + Description *string `locationName:"description" type:"string"` + + // The ID of the entity. + EntityId *string `locationName:"entityId" min:"1" type:"string"` + + // The name of the entity. // - // Entries is a required field - Entries []*PropertyValueEntry `locationName:"entries" min:"1" type:"list" required:"true"` + // EntityName is a required field + EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` - // The ID of the workspace that contains the properties to set. + // The ID of the entity's parent entity. + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + + // Metadata that you can use to manage the entity. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace that contains the entity. // // WorkspaceId is a required field WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -3881,7 +6226,7 @@ type BatchPutPropertyValuesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutPropertyValuesInput) String() string { +func (s CreateEntityInput) String() string { return awsutil.Prettify(s) } @@ -3890,18 +6235,24 @@ func (s BatchPutPropertyValuesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchPutPropertyValuesInput) GoString() string { +func (s CreateEntityInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchPutPropertyValuesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchPutPropertyValuesInput"} - if s.Entries == nil { - invalidParams.Add(request.NewErrParamRequired("Entries")) +func (s *CreateEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEntityInput"} + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) } - if s.Entries != nil && len(s.Entries) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) + if s.EntityName == nil { + invalidParams.Add(request.NewErrParamRequired("EntityName")) + } + if s.EntityName != nil && len(*s.EntityName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityName", 1)) + } + if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) } if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) @@ -3909,13 +6260,23 @@ func (s *BatchPutPropertyValuesInput) Validate() error { if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } - if s.Entries != nil { - for i, v := range s.Entries { + if s.Components != nil { + for i, v := range s.Components { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CompositeComponents != nil { + for i, v := range s.CompositeComponents { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CompositeComponents", i), err.(request.ErrInvalidParams)) } } } @@ -3926,62 +6287,76 @@ func (s *BatchPutPropertyValuesInput) Validate() error { return nil } -// SetEntries sets the Entries field's value. -func (s *BatchPutPropertyValuesInput) SetEntries(v []*PropertyValueEntry) *BatchPutPropertyValuesInput { - s.Entries = v +// SetComponents sets the Components field's value. +func (s *CreateEntityInput) SetComponents(v map[string]*ComponentRequest) *CreateEntityInput { + s.Components = v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *BatchPutPropertyValuesInput) SetWorkspaceId(v string) *BatchPutPropertyValuesInput { - s.WorkspaceId = &v +// SetCompositeComponents sets the CompositeComponents field's value. +func (s *CreateEntityInput) SetCompositeComponents(v map[string]*CompositeComponentRequest) *CreateEntityInput { + s.CompositeComponents = v return s } -type BatchPutPropertyValuesOutput struct { - _ struct{} `type:"structure"` +// SetDescription sets the Description field's value. +func (s *CreateEntityInput) SetDescription(v string) *CreateEntityInput { + s.Description = &v + return s +} - // Entries that caused errors in the batch put operation. - // - // ErrorEntries is a required field - ErrorEntries []*BatchPutPropertyErrorEntry `locationName:"errorEntries" min:"1" type:"list" required:"true"` +// SetEntityId sets the EntityId field's value. +func (s *CreateEntityInput) SetEntityId(v string) *CreateEntityInput { + s.EntityId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutPropertyValuesOutput) String() string { - return awsutil.Prettify(s) +// SetEntityName sets the EntityName field's value. +func (s *CreateEntityInput) SetEntityName(v string) *CreateEntityInput { + s.EntityName = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchPutPropertyValuesOutput) GoString() string { - return s.String() +// SetParentEntityId sets the ParentEntityId field's value. +func (s *CreateEntityInput) SetParentEntityId(v string) *CreateEntityInput { + s.ParentEntityId = &v + return s } -// SetErrorEntries sets the ErrorEntries field's value. -func (s *BatchPutPropertyValuesOutput) SetErrorEntries(v []*BatchPutPropertyErrorEntry) *BatchPutPropertyValuesOutput { - s.ErrorEntries = v +// SetTags sets the Tags field's value. +func (s *CreateEntityInput) SetTags(v map[string]*string) *CreateEntityInput { + s.Tags = v return s } -// Information about the pricing bundle. -type BundleInformation struct { +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateEntityInput) SetWorkspaceId(v string) *CreateEntityInput { + s.WorkspaceId = &v + return s +} + +type CreateEntityOutput struct { _ struct{} `type:"structure"` - // The bundle names. + // The ARN of the entity. // - // BundleNames is a required field - BundleNames []*string `locationName:"bundleNames" min:"1" type:"list" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // The pricing tier. - PricingTier *string `locationName:"pricingTier" type:"string" enum:"PricingTier"` + // The date and time when the entity was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` + + // The current state of the entity. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` } // String returns the string representation. @@ -3989,7 +6364,7 @@ type BundleInformation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BundleInformation) String() string { +func (s CreateEntityOutput) String() string { return awsutil.Prettify(s) } @@ -3998,75 +6373,52 @@ func (s BundleInformation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BundleInformation) GoString() string { +func (s CreateEntityOutput) GoString() string { return s.String() } -// SetBundleNames sets the BundleNames field's value. -func (s *BundleInformation) SetBundleNames(v []*string) *BundleInformation { - s.BundleNames = v +// SetArn sets the Arn field's value. +func (s *CreateEntityOutput) SetArn(v string) *CreateEntityOutput { + s.Arn = &v return s } -// SetPricingTier sets the PricingTier field's value. -func (s *BundleInformation) SetPricingTier(v string) *BundleInformation { - s.PricingTier = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateEntityOutput) SetCreationDateTime(v time.Time) *CreateEntityOutput { + s.CreationDateTime = &v return s } -// A description of the column in the query results. -type ColumnDescription struct { - _ struct{} `type:"structure"` - - // The name of the column description. - Name *string `locationName:"name" type:"string"` - - // The type of the column description. - Type *string `locationName:"type" type:"string" enum:"ColumnType"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ColumnDescription) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ColumnDescription) GoString() string { - return s.String() -} - -// SetName sets the Name field's value. -func (s *ColumnDescription) SetName(v string) *ColumnDescription { - s.Name = &v +// SetEntityId sets the EntityId field's value. +func (s *CreateEntityOutput) SetEntityId(v string) *CreateEntityOutput { + s.EntityId = &v return s } -// SetType sets the Type field's value. -func (s *ColumnDescription) SetType(v string) *ColumnDescription { - s.Type = &v +// SetState sets the State field's value. +func (s *CreateEntityOutput) SetState(v string) *CreateEntityOutput { + s.State = &v return s } -// The component property group request. -type ComponentPropertyGroupRequest struct { +type CreateMetadataTransferJobInput struct { _ struct{} `type:"structure"` - // The group type. - GroupType *string `locationName:"groupType" type:"string" enum:"GroupType"` + // The metadata transfer job description. + Description *string `locationName:"description" type:"string"` - // The property names. - PropertyNames []*string `locationName:"propertyNames" type:"list"` + // The metadata transfer job destination. + // + // Destination is a required field + Destination *DestinationConfiguration `locationName:"destination" type:"structure" required:"true"` - // The update type. - UpdateType *string `locationName:"updateType" type:"string" enum:"PropertyGroupUpdateType"` + // The metadata transfer job Id. + MetadataTransferJobId *string `locationName:"metadataTransferJobId" min:"1" type:"string"` + + // The metadata transfer job sources. + // + // Sources is a required field + Sources []*SourceConfiguration `locationName:"sources" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -4074,7 +6426,7 @@ type ComponentPropertyGroupRequest struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentPropertyGroupRequest) String() string { +func (s CreateMetadataTransferJobInput) String() string { return awsutil.Prettify(s) } @@ -4083,47 +6435,93 @@ func (s ComponentPropertyGroupRequest) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentPropertyGroupRequest) GoString() string { +func (s CreateMetadataTransferJobInput) GoString() string { return s.String() } -// SetGroupType sets the GroupType field's value. -func (s *ComponentPropertyGroupRequest) SetGroupType(v string) *ComponentPropertyGroupRequest { - s.GroupType = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMetadataTransferJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMetadataTransferJobInput"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.MetadataTransferJobId != nil && len(*s.MetadataTransferJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetadataTransferJobId", 1)) + } + if s.Sources == nil { + invalidParams.Add(request.NewErrParamRequired("Sources")) + } + if s.Sources != nil && len(s.Sources) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Sources", 1)) + } + if s.Destination != nil { + if err := s.Destination.Validate(); err != nil { + invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) + } + } + if s.Sources != nil { + for i, v := range s.Sources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateMetadataTransferJobInput) SetDescription(v string) *CreateMetadataTransferJobInput { + s.Description = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *CreateMetadataTransferJobInput) SetDestination(v *DestinationConfiguration) *CreateMetadataTransferJobInput { + s.Destination = v return s } -// SetPropertyNames sets the PropertyNames field's value. -func (s *ComponentPropertyGroupRequest) SetPropertyNames(v []*string) *ComponentPropertyGroupRequest { - s.PropertyNames = v +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *CreateMetadataTransferJobInput) SetMetadataTransferJobId(v string) *CreateMetadataTransferJobInput { + s.MetadataTransferJobId = &v return s } -// SetUpdateType sets the UpdateType field's value. -func (s *ComponentPropertyGroupRequest) SetUpdateType(v string) *ComponentPropertyGroupRequest { - s.UpdateType = &v +// SetSources sets the Sources field's value. +func (s *CreateMetadataTransferJobInput) SetSources(v []*SourceConfiguration) *CreateMetadataTransferJobInput { + s.Sources = v return s } -// The component property group response. -type ComponentPropertyGroupResponse struct { +type CreateMetadataTransferJobOutput struct { _ struct{} `type:"structure"` - // The group type. + // The metadata transfer job ARN. // - // GroupType is a required field - GroupType *string `locationName:"groupType" type:"string" required:"true" enum:"GroupType"` + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // A Boolean value that specifies whether the property group is inherited from - // a parent entity + // The The metadata transfer job creation DateTime property. // - // IsInherited is a required field - IsInherited *bool `locationName:"isInherited" type:"boolean" required:"true"` + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - // The names of properties + // The metadata transfer job Id. // - // PropertyNames is a required field - PropertyNames []*string `locationName:"propertyNames" type:"list" required:"true"` + // MetadataTransferJobId is a required field + MetadataTransferJobId *string `locationName:"metadataTransferJobId" min:"1" type:"string" required:"true"` + + // The metadata transfer job response status. + // + // Status is a required field + Status *MetadataTransferJobStatus `locationName:"status" type:"structure" required:"true"` } // String returns the string representation. @@ -4131,7 +6529,7 @@ type ComponentPropertyGroupResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentPropertyGroupResponse) String() string { +func (s CreateMetadataTransferJobOutput) String() string { return awsutil.Prettify(s) } @@ -4140,44 +6538,63 @@ func (s ComponentPropertyGroupResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentPropertyGroupResponse) GoString() string { +func (s CreateMetadataTransferJobOutput) GoString() string { return s.String() } -// SetGroupType sets the GroupType field's value. -func (s *ComponentPropertyGroupResponse) SetGroupType(v string) *ComponentPropertyGroupResponse { - s.GroupType = &v +// SetArn sets the Arn field's value. +func (s *CreateMetadataTransferJobOutput) SetArn(v string) *CreateMetadataTransferJobOutput { + s.Arn = &v return s } -// SetIsInherited sets the IsInherited field's value. -func (s *ComponentPropertyGroupResponse) SetIsInherited(v bool) *ComponentPropertyGroupResponse { - s.IsInherited = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateMetadataTransferJobOutput) SetCreationDateTime(v time.Time) *CreateMetadataTransferJobOutput { + s.CreationDateTime = &v return s } -// SetPropertyNames sets the PropertyNames field's value. -func (s *ComponentPropertyGroupResponse) SetPropertyNames(v []*string) *ComponentPropertyGroupResponse { - s.PropertyNames = v +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *CreateMetadataTransferJobOutput) SetMetadataTransferJobId(v string) *CreateMetadataTransferJobOutput { + s.MetadataTransferJobId = &v return s } -// An object that sets information about a component type create or update request. -type ComponentRequest struct { +// SetStatus sets the Status field's value. +func (s *CreateMetadataTransferJobOutput) SetStatus(v *MetadataTransferJobStatus) *CreateMetadataTransferJobOutput { + s.Status = v + return s +} + +type CreateSceneInput struct { _ struct{} `type:"structure"` - // The ID of the component type. - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + // A list of capabilities that the scene uses to render itself. + Capabilities []*string `locationName:"capabilities" type:"list"` - // The description of the component request. + // The relative path that specifies the location of the content definition file. + // + // ContentLocation is a required field + ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` + + // The description for this scene. Description *string `locationName:"description" type:"string"` - // An object that maps strings to the properties to set in the component type. - // Each string in the mapping must be unique to this object. - Properties map[string]*PropertyRequest `locationName:"properties" type:"map"` + // The ID of the scene. + // + // SceneId is a required field + SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` - // The property groups. - PropertyGroups map[string]*ComponentPropertyGroupRequest `locationName:"propertyGroups" type:"map"` + // The request metadata. + SceneMetadata map[string]*string `locationName:"sceneMetadata" type:"map"` + + // Metadata that you can use to manage the scene. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace that contains the scene. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -4185,7 +6602,7 @@ type ComponentRequest struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentRequest) String() string { +func (s CreateSceneInput) String() string { return awsutil.Prettify(s) } @@ -4194,25 +6611,27 @@ func (s ComponentRequest) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentRequest) GoString() string { +func (s CreateSceneInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ComponentRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComponentRequest"} - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) +func (s *CreateSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSceneInput"} + if s.ContentLocation == nil { + invalidParams.Add(request.NewErrParamRequired("ContentLocation")) } - if s.Properties != nil { - for i, v := range s.Properties { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) - } - } + if s.SceneId == nil { + invalidParams.Add(request.NewErrParamRequired("SceneId")) + } + if s.SceneId != nil && len(*s.SceneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } if invalidParams.Len() > 0 { @@ -4221,59 +6640,60 @@ func (s *ComponentRequest) Validate() error { return nil } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *ComponentRequest) SetComponentTypeId(v string) *ComponentRequest { - s.ComponentTypeId = &v +// SetCapabilities sets the Capabilities field's value. +func (s *CreateSceneInput) SetCapabilities(v []*string) *CreateSceneInput { + s.Capabilities = v + return s +} + +// SetContentLocation sets the ContentLocation field's value. +func (s *CreateSceneInput) SetContentLocation(v string) *CreateSceneInput { + s.ContentLocation = &v return s } // SetDescription sets the Description field's value. -func (s *ComponentRequest) SetDescription(v string) *ComponentRequest { +func (s *CreateSceneInput) SetDescription(v string) *CreateSceneInput { s.Description = &v return s } -// SetProperties sets the Properties field's value. -func (s *ComponentRequest) SetProperties(v map[string]*PropertyRequest) *ComponentRequest { - s.Properties = v +// SetSceneId sets the SceneId field's value. +func (s *CreateSceneInput) SetSceneId(v string) *CreateSceneInput { + s.SceneId = &v return s } -// SetPropertyGroups sets the PropertyGroups field's value. -func (s *ComponentRequest) SetPropertyGroups(v map[string]*ComponentPropertyGroupRequest) *ComponentRequest { - s.PropertyGroups = v +// SetSceneMetadata sets the SceneMetadata field's value. +func (s *CreateSceneInput) SetSceneMetadata(v map[string]*string) *CreateSceneInput { + s.SceneMetadata = v return s } -// An object that returns information about a component type create or update -// request. -type ComponentResponse struct { - _ struct{} `type:"structure"` - - // The name of the component. - ComponentName *string `locationName:"componentName" min:"1" type:"string"` - - // The ID of the component type. - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` - - // The name of the property definition set in the request. - DefinedIn *string `locationName:"definedIn" min:"1" type:"string"` - - // The description of the component type. - Description *string `locationName:"description" type:"string"` +// SetTags sets the Tags field's value. +func (s *CreateSceneInput) SetTags(v map[string]*string) *CreateSceneInput { + s.Tags = v + return s +} - // An object that maps strings to the properties to set in the component type. - // Each string in the mapping must be unique to this object. - Properties map[string]*PropertyResponse `locationName:"properties" type:"map"` +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateSceneInput) SetWorkspaceId(v string) *CreateSceneInput { + s.WorkspaceId = &v + return s +} - // The property groups. - PropertyGroups map[string]*ComponentPropertyGroupResponse `locationName:"propertyGroups" type:"map"` +type CreateSceneOutput struct { + _ struct{} `type:"structure"` - // The status of the component type. - Status *Status `locationName:"status" type:"structure"` + // The ARN of the scene. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // The syncSource of the sync job, if this entity was created by a sync job. - SyncSource *string `locationName:"syncSource" type:"string"` + // The date and time when the scene was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -4281,7 +6701,7 @@ type ComponentResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentResponse) String() string { +func (s CreateSceneOutput) String() string { return awsutil.Prettify(s) } @@ -4290,90 +6710,134 @@ func (s ComponentResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentResponse) GoString() string { +func (s CreateSceneOutput) GoString() string { return s.String() } -// SetComponentName sets the ComponentName field's value. -func (s *ComponentResponse) SetComponentName(v string) *ComponentResponse { - s.ComponentName = &v +// SetArn sets the Arn field's value. +func (s *CreateSceneOutput) SetArn(v string) *CreateSceneOutput { + s.Arn = &v return s } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *ComponentResponse) SetComponentTypeId(v string) *ComponentResponse { - s.ComponentTypeId = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateSceneOutput) SetCreationDateTime(v time.Time) *CreateSceneOutput { + s.CreationDateTime = &v return s } -// SetDefinedIn sets the DefinedIn field's value. -func (s *ComponentResponse) SetDefinedIn(v string) *ComponentResponse { - s.DefinedIn = &v - return s +type CreateSyncJobInput struct { + _ struct{} `type:"structure"` + + // The SyncJob IAM role. This IAM role is used by the SyncJob to read from the + // syncSource, and create, update, or delete the corresponding resources. + // + // SyncRole is a required field + SyncRole *string `locationName:"syncRole" min:"20" type:"string" required:"true"` + + // The sync source. + // + // Currently the only supported syncSoource is SITEWISE . + // + // SyncSource is a required field + SyncSource *string `location:"uri" locationName:"syncSource" type:"string" required:"true"` + + // The SyncJob tags. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The workspace ID. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSyncJobInput) String() string { + return awsutil.Prettify(s) } -// SetDescription sets the Description field's value. -func (s *ComponentResponse) SetDescription(v string) *ComponentResponse { - s.Description = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSyncJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSyncJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSyncJobInput"} + if s.SyncRole == nil { + invalidParams.Add(request.NewErrParamRequired("SyncRole")) + } + if s.SyncRole != nil && len(*s.SyncRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("SyncRole", 20)) + } + if s.SyncSource == nil { + invalidParams.Add(request.NewErrParamRequired("SyncSource")) + } + if s.SyncSource != nil && len(*s.SyncSource) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SyncSource", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetProperties sets the Properties field's value. -func (s *ComponentResponse) SetProperties(v map[string]*PropertyResponse) *ComponentResponse { - s.Properties = v +// SetSyncRole sets the SyncRole field's value. +func (s *CreateSyncJobInput) SetSyncRole(v string) *CreateSyncJobInput { + s.SyncRole = &v return s } -// SetPropertyGroups sets the PropertyGroups field's value. -func (s *ComponentResponse) SetPropertyGroups(v map[string]*ComponentPropertyGroupResponse) *ComponentResponse { - s.PropertyGroups = v +// SetSyncSource sets the SyncSource field's value. +func (s *CreateSyncJobInput) SetSyncSource(v string) *CreateSyncJobInput { + s.SyncSource = &v return s } -// SetStatus sets the Status field's value. -func (s *ComponentResponse) SetStatus(v *Status) *ComponentResponse { - s.Status = v +// SetTags sets the Tags field's value. +func (s *CreateSyncJobInput) SetTags(v map[string]*string) *CreateSyncJobInput { + s.Tags = v return s } -// SetSyncSource sets the SyncSource field's value. -func (s *ComponentResponse) SetSyncSource(v string) *ComponentResponse { - s.SyncSource = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateSyncJobInput) SetWorkspaceId(v string) *CreateSyncJobInput { + s.WorkspaceId = &v return s } -// An object that contains information about a component type. -type ComponentTypeSummary struct { +type CreateSyncJobOutput struct { _ struct{} `type:"structure"` - // The ARN of the component type. + // The SyncJob ARN. // // Arn is a required field Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // The ID of the component type. - // - // ComponentTypeId is a required field - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` - - // The component type name. - ComponentTypeName *string `locationName:"componentTypeName" type:"string"` - - // The date and time when the component type was created. + // The date and time for the SyncJob creation. // // CreationDateTime is a required field CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - // The description of the component type. - Description *string `locationName:"description" type:"string"` - - // The current status of the component type. - Status *Status `locationName:"status" type:"structure"` - - // The date and time when the component type was last updated. + // The SyncJob response state. // - // UpdateDateTime is a required field - UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"SyncJobState"` } // String returns the string representation. @@ -4381,7 +6845,7 @@ type ComponentTypeSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentTypeSummary) String() string { +func (s CreateSyncJobOutput) String() string { return awsutil.Prettify(s) } @@ -4390,71 +6854,48 @@ func (s ComponentTypeSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentTypeSummary) GoString() string { +func (s CreateSyncJobOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *ComponentTypeSummary) SetArn(v string) *ComponentTypeSummary { +func (s *CreateSyncJobOutput) SetArn(v string) *CreateSyncJobOutput { s.Arn = &v return s } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *ComponentTypeSummary) SetComponentTypeId(v string) *ComponentTypeSummary { - s.ComponentTypeId = &v - return s -} - -// SetComponentTypeName sets the ComponentTypeName field's value. -func (s *ComponentTypeSummary) SetComponentTypeName(v string) *ComponentTypeSummary { - s.ComponentTypeName = &v - return s -} - // SetCreationDateTime sets the CreationDateTime field's value. -func (s *ComponentTypeSummary) SetCreationDateTime(v time.Time) *ComponentTypeSummary { +func (s *CreateSyncJobOutput) SetCreationDateTime(v time.Time) *CreateSyncJobOutput { s.CreationDateTime = &v return s } -// SetDescription sets the Description field's value. -func (s *ComponentTypeSummary) SetDescription(v string) *ComponentTypeSummary { - s.Description = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ComponentTypeSummary) SetStatus(v *Status) *ComponentTypeSummary { - s.Status = v - return s -} - -// SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *ComponentTypeSummary) SetUpdateDateTime(v time.Time) *ComponentTypeSummary { - s.UpdateDateTime = &v +// SetState sets the State field's value. +func (s *CreateSyncJobOutput) SetState(v string) *CreateSyncJobOutput { + s.State = &v return s } -// The component update request. -type ComponentUpdateRequest struct { +type CreateWorkspaceInput struct { _ struct{} `type:"structure"` - // The ID of the component type. - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` - - // The description of the component type. + // The description of the workspace. Description *string `locationName:"description" type:"string"` - // The property group updates. - PropertyGroupUpdates map[string]*ComponentPropertyGroupRequest `locationName:"propertyGroupUpdates" type:"map"` + // The ARN of the execution role associated with the workspace. + Role *string `locationName:"role" min:"20" type:"string"` - // An object that maps strings to the properties to set in the component type - // update. Each string in the mapping must be unique to this object. - PropertyUpdates map[string]*PropertyRequest `locationName:"propertyUpdates" type:"map"` + // The ARN of the S3 bucket where resources associated with the workspace are + // stored. + S3Location *string `locationName:"s3Location" type:"string"` - // The update type of the component update request. - UpdateType *string `locationName:"updateType" type:"string" enum:"ComponentUpdateType"` + // Metadata that you can use to manage the workspace + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -4462,7 +6903,7 @@ type ComponentUpdateRequest struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentUpdateRequest) String() string { +func (s CreateWorkspaceInput) String() string { return awsutil.Prettify(s) } @@ -4471,25 +6912,21 @@ func (s ComponentUpdateRequest) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentUpdateRequest) GoString() string { +func (s CreateWorkspaceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ComponentUpdateRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComponentUpdateRequest"} - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) +func (s *CreateWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkspaceInput"} + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) } - if s.PropertyUpdates != nil { - for i, v := range s.PropertyUpdates { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyUpdates", i), err.(request.ErrInvalidParams)) - } - } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } if invalidParams.Len() > 0 { @@ -4498,42 +6935,48 @@ func (s *ComponentUpdateRequest) Validate() error { return nil } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *ComponentUpdateRequest) SetComponentTypeId(v string) *ComponentUpdateRequest { - s.ComponentTypeId = &v +// SetDescription sets the Description field's value. +func (s *CreateWorkspaceInput) SetDescription(v string) *CreateWorkspaceInput { + s.Description = &v return s } -// SetDescription sets the Description field's value. -func (s *ComponentUpdateRequest) SetDescription(v string) *ComponentUpdateRequest { - s.Description = &v +// SetRole sets the Role field's value. +func (s *CreateWorkspaceInput) SetRole(v string) *CreateWorkspaceInput { + s.Role = &v return s } -// SetPropertyGroupUpdates sets the PropertyGroupUpdates field's value. -func (s *ComponentUpdateRequest) SetPropertyGroupUpdates(v map[string]*ComponentPropertyGroupRequest) *ComponentUpdateRequest { - s.PropertyGroupUpdates = v +// SetS3Location sets the S3Location field's value. +func (s *CreateWorkspaceInput) SetS3Location(v string) *CreateWorkspaceInput { + s.S3Location = &v return s } -// SetPropertyUpdates sets the PropertyUpdates field's value. -func (s *ComponentUpdateRequest) SetPropertyUpdates(v map[string]*PropertyRequest) *ComponentUpdateRequest { - s.PropertyUpdates = v +// SetTags sets the Tags field's value. +func (s *CreateWorkspaceInput) SetTags(v map[string]*string) *CreateWorkspaceInput { + s.Tags = v return s } -// SetUpdateType sets the UpdateType field's value. -func (s *ComponentUpdateRequest) SetUpdateType(v string) *ComponentUpdateRequest { - s.UpdateType = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateWorkspaceInput) SetWorkspaceId(v string) *CreateWorkspaceInput { + s.WorkspaceId = &v return s } -// A conflict occurred. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type CreateWorkspaceOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // The ARN of the workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the workspace was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -4541,7 +6984,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s CreateWorkspaceOutput) String() string { return awsutil.Prettify(s) } @@ -4550,54 +6993,99 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s CreateWorkspaceOutput) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, - } +// SetArn sets the Arn field's value. +func (s *CreateWorkspaceOutput) SetArn(v string) *CreateWorkspaceOutput { + s.Arn = &v + return s } -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateWorkspaceOutput) SetCreationDateTime(v time.Time) *CreateWorkspaceOutput { + s.CreationDateTime = &v + return s +} + +// The data connector. +type DataConnector struct { + _ struct{} `type:"structure"` + + // A Boolean value that specifies whether the data connector is native to IoT + // TwinMaker. + IsNative *bool `locationName:"isNative" type:"boolean"` + + // The Lambda function associated with this data connector. + Lambda *LambdaFunction `locationName:"lambda" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataConnector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataConnector) GoString() string { + return s.String() } -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataConnector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataConnector"} + if s.Lambda != nil { + if err := s.Lambda.Validate(); err != nil { + invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams)) + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetIsNative sets the IsNative field's value. +func (s *DataConnector) SetIsNative(v bool) *DataConnector { + s.IsNative = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetLambda sets the Lambda field's value. +func (s *DataConnector) SetLambda(v *LambdaFunction) *DataConnector { + s.Lambda = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID -} +// An object that specifies the data type of a property. +type DataType struct { + _ struct{} `type:"structure"` -// The connector failed. -type ConnectorFailureException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The allowed values for this data type. + AllowedValues []*DataValue `locationName:"allowedValues" type:"list"` - Message_ *string `locationName:"message" type:"string"` + // The nested type in the data type. + NestedType *DataType `locationName:"nestedType" type:"structure"` + + // A relationship that associates a component with another component. + Relationship *Relationship `locationName:"relationship" type:"structure"` + + // The underlying type of the data type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"Type"` + + // The unit of measure used in this data type. + UnitOfMeasure *string `locationName:"unitOfMeasure" min:"1" type:"string"` } // String returns the string representation. @@ -4605,7 +7093,7 @@ type ConnectorFailureException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConnectorFailureException) String() string { +func (s DataType) String() string { return awsutil.Prettify(s) } @@ -4614,54 +7102,106 @@ func (s ConnectorFailureException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConnectorFailureException) GoString() string { +func (s DataType) GoString() string { return s.String() } -func newErrorConnectorFailureException(v protocol.ResponseMetadata) error { - return &ConnectorFailureException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataType"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.UnitOfMeasure != nil && len(*s.UnitOfMeasure) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UnitOfMeasure", 1)) + } + if s.AllowedValues != nil { + for i, v := range s.AllowedValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AllowedValues", i), err.(request.ErrInvalidParams)) + } + } + } + if s.NestedType != nil { + if err := s.NestedType.Validate(); err != nil { + invalidParams.AddNested("NestedType", err.(request.ErrInvalidParams)) + } + } + if s.Relationship != nil { + if err := s.Relationship.Validate(); err != nil { + invalidParams.AddNested("Relationship", err.(request.ErrInvalidParams)) + } } -} -// Code returns the exception type name. -func (s *ConnectorFailureException) Code() string { - return "ConnectorFailureException" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *ConnectorFailureException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetAllowedValues sets the AllowedValues field's value. +func (s *DataType) SetAllowedValues(v []*DataValue) *DataType { + s.AllowedValues = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConnectorFailureException) OrigErr() error { - return nil +// SetNestedType sets the NestedType field's value. +func (s *DataType) SetNestedType(v *DataType) *DataType { + s.NestedType = v + return s } -func (s *ConnectorFailureException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetRelationship sets the Relationship field's value. +func (s *DataType) SetRelationship(v *Relationship) *DataType { + s.Relationship = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConnectorFailureException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetType sets the Type field's value. +func (s *DataType) SetType(v string) *DataType { + s.Type = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConnectorFailureException) RequestID() string { - return s.RespMetadata.RequestID +// SetUnitOfMeasure sets the UnitOfMeasure field's value. +func (s *DataType) SetUnitOfMeasure(v string) *DataType { + s.UnitOfMeasure = &v + return s } -// The connector timed out. -type ConnectorTimeoutException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// An object that specifies a value for a property. +type DataValue struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // A Boolean value. + BooleanValue *bool `locationName:"booleanValue" type:"boolean"` + + // A double value. + DoubleValue *float64 `locationName:"doubleValue" type:"double"` + + // An expression that produces the value. + Expression *string `locationName:"expression" min:"1" type:"string"` + + // An integer value. + IntegerValue *int64 `locationName:"integerValue" type:"integer"` + + // A list of multiple values. + ListValue []*DataValue `locationName:"listValue" type:"list"` + + // A long value. + LongValue *int64 `locationName:"longValue" type:"long"` + + // An object that maps strings to multiple DataValue objects. + MapValue map[string]*DataValue `locationName:"mapValue" type:"map"` + + // A value that relates a component to another component. + RelationshipValue *RelationshipValue `locationName:"relationshipValue" type:"structure"` + + // A string value. + StringValue *string `locationName:"stringValue" min:"1" type:"string"` } // String returns the string representation. @@ -4669,7 +7209,7 @@ type ConnectorTimeoutException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConnectorTimeoutException) String() string { +func (s DataValue) String() string { return awsutil.Prettify(s) } @@ -4678,82 +7218,113 @@ func (s ConnectorTimeoutException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConnectorTimeoutException) GoString() string { +func (s DataValue) GoString() string { return s.String() } -func newErrorConnectorTimeoutException(v protocol.ResponseMetadata) error { - return &ConnectorTimeoutException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataValue"} + if s.Expression != nil && len(*s.Expression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + } + if s.StringValue != nil && len(*s.StringValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringValue", 1)) + } + if s.ListValue != nil { + for i, v := range s.ListValue { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ListValue", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MapValue != nil { + for i, v := range s.MapValue { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MapValue", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RelationshipValue != nil { + if err := s.RelationshipValue.Validate(); err != nil { + invalidParams.AddNested("RelationshipValue", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *ConnectorTimeoutException) Code() string { - return "ConnectorTimeoutException" +// SetBooleanValue sets the BooleanValue field's value. +func (s *DataValue) SetBooleanValue(v bool) *DataValue { + s.BooleanValue = &v + return s } -// Message returns the exception's message. -func (s *ConnectorTimeoutException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDoubleValue sets the DoubleValue field's value. +func (s *DataValue) SetDoubleValue(v float64) *DataValue { + s.DoubleValue = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConnectorTimeoutException) OrigErr() error { - return nil +// SetExpression sets the Expression field's value. +func (s *DataValue) SetExpression(v string) *DataValue { + s.Expression = &v + return s +} + +// SetIntegerValue sets the IntegerValue field's value. +func (s *DataValue) SetIntegerValue(v int64) *DataValue { + s.IntegerValue = &v + return s +} + +// SetListValue sets the ListValue field's value. +func (s *DataValue) SetListValue(v []*DataValue) *DataValue { + s.ListValue = v + return s } -func (s *ConnectorTimeoutException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetLongValue sets the LongValue field's value. +func (s *DataValue) SetLongValue(v int64) *DataValue { + s.LongValue = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConnectorTimeoutException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMapValue sets the MapValue field's value. +func (s *DataValue) SetMapValue(v map[string]*DataValue) *DataValue { + s.MapValue = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConnectorTimeoutException) RequestID() string { - return s.RespMetadata.RequestID +// SetRelationshipValue sets the RelationshipValue field's value. +func (s *DataValue) SetRelationshipValue(v *RelationshipValue) *DataValue { + s.RelationshipValue = v + return s } -type CreateComponentTypeInput struct { - _ struct{} `type:"structure"` +// SetStringValue sets the StringValue field's value. +func (s *DataValue) SetStringValue(v string) *DataValue { + s.StringValue = &v + return s +} - // The ID of the component type. +type DeleteComponentTypeInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the component type to delete. // // ComponentTypeId is a required field ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` - // A friendly name for the component type. - ComponentTypeName *string `locationName:"componentTypeName" type:"string"` - - // The description of the component type. - Description *string `locationName:"description" type:"string"` - - // Specifies the parent component type to extend. - ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` - - // An object that maps strings to the functions in the component type. Each - // string in the mapping must be unique to this object. - Functions map[string]*FunctionRequest `locationName:"functions" type:"map"` - - // A Boolean value that specifies whether an entity can have more than one component - // of this type. - IsSingleton *bool `locationName:"isSingleton" type:"boolean"` - - // An object that maps strings to the property definitions in the component - // type. Each string in the mapping must be unique to this object. - PropertyDefinitions map[string]*PropertyDefinitionRequest `locationName:"propertyDefinitions" type:"map"` - - PropertyGroups map[string]*PropertyGroupRequest `locationName:"propertyGroups" type:"map"` - - // Metadata that you can use to manage the component type. - Tags map[string]*string `locationName:"tags" type:"map"` - // The ID of the workspace that contains the component type. // // WorkspaceId is a required field @@ -4765,7 +7336,7 @@ type CreateComponentTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentTypeInput) String() string { +func (s DeleteComponentTypeInput) String() string { return awsutil.Prettify(s) } @@ -4774,13 +7345,13 @@ func (s CreateComponentTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentTypeInput) GoString() string { +func (s DeleteComponentTypeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateComponentTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateComponentTypeInput"} +func (s *DeleteComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteComponentTypeInput"} if s.ComponentTypeId == nil { invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) } @@ -4793,26 +7364,6 @@ func (s *CreateComponentTypeInput) Validate() error { if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } - if s.Functions != nil { - for i, v := range s.Functions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.PropertyDefinitions != nil { - for i, v := range s.PropertyDefinitions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyDefinitions", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -4821,79 +7372,21 @@ func (s *CreateComponentTypeInput) Validate() error { } // SetComponentTypeId sets the ComponentTypeId field's value. -func (s *CreateComponentTypeInput) SetComponentTypeId(v string) *CreateComponentTypeInput { +func (s *DeleteComponentTypeInput) SetComponentTypeId(v string) *DeleteComponentTypeInput { s.ComponentTypeId = &v return s } -// SetComponentTypeName sets the ComponentTypeName field's value. -func (s *CreateComponentTypeInput) SetComponentTypeName(v string) *CreateComponentTypeInput { - s.ComponentTypeName = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateComponentTypeInput) SetDescription(v string) *CreateComponentTypeInput { - s.Description = &v - return s -} - -// SetExtendsFrom sets the ExtendsFrom field's value. -func (s *CreateComponentTypeInput) SetExtendsFrom(v []*string) *CreateComponentTypeInput { - s.ExtendsFrom = v - return s -} - -// SetFunctions sets the Functions field's value. -func (s *CreateComponentTypeInput) SetFunctions(v map[string]*FunctionRequest) *CreateComponentTypeInput { - s.Functions = v - return s -} - -// SetIsSingleton sets the IsSingleton field's value. -func (s *CreateComponentTypeInput) SetIsSingleton(v bool) *CreateComponentTypeInput { - s.IsSingleton = &v - return s -} - -// SetPropertyDefinitions sets the PropertyDefinitions field's value. -func (s *CreateComponentTypeInput) SetPropertyDefinitions(v map[string]*PropertyDefinitionRequest) *CreateComponentTypeInput { - s.PropertyDefinitions = v - return s -} - -// SetPropertyGroups sets the PropertyGroups field's value. -func (s *CreateComponentTypeInput) SetPropertyGroups(v map[string]*PropertyGroupRequest) *CreateComponentTypeInput { - s.PropertyGroups = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateComponentTypeInput) SetTags(v map[string]*string) *CreateComponentTypeInput { - s.Tags = v - return s -} - // SetWorkspaceId sets the WorkspaceId field's value. -func (s *CreateComponentTypeInput) SetWorkspaceId(v string) *CreateComponentTypeInput { +func (s *DeleteComponentTypeInput) SetWorkspaceId(v string) *DeleteComponentTypeInput { s.WorkspaceId = &v return s } -type CreateComponentTypeOutput struct { +type DeleteComponentTypeOutput struct { _ struct{} `type:"structure"` - // The ARN of the component type. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - - // The date and time when the entity was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - - // The current state of the component type. + // The current state of the component type to be deleted. // // State is a required field State *string `locationName:"state" type:"string" required:"true" enum:"State"` @@ -4904,7 +7397,7 @@ type CreateComponentTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentTypeOutput) String() string { +func (s DeleteComponentTypeOutput) String() string { return awsutil.Prettify(s) } @@ -4913,53 +7406,28 @@ func (s CreateComponentTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentTypeOutput) GoString() string { +func (s DeleteComponentTypeOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateComponentTypeOutput) SetArn(v string) *CreateComponentTypeOutput { - s.Arn = &v - return s -} - -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *CreateComponentTypeOutput) SetCreationDateTime(v time.Time) *CreateComponentTypeOutput { - s.CreationDateTime = &v - return s -} - // SetState sets the State field's value. -func (s *CreateComponentTypeOutput) SetState(v string) *CreateComponentTypeOutput { +func (s *DeleteComponentTypeOutput) SetState(v string) *DeleteComponentTypeOutput { s.State = &v return s } -type CreateEntityInput struct { - _ struct{} `type:"structure"` - - // An object that maps strings to the components in the entity. Each string - // in the mapping must be unique to this object. - Components map[string]*ComponentRequest `locationName:"components" type:"map"` - - // The description of the entity. - Description *string `locationName:"description" type:"string"` - - // The ID of the entity. - EntityId *string `locationName:"entityId" min:"1" type:"string"` +type DeleteEntityInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the entity. + // The ID of the entity to delete. // - // EntityName is a required field - EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` - - // The ID of the entity's parent entity. - ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + // EntityId is a required field + EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` - // Metadata that you can use to manage the entity. - Tags map[string]*string `locationName:"tags" type:"map"` + // A Boolean value that specifies whether the operation deletes child entities. + IsRecursive *bool `location:"querystring" locationName:"isRecursive" type:"boolean"` - // The ID of the workspace that contains the entity. + // The ID of the workspace that contains the entity to delete. // // WorkspaceId is a required field WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -4970,7 +7438,7 @@ type CreateEntityInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateEntityInput) String() string { +func (s DeleteEntityInput) String() string { return awsutil.Prettify(s) } @@ -4979,41 +7447,25 @@ func (s CreateEntityInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateEntityInput) GoString() string { +func (s DeleteEntityInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateEntityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateEntityInput"} +func (s *DeleteEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEntityInput"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } if s.EntityId != nil && len(*s.EntityId) < 1 { invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) } - if s.EntityName == nil { - invalidParams.Add(request.NewErrParamRequired("EntityName")) - } - if s.EntityName != nil && len(*s.EntityName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityName", 1)) - } - if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) - } if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } - if s.Components != nil { - for i, v := range s.Components { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -5021,67 +7473,28 @@ func (s *CreateEntityInput) Validate() error { return nil } -// SetComponents sets the Components field's value. -func (s *CreateEntityInput) SetComponents(v map[string]*ComponentRequest) *CreateEntityInput { - s.Components = v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateEntityInput) SetDescription(v string) *CreateEntityInput { - s.Description = &v - return s -} - -// SetEntityId sets the EntityId field's value. -func (s *CreateEntityInput) SetEntityId(v string) *CreateEntityInput { - s.EntityId = &v - return s -} - -// SetEntityName sets the EntityName field's value. -func (s *CreateEntityInput) SetEntityName(v string) *CreateEntityInput { - s.EntityName = &v - return s -} - -// SetParentEntityId sets the ParentEntityId field's value. -func (s *CreateEntityInput) SetParentEntityId(v string) *CreateEntityInput { - s.ParentEntityId = &v +// SetEntityId sets the EntityId field's value. +func (s *DeleteEntityInput) SetEntityId(v string) *DeleteEntityInput { + s.EntityId = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateEntityInput) SetTags(v map[string]*string) *CreateEntityInput { - s.Tags = v +// SetIsRecursive sets the IsRecursive field's value. +func (s *DeleteEntityInput) SetIsRecursive(v bool) *DeleteEntityInput { + s.IsRecursive = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *CreateEntityInput) SetWorkspaceId(v string) *CreateEntityInput { +func (s *DeleteEntityInput) SetWorkspaceId(v string) *DeleteEntityInput { s.WorkspaceId = &v return s } -type CreateEntityOutput struct { +type DeleteEntityOutput struct { _ struct{} `type:"structure"` - // The ARN of the entity. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - - // The date and time when the entity was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - - // The ID of the entity. - // - // EntityId is a required field - EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` - - // The current state of the entity. + // The current state of the deleted entity. // // State is a required field State *string `locationName:"state" type:"string" required:"true" enum:"State"` @@ -5092,7 +7505,7 @@ type CreateEntityOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateEntityOutput) String() string { +func (s DeleteEntityOutput) String() string { return awsutil.Prettify(s) } @@ -5101,60 +7514,25 @@ func (s CreateEntityOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateEntityOutput) GoString() string { +func (s DeleteEntityOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateEntityOutput) SetArn(v string) *CreateEntityOutput { - s.Arn = &v - return s -} - -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *CreateEntityOutput) SetCreationDateTime(v time.Time) *CreateEntityOutput { - s.CreationDateTime = &v - return s -} - -// SetEntityId sets the EntityId field's value. -func (s *CreateEntityOutput) SetEntityId(v string) *CreateEntityOutput { - s.EntityId = &v - return s -} - // SetState sets the State field's value. -func (s *CreateEntityOutput) SetState(v string) *CreateEntityOutput { +func (s *DeleteEntityOutput) SetState(v string) *DeleteEntityOutput { s.State = &v return s } -type CreateSceneInput struct { - _ struct{} `type:"structure"` - - // A list of capabilities that the scene uses to render itself. - Capabilities []*string `locationName:"capabilities" type:"list"` - - // The relative path that specifies the location of the content definition file. - // - // ContentLocation is a required field - ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` - - // The description for this scene. - Description *string `locationName:"description" type:"string"` +type DeleteSceneInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The ID of the scene. + // The ID of the scene to delete. // // SceneId is a required field - SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` - - // The request metadata. - SceneMetadata map[string]*string `locationName:"sceneMetadata" type:"map"` - - // Metadata that you can use to manage the scene. - Tags map[string]*string `locationName:"tags" type:"map"` + SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` - // The ID of the workspace that contains the scene. + // The ID of the workspace. // // WorkspaceId is a required field WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -5165,7 +7543,7 @@ type CreateSceneInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSceneInput) String() string { +func (s DeleteSceneInput) String() string { return awsutil.Prettify(s) } @@ -5174,16 +7552,13 @@ func (s CreateSceneInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSceneInput) GoString() string { +func (s DeleteSceneInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSceneInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSceneInput"} - if s.ContentLocation == nil { - invalidParams.Add(request.NewErrParamRequired("ContentLocation")) - } +func (s *DeleteSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSceneInput"} if s.SceneId == nil { invalidParams.Add(request.NewErrParamRequired("SceneId")) } @@ -5203,60 +7578,20 @@ func (s *CreateSceneInput) Validate() error { return nil } -// SetCapabilities sets the Capabilities field's value. -func (s *CreateSceneInput) SetCapabilities(v []*string) *CreateSceneInput { - s.Capabilities = v - return s -} - -// SetContentLocation sets the ContentLocation field's value. -func (s *CreateSceneInput) SetContentLocation(v string) *CreateSceneInput { - s.ContentLocation = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateSceneInput) SetDescription(v string) *CreateSceneInput { - s.Description = &v - return s -} - // SetSceneId sets the SceneId field's value. -func (s *CreateSceneInput) SetSceneId(v string) *CreateSceneInput { +func (s *DeleteSceneInput) SetSceneId(v string) *DeleteSceneInput { s.SceneId = &v return s } -// SetSceneMetadata sets the SceneMetadata field's value. -func (s *CreateSceneInput) SetSceneMetadata(v map[string]*string) *CreateSceneInput { - s.SceneMetadata = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateSceneInput) SetTags(v map[string]*string) *CreateSceneInput { - s.Tags = v - return s -} - // SetWorkspaceId sets the WorkspaceId field's value. -func (s *CreateSceneInput) SetWorkspaceId(v string) *CreateSceneInput { +func (s *DeleteSceneInput) SetWorkspaceId(v string) *DeleteSceneInput { s.WorkspaceId = &v return s } -type CreateSceneOutput struct { +type DeleteSceneOutput struct { _ struct{} `type:"structure"` - - // The ARN of the scene. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - - // The date and time when the scene was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -5264,7 +7599,7 @@ type CreateSceneOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSceneOutput) String() string { +func (s DeleteSceneOutput) String() string { return awsutil.Prettify(s) } @@ -5273,41 +7608,20 @@ func (s CreateSceneOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSceneOutput) GoString() string { +func (s DeleteSceneOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateSceneOutput) SetArn(v string) *CreateSceneOutput { - s.Arn = &v - return s -} - -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *CreateSceneOutput) SetCreationDateTime(v time.Time) *CreateSceneOutput { - s.CreationDateTime = &v - return s -} - -type CreateSyncJobInput struct { - _ struct{} `type:"structure"` - - // The SyncJob IAM role. This IAM role is used by the SyncJob to read from the - // syncSource, and create, update, or delete the corresponding resources. - // - // SyncRole is a required field - SyncRole *string `locationName:"syncRole" min:"20" type:"string" required:"true"` +type DeleteSyncJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` // The sync source. // - // Currently the only supported syncSoource is SITEWISE . + // Currently the only supported syncSource is SITEWISE . // // SyncSource is a required field SyncSource *string `location:"uri" locationName:"syncSource" type:"string" required:"true"` - // The SyncJob tags. - Tags map[string]*string `locationName:"tags" type:"map"` - // The workspace ID. // // WorkspaceId is a required field @@ -5319,7 +7633,7 @@ type CreateSyncJobInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSyncJobInput) String() string { +func (s DeleteSyncJobInput) String() string { return awsutil.Prettify(s) } @@ -5328,19 +7642,13 @@ func (s CreateSyncJobInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSyncJobInput) GoString() string { +func (s DeleteSyncJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSyncJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSyncJobInput"} - if s.SyncRole == nil { - invalidParams.Add(request.NewErrParamRequired("SyncRole")) - } - if s.SyncRole != nil && len(*s.SyncRole) < 20 { - invalidParams.Add(request.NewErrParamMinLen("SyncRole", 20)) - } +func (s *DeleteSyncJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSyncJobInput"} if s.SyncSource == nil { invalidParams.Add(request.NewErrParamRequired("SyncSource")) } @@ -5360,47 +7668,145 @@ func (s *CreateSyncJobInput) Validate() error { return nil } -// SetSyncRole sets the SyncRole field's value. -func (s *CreateSyncJobInput) SetSyncRole(v string) *CreateSyncJobInput { - s.SyncRole = &v +// SetSyncSource sets the SyncSource field's value. +func (s *DeleteSyncJobInput) SetSyncSource(v string) *DeleteSyncJobInput { + s.SyncSource = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteSyncJobInput) SetWorkspaceId(v string) *DeleteSyncJobInput { + s.WorkspaceId = &v + return s +} + +type DeleteSyncJobOutput struct { + _ struct{} `type:"structure"` + + // The SyncJob response state. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"SyncJobState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSyncJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSyncJobOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *DeleteSyncJobOutput) SetState(v string) *DeleteSyncJobOutput { + s.State = &v + return s +} + +type DeleteWorkspaceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the workspace to delete. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkspaceInput"} + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteWorkspaceInput) SetWorkspaceId(v string) *DeleteWorkspaceInput { + s.WorkspaceId = &v return s } -// SetSyncSource sets the SyncSource field's value. -func (s *CreateSyncJobInput) SetSyncSource(v string) *CreateSyncJobInput { - s.SyncSource = &v - return s +type DeleteWorkspaceOutput struct { + _ struct{} `type:"structure"` + + // The string that specifies the delete result for the workspace. + Message *string `locationName:"message" type:"string"` } -// SetTags sets the Tags field's value. -func (s *CreateSyncJobInput) SetTags(v map[string]*string) *CreateSyncJobInput { - s.Tags = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkspaceOutput) String() string { + return awsutil.Prettify(s) } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *CreateSyncJobInput) SetWorkspaceId(v string) *CreateSyncJobInput { - s.WorkspaceId = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkspaceOutput) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DeleteWorkspaceOutput) SetMessage(v string) *DeleteWorkspaceOutput { + s.Message = &v return s } -type CreateSyncJobOutput struct { +// The [link to action] metadata transfer job destination configuration. +type DestinationConfiguration struct { _ struct{} `type:"structure"` - // The SyncJob ARN. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + // The metadata transfer job Amazon Web Services IoT TwinMaker configuration. + IotTwinMakerConfiguration *IotTwinMakerDestinationConfiguration `locationName:"iotTwinMakerConfiguration" type:"structure"` - // The date and time for the SyncJob creation. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + // The metadata transfer job S3 configuration. [need to add S3 entity] + S3Configuration *S3DestinationConfiguration `locationName:"s3Configuration" type:"structure"` - // The SyncJob response state. + // The destination type. // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"SyncJobState"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DestinationType"` } // String returns the string representation. @@ -5408,7 +7814,7 @@ type CreateSyncJobOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSyncJobOutput) String() string { +func (s DestinationConfiguration) String() string { return awsutil.Prettify(s) } @@ -5417,52 +7823,73 @@ func (s CreateSyncJobOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSyncJobOutput) GoString() string { +func (s DestinationConfiguration) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateSyncJobOutput) SetArn(v string) *CreateSyncJobOutput { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DestinationConfiguration"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.IotTwinMakerConfiguration != nil { + if err := s.IotTwinMakerConfiguration.Validate(); err != nil { + invalidParams.AddNested("IotTwinMakerConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Configuration != nil { + if err := s.S3Configuration.Validate(); err != nil { + invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIotTwinMakerConfiguration sets the IotTwinMakerConfiguration field's value. +func (s *DestinationConfiguration) SetIotTwinMakerConfiguration(v *IotTwinMakerDestinationConfiguration) *DestinationConfiguration { + s.IotTwinMakerConfiguration = v return s } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *CreateSyncJobOutput) SetCreationDateTime(v time.Time) *CreateSyncJobOutput { - s.CreationDateTime = &v +// SetS3Configuration sets the S3Configuration field's value. +func (s *DestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *DestinationConfiguration { + s.S3Configuration = v return s } -// SetState sets the State field's value. -func (s *CreateSyncJobOutput) SetState(v string) *CreateSyncJobOutput { - s.State = &v +// SetType sets the Type field's value. +func (s *DestinationConfiguration) SetType(v string) *DestinationConfiguration { + s.Type = &v return s } -type CreateWorkspaceInput struct { +// An object that uniquely identifies an entity property. +type EntityPropertyReference struct { _ struct{} `type:"structure"` - // The description of the workspace. - Description *string `locationName:"description" type:"string"` + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` - // The ARN of the execution role associated with the workspace. - // - // Role is a required field - Role *string `locationName:"role" min:"20" type:"string" required:"true"` + // This string specifies the path to the composite component, starting from + // the top-level component. + ComponentPath *string `locationName:"componentPath" min:"1" type:"string"` - // The ARN of the S3 bucket where resources associated with the workspace are - // stored. - // - // S3Location is a required field - S3Location *string `locationName:"s3Location" type:"string" required:"true"` + // The ID of the entity. + EntityId *string `locationName:"entityId" min:"1" type:"string"` - // Metadata that you can use to manage the workspace - Tags map[string]*string `locationName:"tags" type:"map"` + // A mapping of external IDs to property names. External IDs uniquely identify + // properties from external data stores. + ExternalIdProperty map[string]*string `locationName:"externalIdProperty" type:"map"` - // The ID of the workspace. + // The name of the property. // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // PropertyName is a required field + PropertyName *string `locationName:"propertyName" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -5470,7 +7897,7 @@ type CreateWorkspaceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateWorkspaceInput) String() string { +func (s EntityPropertyReference) String() string { return awsutil.Prettify(s) } @@ -5479,27 +7906,27 @@ func (s CreateWorkspaceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateWorkspaceInput) GoString() string { +func (s EntityPropertyReference) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateWorkspaceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateWorkspaceInput"} - if s.Role == nil { - invalidParams.Add(request.NewErrParamRequired("Role")) +func (s *EntityPropertyReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EntityPropertyReference"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) } - if s.Role != nil && len(*s.Role) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + if s.ComponentPath != nil && len(*s.ComponentPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentPath", 1)) } - if s.S3Location == nil { - invalidParams.Add(request.NewErrParamRequired("S3Location")) + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + if s.PropertyName == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyName")) } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + if s.PropertyName != nil && len(*s.PropertyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyName", 1)) } if invalidParams.Len() > 0 { @@ -5508,48 +7935,79 @@ func (s *CreateWorkspaceInput) Validate() error { return nil } -// SetDescription sets the Description field's value. -func (s *CreateWorkspaceInput) SetDescription(v string) *CreateWorkspaceInput { - s.Description = &v +// SetComponentName sets the ComponentName field's value. +func (s *EntityPropertyReference) SetComponentName(v string) *EntityPropertyReference { + s.ComponentName = &v return s } -// SetRole sets the Role field's value. -func (s *CreateWorkspaceInput) SetRole(v string) *CreateWorkspaceInput { - s.Role = &v +// SetComponentPath sets the ComponentPath field's value. +func (s *EntityPropertyReference) SetComponentPath(v string) *EntityPropertyReference { + s.ComponentPath = &v return s } -// SetS3Location sets the S3Location field's value. -func (s *CreateWorkspaceInput) SetS3Location(v string) *CreateWorkspaceInput { - s.S3Location = &v +// SetEntityId sets the EntityId field's value. +func (s *EntityPropertyReference) SetEntityId(v string) *EntityPropertyReference { + s.EntityId = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateWorkspaceInput) SetTags(v map[string]*string) *CreateWorkspaceInput { - s.Tags = v +// SetExternalIdProperty sets the ExternalIdProperty field's value. +func (s *EntityPropertyReference) SetExternalIdProperty(v map[string]*string) *EntityPropertyReference { + s.ExternalIdProperty = v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *CreateWorkspaceInput) SetWorkspaceId(v string) *CreateWorkspaceInput { - s.WorkspaceId = &v +// SetPropertyName sets the PropertyName field's value. +func (s *EntityPropertyReference) SetPropertyName(v string) *EntityPropertyReference { + s.PropertyName = &v return s } -type CreateWorkspaceOutput struct { +// An object that contains information about an entity. +type EntitySummary struct { _ struct{} `type:"structure"` - // The ARN of the workspace. + // The ARN of the entity. // // Arn is a required field Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // The date and time when the workspace was created. + // The date and time when the entity was created. // // CreationDateTime is a required field CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the entity. + Description *string `locationName:"description" type:"string"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` + + // The name of the entity. + // + // EntityName is a required field + EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` + + // An eventual Boolean value that specifies whether the entity has child entities + // or not. + HasChildEntities *bool `locationName:"hasChildEntities" type:"boolean"` + + // The ID of the parent entity. + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + + // The current status of the entity. + // + // Status is a required field + Status *Status `locationName:"status" type:"structure" required:"true"` + + // The last date and time when the entity was updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -5557,7 +8015,7 @@ type CreateWorkspaceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateWorkspaceOutput) String() string { +func (s EntitySummary) String() string { return awsutil.Prettify(s) } @@ -5566,32 +8024,73 @@ func (s CreateWorkspaceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateWorkspaceOutput) GoString() string { +func (s EntitySummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateWorkspaceOutput) SetArn(v string) *CreateWorkspaceOutput { +func (s *EntitySummary) SetArn(v string) *EntitySummary { s.Arn = &v return s } // SetCreationDateTime sets the CreationDateTime field's value. -func (s *CreateWorkspaceOutput) SetCreationDateTime(v time.Time) *CreateWorkspaceOutput { +func (s *EntitySummary) SetCreationDateTime(v time.Time) *EntitySummary { s.CreationDateTime = &v return s } -// The data connector. -type DataConnector struct { +// SetDescription sets the Description field's value. +func (s *EntitySummary) SetDescription(v string) *EntitySummary { + s.Description = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *EntitySummary) SetEntityId(v string) *EntitySummary { + s.EntityId = &v + return s +} + +// SetEntityName sets the EntityName field's value. +func (s *EntitySummary) SetEntityName(v string) *EntitySummary { + s.EntityName = &v + return s +} + +// SetHasChildEntities sets the HasChildEntities field's value. +func (s *EntitySummary) SetHasChildEntities(v bool) *EntitySummary { + s.HasChildEntities = &v + return s +} + +// SetParentEntityId sets the ParentEntityId field's value. +func (s *EntitySummary) SetParentEntityId(v string) *EntitySummary { + s.ParentEntityId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EntitySummary) SetStatus(v *Status) *EntitySummary { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *EntitySummary) SetUpdateDateTime(v time.Time) *EntitySummary { + s.UpdateDateTime = &v + return s +} + +// The error details. +type ErrorDetails struct { _ struct{} `type:"structure"` - // A Boolean value that specifies whether the data connector is native to IoT - // TwinMaker. - IsNative *bool `locationName:"isNative" type:"boolean"` + // The error code. + Code *string `locationName:"code" type:"string" enum:"ErrorCode"` - // The Lambda function associated with this data connector. - Lambda *LambdaFunction `locationName:"lambda" type:"structure"` + // The error message. + Message *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -5599,7 +8098,7 @@ type DataConnector struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataConnector) String() string { +func (s ErrorDetails) String() string { return awsutil.Prettify(s) } @@ -5608,57 +8107,40 @@ func (s DataConnector) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataConnector) GoString() string { +func (s ErrorDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DataConnector) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataConnector"} - if s.Lambda != nil { - if err := s.Lambda.Validate(); err != nil { - invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetIsNative sets the IsNative field's value. -func (s *DataConnector) SetIsNative(v bool) *DataConnector { - s.IsNative = &v +// SetCode sets the Code field's value. +func (s *ErrorDetails) SetCode(v string) *ErrorDetails { + s.Code = &v return s } -// SetLambda sets the Lambda field's value. -func (s *DataConnector) SetLambda(v *LambdaFunction) *DataConnector { - s.Lambda = v +// SetMessage sets the Message field's value. +func (s *ErrorDetails) SetMessage(v string) *ErrorDetails { + s.Message = &v return s } -// An object that specifies the data type of a property. -type DataType struct { +type ExecuteQueryInput struct { _ struct{} `type:"structure"` - // The allowed values for this data type. - AllowedValues []*DataValue `locationName:"allowedValues" type:"list"` - - // The nested type in the data type. - NestedType *DataType `locationName:"nestedType" type:"structure"` + // The maximum number of results to return at one time. The default is 50. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // A relationship that associates a component with another component. - Relationship *Relationship `locationName:"relationship" type:"structure"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` - // The underlying type of the data type. + // The query statement. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"Type"` + // QueryStatement is a required field + QueryStatement *string `locationName:"queryStatement" min:"1" type:"string" required:"true"` - // The unit of measure used in this data type. - UnitOfMeasure *string `locationName:"unitOfMeasure" min:"1" type:"string"` + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -5666,7 +8148,7 @@ type DataType struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataType) String() string { +func (s ExecuteQueryInput) String() string { return awsutil.Prettify(s) } @@ -5675,38 +8157,27 @@ func (s DataType) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataType) GoString() string { +func (s ExecuteQueryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataType) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataType"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +func (s *ExecuteQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteQueryInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.UnitOfMeasure != nil && len(*s.UnitOfMeasure) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UnitOfMeasure", 1)) + if s.QueryStatement == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStatement")) } - if s.AllowedValues != nil { - for i, v := range s.AllowedValues { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AllowedValues", i), err.(request.ErrInvalidParams)) - } - } + if s.QueryStatement != nil && len(*s.QueryStatement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryStatement", 1)) } - if s.NestedType != nil { - if err := s.NestedType.Validate(); err != nil { - invalidParams.AddNested("NestedType", err.(request.ErrInvalidParams)) - } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } - if s.Relationship != nil { - if err := s.Relationship.Validate(); err != nil { - invalidParams.AddNested("Relationship", err.(request.ErrInvalidParams)) - } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } if invalidParams.Len() > 0 { @@ -5715,66 +8186,41 @@ func (s *DataType) Validate() error { return nil } -// SetAllowedValues sets the AllowedValues field's value. -func (s *DataType) SetAllowedValues(v []*DataValue) *DataType { - s.AllowedValues = v - return s -} - -// SetNestedType sets the NestedType field's value. -func (s *DataType) SetNestedType(v *DataType) *DataType { - s.NestedType = v +// SetMaxResults sets the MaxResults field's value. +func (s *ExecuteQueryInput) SetMaxResults(v int64) *ExecuteQueryInput { + s.MaxResults = &v return s } -// SetRelationship sets the Relationship field's value. -func (s *DataType) SetRelationship(v *Relationship) *DataType { - s.Relationship = v +// SetNextToken sets the NextToken field's value. +func (s *ExecuteQueryInput) SetNextToken(v string) *ExecuteQueryInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *DataType) SetType(v string) *DataType { - s.Type = &v +// SetQueryStatement sets the QueryStatement field's value. +func (s *ExecuteQueryInput) SetQueryStatement(v string) *ExecuteQueryInput { + s.QueryStatement = &v return s } -// SetUnitOfMeasure sets the UnitOfMeasure field's value. -func (s *DataType) SetUnitOfMeasure(v string) *DataType { - s.UnitOfMeasure = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ExecuteQueryInput) SetWorkspaceId(v string) *ExecuteQueryInput { + s.WorkspaceId = &v return s } -// An object that specifies a value for a property. -type DataValue struct { +type ExecuteQueryOutput struct { _ struct{} `type:"structure"` - // A Boolean value. - BooleanValue *bool `locationName:"booleanValue" type:"boolean"` - - // A double value. - DoubleValue *float64 `locationName:"doubleValue" type:"double"` - - // An expression that produces the value. - Expression *string `locationName:"expression" min:"1" type:"string"` - - // An integer value. - IntegerValue *int64 `locationName:"integerValue" type:"integer"` - - // A list of multiple values. - ListValue []*DataValue `locationName:"listValue" type:"list"` - - // A long value. - LongValue *int64 `locationName:"longValue" type:"long"` - - // An object that maps strings to multiple DataValue objects. - MapValue map[string]*DataValue `locationName:"mapValue" type:"map"` + // A list of ColumnDescription objects. + ColumnDescriptions []*ColumnDescription `locationName:"columnDescriptions" type:"list"` - // A value that relates a component to another component. - RelationshipValue *RelationshipValue `locationName:"relationshipValue" type:"structure"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` - // A string value. - StringValue *string `locationName:"stringValue" min:"1" type:"string"` + // Represents a single row in the query results. + Rows []*Row `locationName:"rows" type:"list"` } // String returns the string representation. @@ -5782,7 +8228,7 @@ type DataValue struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataValue) String() string { +func (s ExecuteQueryOutput) String() string { return awsutil.Prettify(s) } @@ -5791,117 +8237,43 @@ func (s DataValue) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataValue) GoString() string { +func (s ExecuteQueryOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DataValue) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataValue"} - if s.Expression != nil && len(*s.Expression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) - } - if s.StringValue != nil && len(*s.StringValue) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StringValue", 1)) - } - if s.ListValue != nil { - for i, v := range s.ListValue { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ListValue", i), err.(request.ErrInvalidParams)) - } - } - } - if s.MapValue != nil { - for i, v := range s.MapValue { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MapValue", i), err.(request.ErrInvalidParams)) - } - } - } - if s.RelationshipValue != nil { - if err := s.RelationshipValue.Validate(); err != nil { - invalidParams.AddNested("RelationshipValue", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBooleanValue sets the BooleanValue field's value. -func (s *DataValue) SetBooleanValue(v bool) *DataValue { - s.BooleanValue = &v - return s -} - -// SetDoubleValue sets the DoubleValue field's value. -func (s *DataValue) SetDoubleValue(v float64) *DataValue { - s.DoubleValue = &v - return s -} - -// SetExpression sets the Expression field's value. -func (s *DataValue) SetExpression(v string) *DataValue { - s.Expression = &v - return s -} - -// SetIntegerValue sets the IntegerValue field's value. -func (s *DataValue) SetIntegerValue(v int64) *DataValue { - s.IntegerValue = &v - return s -} - -// SetListValue sets the ListValue field's value. -func (s *DataValue) SetListValue(v []*DataValue) *DataValue { - s.ListValue = v - return s -} - -// SetLongValue sets the LongValue field's value. -func (s *DataValue) SetLongValue(v int64) *DataValue { - s.LongValue = &v - return s -} - -// SetMapValue sets the MapValue field's value. -func (s *DataValue) SetMapValue(v map[string]*DataValue) *DataValue { - s.MapValue = v +// SetColumnDescriptions sets the ColumnDescriptions field's value. +func (s *ExecuteQueryOutput) SetColumnDescriptions(v []*ColumnDescription) *ExecuteQueryOutput { + s.ColumnDescriptions = v return s } -// SetRelationshipValue sets the RelationshipValue field's value. -func (s *DataValue) SetRelationshipValue(v *RelationshipValue) *DataValue { - s.RelationshipValue = v +// SetNextToken sets the NextToken field's value. +func (s *ExecuteQueryOutput) SetNextToken(v string) *ExecuteQueryOutput { + s.NextToken = &v return s } -// SetStringValue sets the StringValue field's value. -func (s *DataValue) SetStringValue(v string) *DataValue { - s.StringValue = &v +// SetRows sets the Rows field's value. +func (s *ExecuteQueryOutput) SetRows(v []*Row) *ExecuteQueryOutput { + s.Rows = v return s } -type DeleteComponentTypeInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Filter by asset. [TwinMaker asset] +type FilterByAsset struct { + _ struct{} `type:"structure"` - // The ID of the component type to delete. - // - // ComponentTypeId is a required field - ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + // The external-Id property of an asset. + AssetExternalId *string `locationName:"assetExternalId" min:"2" type:"string"` - // The ID of the workspace that contains the component type. - // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // Filter by asset Id. + AssetId *string `locationName:"assetId" min:"36" type:"string"` + + // Boolean to include the asset model. + IncludeAssetModel *bool `locationName:"includeAssetModel" type:"boolean"` + + // Includes sub-assets.[need description hekp for this] + IncludeOffspring *bool `locationName:"includeOffspring" type:"boolean"` } // String returns the string representation. @@ -5909,7 +8281,7 @@ type DeleteComponentTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentTypeInput) String() string { +func (s FilterByAsset) String() string { return awsutil.Prettify(s) } @@ -5918,24 +8290,18 @@ func (s DeleteComponentTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentTypeInput) GoString() string { +func (s FilterByAsset) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteComponentTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteComponentTypeInput"} - if s.ComponentTypeId == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) +func (s *FilterByAsset) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterByAsset"} + if s.AssetExternalId != nil && len(*s.AssetExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetExternalId", 2)) } - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) - } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) } if invalidParams.Len() > 0 { @@ -5944,25 +8310,45 @@ func (s *DeleteComponentTypeInput) Validate() error { return nil } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *DeleteComponentTypeInput) SetComponentTypeId(v string) *DeleteComponentTypeInput { - s.ComponentTypeId = &v +// SetAssetExternalId sets the AssetExternalId field's value. +func (s *FilterByAsset) SetAssetExternalId(v string) *FilterByAsset { + s.AssetExternalId = &v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *DeleteComponentTypeInput) SetWorkspaceId(v string) *DeleteComponentTypeInput { - s.WorkspaceId = &v +// SetAssetId sets the AssetId field's value. +func (s *FilterByAsset) SetAssetId(v string) *FilterByAsset { + s.AssetId = &v return s } -type DeleteComponentTypeOutput struct { +// SetIncludeAssetModel sets the IncludeAssetModel field's value. +func (s *FilterByAsset) SetIncludeAssetModel(v bool) *FilterByAsset { + s.IncludeAssetModel = &v + return s +} + +// SetIncludeOffspring sets the IncludeOffspring field's value. +func (s *FilterByAsset) SetIncludeOffspring(v bool) *FilterByAsset { + s.IncludeOffspring = &v + return s +} + +// Filter by asset model. +type FilterByAssetModel struct { _ struct{} `type:"structure"` - // The current state of the component type to be deleted. - // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"State"` + // The external-Id property of an asset model. + AssetModelExternalId *string `locationName:"assetModelExternalId" min:"2" type:"string"` + + // The asset model Id. + AssetModelId *string `locationName:"assetModelId" min:"36" type:"string"` + + // Bolean to include assets. + IncludeAssets *bool `locationName:"includeAssets" type:"boolean"` + + // Include asset offspring. [need desc.] + IncludeOffspring *bool `locationName:"includeOffspring" type:"boolean"` } // String returns the string representation. @@ -5970,7 +8356,7 @@ type DeleteComponentTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentTypeOutput) String() string { +func (s FilterByAssetModel) String() string { return awsutil.Prettify(s) } @@ -5979,31 +8365,58 @@ func (s DeleteComponentTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentTypeOutput) GoString() string { +func (s FilterByAssetModel) GoString() string { return s.String() } -// SetState sets the State field's value. -func (s *DeleteComponentTypeOutput) SetState(v string) *DeleteComponentTypeOutput { - s.State = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *FilterByAssetModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterByAssetModel"} + if s.AssetModelExternalId != nil && len(*s.AssetModelExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelExternalId", 2)) + } + if s.AssetModelId != nil && len(*s.AssetModelId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetModelExternalId sets the AssetModelExternalId field's value. +func (s *FilterByAssetModel) SetAssetModelExternalId(v string) *FilterByAssetModel { + s.AssetModelExternalId = &v return s } -type DeleteEntityInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetAssetModelId sets the AssetModelId field's value. +func (s *FilterByAssetModel) SetAssetModelId(v string) *FilterByAssetModel { + s.AssetModelId = &v + return s +} - // The ID of the entity to delete. - // - // EntityId is a required field - EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` +// SetIncludeAssets sets the IncludeAssets field's value. +func (s *FilterByAssetModel) SetIncludeAssets(v bool) *FilterByAssetModel { + s.IncludeAssets = &v + return s +} - // A Boolean value that specifies whether the operation deletes child entities. - IsRecursive *bool `location:"querystring" locationName:"isRecursive" type:"boolean"` +// SetIncludeOffspring sets the IncludeOffspring field's value. +func (s *FilterByAssetModel) SetIncludeOffspring(v bool) *FilterByAssetModel { + s.IncludeOffspring = &v + return s +} - // The ID of the workspace that contains the entity to delete. +// Filter by component type. +type FilterByComponentType struct { + _ struct{} `type:"structure"` + + // The component type Id. // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6011,7 +8424,7 @@ type DeleteEntityInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEntityInput) String() string { +func (s FilterByComponentType) String() string { return awsutil.Prettify(s) } @@ -6020,24 +8433,18 @@ func (s DeleteEntityInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEntityInput) GoString() string { +func (s FilterByComponentType) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEntityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEntityInput"} - if s.EntityId == nil { - invalidParams.Add(request.NewErrParamRequired("EntityId")) - } - if s.EntityId != nil && len(*s.EntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) +func (s *FilterByComponentType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterByComponentType"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) } if invalidParams.Len() > 0 { @@ -6046,31 +8453,20 @@ func (s *DeleteEntityInput) Validate() error { return nil } -// SetEntityId sets the EntityId field's value. -func (s *DeleteEntityInput) SetEntityId(v string) *DeleteEntityInput { - s.EntityId = &v - return s -} - -// SetIsRecursive sets the IsRecursive field's value. -func (s *DeleteEntityInput) SetIsRecursive(v bool) *DeleteEntityInput { - s.IsRecursive = &v - return s -} - -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *DeleteEntityInput) SetWorkspaceId(v string) *DeleteEntityInput { - s.WorkspaceId = &v +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *FilterByComponentType) SetComponentTypeId(v string) *FilterByComponentType { + s.ComponentTypeId = &v return s } -type DeleteEntityOutput struct { +// Vilter by entity. +type FilterByEntity struct { _ struct{} `type:"structure"` - // The current state of the deleted entity. + // The entity Id. // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"State"` + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6078,7 +8474,7 @@ type DeleteEntityOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEntityOutput) String() string { +func (s FilterByEntity) String() string { return awsutil.Prettify(s) } @@ -6087,28 +8483,44 @@ func (s DeleteEntityOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEntityOutput) GoString() string { +func (s FilterByEntity) GoString() string { return s.String() } -// SetState sets the State field's value. -func (s *DeleteEntityOutput) SetState(v string) *DeleteEntityOutput { - s.State = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *FilterByEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterByEntity"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityId sets the EntityId field's value. +func (s *FilterByEntity) SetEntityId(v string) *FilterByEntity { + s.EntityId = &v return s } -type DeleteSceneInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The function request body. +type FunctionRequest struct { + _ struct{} `type:"structure"` - // The ID of the scene to delete. - // - // SceneId is a required field - SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` + // The data connector. + ImplementedBy *DataConnector `locationName:"implementedBy" type:"structure"` - // The ID of the workspace. - // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // The required properties of the function. + RequiredProperties []*string `locationName:"requiredProperties" type:"list"` + + // The scope of the function. + Scope *string `locationName:"scope" type:"string" enum:"Scope"` } // String returns the string representation. @@ -6116,7 +8528,7 @@ type DeleteSceneInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSceneInput) String() string { +func (s FunctionRequest) String() string { return awsutil.Prettify(s) } @@ -6125,24 +8537,17 @@ func (s DeleteSceneInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSceneInput) GoString() string { +func (s FunctionRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSceneInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSceneInput"} - if s.SceneId == nil { - invalidParams.Add(request.NewErrParamRequired("SceneId")) - } - if s.SceneId != nil && len(*s.SceneId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) - } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) +func (s *FunctionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionRequest"} + if s.ImplementedBy != nil { + if err := s.ImplementedBy.Validate(); err != nil { + invalidParams.AddNested("ImplementedBy", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6151,20 +8556,39 @@ func (s *DeleteSceneInput) Validate() error { return nil } -// SetSceneId sets the SceneId field's value. -func (s *DeleteSceneInput) SetSceneId(v string) *DeleteSceneInput { - s.SceneId = &v +// SetImplementedBy sets the ImplementedBy field's value. +func (s *FunctionRequest) SetImplementedBy(v *DataConnector) *FunctionRequest { + s.ImplementedBy = v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *DeleteSceneInput) SetWorkspaceId(v string) *DeleteSceneInput { - s.WorkspaceId = &v +// SetRequiredProperties sets the RequiredProperties field's value. +func (s *FunctionRequest) SetRequiredProperties(v []*string) *FunctionRequest { + s.RequiredProperties = v return s } -type DeleteSceneOutput struct { +// SetScope sets the Scope field's value. +func (s *FunctionRequest) SetScope(v string) *FunctionRequest { + s.Scope = &v + return s +} + +// The function response. +type FunctionResponse struct { _ struct{} `type:"structure"` + + // The data connector. + ImplementedBy *DataConnector `locationName:"implementedBy" type:"structure"` + + // Indicates whether this function is inherited. + IsInherited *bool `locationName:"isInherited" type:"boolean"` + + // The required properties of the function. + RequiredProperties []*string `locationName:"requiredProperties" type:"list"` + + // The scope of the function. + Scope *string `locationName:"scope" type:"string" enum:"Scope"` } // String returns the string representation. @@ -6172,7 +8596,7 @@ type DeleteSceneOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSceneOutput) String() string { +func (s FunctionResponse) String() string { return awsutil.Prettify(s) } @@ -6181,21 +8605,43 @@ func (s DeleteSceneOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSceneOutput) GoString() string { +func (s FunctionResponse) GoString() string { return s.String() } -type DeleteSyncJobInput struct { +// SetImplementedBy sets the ImplementedBy field's value. +func (s *FunctionResponse) SetImplementedBy(v *DataConnector) *FunctionResponse { + s.ImplementedBy = v + return s +} + +// SetIsInherited sets the IsInherited field's value. +func (s *FunctionResponse) SetIsInherited(v bool) *FunctionResponse { + s.IsInherited = &v + return s +} + +// SetRequiredProperties sets the RequiredProperties field's value. +func (s *FunctionResponse) SetRequiredProperties(v []*string) *FunctionResponse { + s.RequiredProperties = v + return s +} + +// SetScope sets the Scope field's value. +func (s *FunctionResponse) SetScope(v string) *FunctionResponse { + s.Scope = &v + return s +} + +type GetComponentTypeInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The sync source. - // - // Currently the only supported syncSource is SITEWISE . + // The ID of the component type. // - // SyncSource is a required field - SyncSource *string `location:"uri" locationName:"syncSource" type:"string" required:"true"` + // ComponentTypeId is a required field + ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` - // The workspace ID. + // The ID of the workspace that contains the component type. // // WorkspaceId is a required field WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -6206,7 +8652,7 @@ type DeleteSyncJobInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSyncJobInput) String() string { +func (s GetComponentTypeInput) String() string { return awsutil.Prettify(s) } @@ -6215,18 +8661,18 @@ func (s DeleteSyncJobInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSyncJobInput) GoString() string { +func (s GetComponentTypeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSyncJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSyncJobInput"} - if s.SyncSource == nil { - invalidParams.Add(request.NewErrParamRequired("SyncSource")) +func (s *GetComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetComponentTypeInput"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) } - if s.SyncSource != nil && len(*s.SyncSource) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SyncSource", 1)) + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) } if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) @@ -6241,25 +8687,88 @@ func (s *DeleteSyncJobInput) Validate() error { return nil } -// SetSyncSource sets the SyncSource field's value. -func (s *DeleteSyncJobInput) SetSyncSource(v string) *DeleteSyncJobInput { - s.SyncSource = &v +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetComponentTypeInput) SetComponentTypeId(v string) *GetComponentTypeInput { + s.ComponentTypeId = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *DeleteSyncJobInput) SetWorkspaceId(v string) *DeleteSyncJobInput { +func (s *GetComponentTypeInput) SetWorkspaceId(v string) *GetComponentTypeInput { s.WorkspaceId = &v return s } -type DeleteSyncJobOutput struct { +type GetComponentTypeOutput struct { _ struct{} `type:"structure"` - // The SyncJob response state. + // The ARN of the component type. // - // State is a required field - State *string `locationName:"state" type:"string" required:"true" enum:"SyncJobState"` + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The component type name. + ComponentTypeName *string `locationName:"componentTypeName" type:"string"` + + // This is an object that maps strings to compositeComponentTypes of the componentType. + // CompositeComponentType is referenced by componentTypeId. + CompositeComponentTypes map[string]*CompositeComponentTypeResponse `locationName:"compositeComponentTypes" type:"map"` + + // The date and time when the component type was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // The name of the parent component type that this component type extends. + ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` + + // An object that maps strings to the functions in the component type. Each + // string in the mapping must be unique to this object. + Functions map[string]*FunctionResponse `locationName:"functions" type:"map"` + + // A Boolean value that specifies whether the component type is abstract. + IsAbstract *bool `locationName:"isAbstract" type:"boolean"` + + // A Boolean value that specifies whether the component type has a schema initializer + // and that the schema initializer has run. + IsSchemaInitialized *bool `locationName:"isSchemaInitialized" type:"boolean"` + + // A Boolean value that specifies whether an entity can have more than one component + // of this type. + IsSingleton *bool `locationName:"isSingleton" type:"boolean"` + + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. + PropertyDefinitions map[string]*PropertyDefinitionResponse `locationName:"propertyDefinitions" type:"map"` + + // The maximum number of results to return at one time. The default is 25. + // + // Valid Range: Minimum value of 1. Maximum value of 250. + PropertyGroups map[string]*PropertyGroupResponse `locationName:"propertyGroups" type:"map"` + + // The current status of the component type. + Status *Status `locationName:"status" type:"structure"` + + // The syncSource of the SyncJob, if this entity was created by a SyncJob. + SyncSource *string `locationName:"syncSource" type:"string"` + + // The date and time when the component was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6267,7 +8776,7 @@ type DeleteSyncJobOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSyncJobOutput) String() string { +func (s GetComponentTypeOutput) String() string { return awsutil.Prettify(s) } @@ -6276,105 +8785,124 @@ func (s DeleteSyncJobOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSyncJobOutput) GoString() string { +func (s GetComponentTypeOutput) GoString() string { return s.String() } -// SetState sets the State field's value. -func (s *DeleteSyncJobOutput) SetState(v string) *DeleteSyncJobOutput { - s.State = &v +// SetArn sets the Arn field's value. +func (s *GetComponentTypeOutput) SetArn(v string) *GetComponentTypeOutput { + s.Arn = &v return s } -type DeleteWorkspaceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetComponentTypeOutput) SetComponentTypeId(v string) *GetComponentTypeOutput { + s.ComponentTypeId = &v + return s +} - // The ID of the workspace to delete. - // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +// SetComponentTypeName sets the ComponentTypeName field's value. +func (s *GetComponentTypeOutput) SetComponentTypeName(v string) *GetComponentTypeOutput { + s.ComponentTypeName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteWorkspaceInput) String() string { - return awsutil.Prettify(s) +// SetCompositeComponentTypes sets the CompositeComponentTypes field's value. +func (s *GetComponentTypeOutput) SetCompositeComponentTypes(v map[string]*CompositeComponentTypeResponse) *GetComponentTypeOutput { + s.CompositeComponentTypes = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteWorkspaceInput) GoString() string { - return s.String() +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetComponentTypeOutput) SetCreationDateTime(v time.Time) *GetComponentTypeOutput { + s.CreationDateTime = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteWorkspaceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteWorkspaceInput"} - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) - } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) - } +// SetDescription sets the Description field's value. +func (s *GetComponentTypeOutput) SetDescription(v string) *GetComponentTypeOutput { + s.Description = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *GetComponentTypeOutput) SetExtendsFrom(v []*string) *GetComponentTypeOutput { + s.ExtendsFrom = v + return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *DeleteWorkspaceInput) SetWorkspaceId(v string) *DeleteWorkspaceInput { - s.WorkspaceId = &v +// SetFunctions sets the Functions field's value. +func (s *GetComponentTypeOutput) SetFunctions(v map[string]*FunctionResponse) *GetComponentTypeOutput { + s.Functions = v return s } -type DeleteWorkspaceOutput struct { - _ struct{} `type:"structure"` +// SetIsAbstract sets the IsAbstract field's value. +func (s *GetComponentTypeOutput) SetIsAbstract(v bool) *GetComponentTypeOutput { + s.IsAbstract = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteWorkspaceOutput) String() string { - return awsutil.Prettify(s) +// SetIsSchemaInitialized sets the IsSchemaInitialized field's value. +func (s *GetComponentTypeOutput) SetIsSchemaInitialized(v bool) *GetComponentTypeOutput { + s.IsSchemaInitialized = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteWorkspaceOutput) GoString() string { - return s.String() +// SetIsSingleton sets the IsSingleton field's value. +func (s *GetComponentTypeOutput) SetIsSingleton(v bool) *GetComponentTypeOutput { + s.IsSingleton = &v + return s } -// An object that uniquely identifies an entity property. -type EntityPropertyReference struct { - _ struct{} `type:"structure"` +// SetPropertyDefinitions sets the PropertyDefinitions field's value. +func (s *GetComponentTypeOutput) SetPropertyDefinitions(v map[string]*PropertyDefinitionResponse) *GetComponentTypeOutput { + s.PropertyDefinitions = v + return s +} - // The name of the component. - ComponentName *string `locationName:"componentName" min:"1" type:"string"` +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *GetComponentTypeOutput) SetPropertyGroups(v map[string]*PropertyGroupResponse) *GetComponentTypeOutput { + s.PropertyGroups = v + return s +} - // The ID of the entity. - EntityId *string `locationName:"entityId" min:"1" type:"string"` +// SetStatus sets the Status field's value. +func (s *GetComponentTypeOutput) SetStatus(v *Status) *GetComponentTypeOutput { + s.Status = v + return s +} - // A mapping of external IDs to property names. External IDs uniquely identify - // properties from external data stores. - ExternalIdProperty map[string]*string `locationName:"externalIdProperty" type:"map"` +// SetSyncSource sets the SyncSource field's value. +func (s *GetComponentTypeOutput) SetSyncSource(v string) *GetComponentTypeOutput { + s.SyncSource = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetComponentTypeOutput) SetUpdateDateTime(v time.Time) *GetComponentTypeOutput { + s.UpdateDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetComponentTypeOutput) SetWorkspaceId(v string) *GetComponentTypeOutput { + s.WorkspaceId = &v + return s +} + +type GetEntityInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` - // The name of the property. + // The ID of the workspace. // - // PropertyName is a required field - PropertyName *string `locationName:"propertyName" min:"1" type:"string" required:"true"` + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6382,7 +8910,7 @@ type EntityPropertyReference struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EntityPropertyReference) String() string { +func (s GetEntityInput) String() string { return awsutil.Prettify(s) } @@ -6391,24 +8919,24 @@ func (s EntityPropertyReference) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EntityPropertyReference) GoString() string { +func (s GetEntityInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EntityPropertyReference) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EntityPropertyReference"} - if s.ComponentName != nil && len(*s.ComponentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) +func (s *GetEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEntityInput"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) } if s.EntityId != nil && len(*s.EntityId) < 1 { invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) } - if s.PropertyName == nil { - invalidParams.Add(request.NewErrParamRequired("PropertyName")) + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } - if s.PropertyName != nil && len(*s.PropertyName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PropertyName", 1)) + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } if invalidParams.Len() > 0 { @@ -6417,39 +8945,34 @@ func (s *EntityPropertyReference) Validate() error { return nil } -// SetComponentName sets the ComponentName field's value. -func (s *EntityPropertyReference) SetComponentName(v string) *EntityPropertyReference { - s.ComponentName = &v - return s -} - // SetEntityId sets the EntityId field's value. -func (s *EntityPropertyReference) SetEntityId(v string) *EntityPropertyReference { +func (s *GetEntityInput) SetEntityId(v string) *GetEntityInput { s.EntityId = &v return s } -// SetExternalIdProperty sets the ExternalIdProperty field's value. -func (s *EntityPropertyReference) SetExternalIdProperty(v map[string]*string) *EntityPropertyReference { - s.ExternalIdProperty = v - return s -} - -// SetPropertyName sets the PropertyName field's value. -func (s *EntityPropertyReference) SetPropertyName(v string) *EntityPropertyReference { - s.PropertyName = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetEntityInput) SetWorkspaceId(v string) *GetEntityInput { + s.WorkspaceId = &v return s } -// An object that contains information about an entity. -type EntitySummary struct { +type GetEntityOutput struct { _ struct{} `type:"structure"` + // This flag notes whether all components are returned in the API response. + // The maximum number of components returned is 30. + AreAllComponentsReturned *bool `locationName:"areAllComponentsReturned" type:"boolean"` + // The ARN of the entity. // // Arn is a required field Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + // An object that maps strings to the components in the entity. Each string + // in the mapping must be unique to this object. + Components map[string]*ComponentResponse `locationName:"components" type:"map"` + // The date and time when the entity was created. // // CreationDateTime is a required field @@ -6468,21 +8991,33 @@ type EntitySummary struct { // EntityName is a required field EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` - // A Boolean value that specifies whether the entity has child entities or not. - HasChildEntities *bool `locationName:"hasChildEntities" type:"boolean"` + // A Boolean value that specifies whether the entity has associated child entities. + // + // HasChildEntities is a required field + HasChildEntities *bool `locationName:"hasChildEntities" type:"boolean" required:"true"` - // The ID of the parent entity. - ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + // The ID of the parent entity for this entity. + // + // ParentEntityId is a required field + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string" required:"true"` // The current status of the entity. // // Status is a required field Status *Status `locationName:"status" type:"structure" required:"true"` - // The last date and time when the entity was updated. + // The syncSource of the sync job, if this entity was created by a sync job. + SyncSource *string `locationName:"syncSource" type:"string"` + + // The date and time when the entity was last updated. // // UpdateDateTime is a required field UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6490,7 +9025,7 @@ type EntitySummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EntitySummary) String() string { +func (s GetEntityOutput) String() string { return awsutil.Prettify(s) } @@ -6499,73 +9034,95 @@ func (s EntitySummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EntitySummary) GoString() string { +func (s GetEntityOutput) GoString() string { return s.String() } +// SetAreAllComponentsReturned sets the AreAllComponentsReturned field's value. +func (s *GetEntityOutput) SetAreAllComponentsReturned(v bool) *GetEntityOutput { + s.AreAllComponentsReturned = &v + return s +} + // SetArn sets the Arn field's value. -func (s *EntitySummary) SetArn(v string) *EntitySummary { +func (s *GetEntityOutput) SetArn(v string) *GetEntityOutput { s.Arn = &v return s } +// SetComponents sets the Components field's value. +func (s *GetEntityOutput) SetComponents(v map[string]*ComponentResponse) *GetEntityOutput { + s.Components = v + return s +} + // SetCreationDateTime sets the CreationDateTime field's value. -func (s *EntitySummary) SetCreationDateTime(v time.Time) *EntitySummary { +func (s *GetEntityOutput) SetCreationDateTime(v time.Time) *GetEntityOutput { s.CreationDateTime = &v return s } // SetDescription sets the Description field's value. -func (s *EntitySummary) SetDescription(v string) *EntitySummary { +func (s *GetEntityOutput) SetDescription(v string) *GetEntityOutput { s.Description = &v return s } // SetEntityId sets the EntityId field's value. -func (s *EntitySummary) SetEntityId(v string) *EntitySummary { +func (s *GetEntityOutput) SetEntityId(v string) *GetEntityOutput { s.EntityId = &v return s } // SetEntityName sets the EntityName field's value. -func (s *EntitySummary) SetEntityName(v string) *EntitySummary { +func (s *GetEntityOutput) SetEntityName(v string) *GetEntityOutput { s.EntityName = &v return s } // SetHasChildEntities sets the HasChildEntities field's value. -func (s *EntitySummary) SetHasChildEntities(v bool) *EntitySummary { +func (s *GetEntityOutput) SetHasChildEntities(v bool) *GetEntityOutput { s.HasChildEntities = &v return s } // SetParentEntityId sets the ParentEntityId field's value. -func (s *EntitySummary) SetParentEntityId(v string) *EntitySummary { +func (s *GetEntityOutput) SetParentEntityId(v string) *GetEntityOutput { s.ParentEntityId = &v return s } // SetStatus sets the Status field's value. -func (s *EntitySummary) SetStatus(v *Status) *EntitySummary { +func (s *GetEntityOutput) SetStatus(v *Status) *GetEntityOutput { s.Status = v return s } +// SetSyncSource sets the SyncSource field's value. +func (s *GetEntityOutput) SetSyncSource(v string) *GetEntityOutput { + s.SyncSource = &v + return s +} + // SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *EntitySummary) SetUpdateDateTime(v time.Time) *EntitySummary { +func (s *GetEntityOutput) SetUpdateDateTime(v time.Time) *GetEntityOutput { s.UpdateDateTime = &v return s } -// The error details. -type ErrorDetails struct { - _ struct{} `type:"structure"` +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetEntityOutput) SetWorkspaceId(v string) *GetEntityOutput { + s.WorkspaceId = &v + return s +} - // The error code. - Code *string `locationName:"code" type:"string" enum:"ErrorCode"` +type GetMetadataTransferJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The error message. - Message *string `locationName:"message" type:"string"` + // The metadata transfer job Id. + // + // MetadataTransferJobId is a required field + MetadataTransferJobId *string `location:"uri" locationName:"metadataTransferJobId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6573,7 +9130,7 @@ type ErrorDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ErrorDetails) String() string { +func (s GetMetadataTransferJobInput) String() string { return awsutil.Prettify(s) } @@ -6582,42 +9139,83 @@ func (s ErrorDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ErrorDetails) GoString() string { +func (s GetMetadataTransferJobInput) GoString() string { return s.String() } -// SetCode sets the Code field's value. -func (s *ErrorDetails) SetCode(v string) *ErrorDetails { - s.Code = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMetadataTransferJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMetadataTransferJobInput"} + if s.MetadataTransferJobId == nil { + invalidParams.Add(request.NewErrParamRequired("MetadataTransferJobId")) + } + if s.MetadataTransferJobId != nil && len(*s.MetadataTransferJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetadataTransferJobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMessage sets the Message field's value. -func (s *ErrorDetails) SetMessage(v string) *ErrorDetails { - s.Message = &v +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *GetMetadataTransferJobInput) SetMetadataTransferJobId(v string) *GetMetadataTransferJobInput { + s.MetadataTransferJobId = &v return s } -type ExecuteQueryInput struct { +type GetMetadataTransferJobOutput struct { _ struct{} `type:"structure"` - // The maximum number of results to return at one time. The default is 25. + // The metadata transfer job ARN. // - // Valid Range: Minimum value of 1. Maximum value of 250. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // The string that specifies the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` + // The metadata transfer job's creation DateTime property. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - // The query statement. + // The metadata transfer job description. + Description *string `locationName:"description" type:"string"` + + // The metadata transfer job's destination. // - // QueryStatement is a required field - QueryStatement *string `locationName:"queryStatement" min:"1" type:"string" required:"true"` + // Destination is a required field + Destination *DestinationConfiguration `locationName:"destination" type:"structure" required:"true"` - // The ID of the workspace. + // The metadata transfer job Id. // - // WorkspaceId is a required field - WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` + // MetadataTransferJobId is a required field + MetadataTransferJobId *string `locationName:"metadataTransferJobId" min:"1" type:"string" required:"true"` + + // The metadata transfer job's role. + // + // MetadataTransferJobRole is a required field + MetadataTransferJobRole *string `locationName:"metadataTransferJobRole" min:"20" type:"string" required:"true"` + + // The metadata transfer job's progress. + Progress *MetadataTransferJobProgress `locationName:"progress" type:"structure"` + + // The metadata transfer job's report URL. + ReportUrl *string `locationName:"reportUrl" min:"1" type:"string"` + + // The metadata transfer job's sources. + // + // Sources is a required field + Sources []*SourceConfiguration `locationName:"sources" min:"1" type:"list" required:"true"` + + // The metadata transfer job's status. + // + // Status is a required field + Status *MetadataTransferJobStatus `locationName:"status" type:"structure" required:"true"` + + // The metadata transfer job's update DateTime property. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -6625,7 +9223,7 @@ type ExecuteQueryInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteQueryInput) String() string { +func (s GetMetadataTransferJobOutput) String() string { return awsutil.Prettify(s) } @@ -6634,70 +9232,108 @@ func (s ExecuteQueryInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteQueryInput) GoString() string { +func (s GetMetadataTransferJobOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ExecuteQueryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ExecuteQueryInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.QueryStatement == nil { - invalidParams.Add(request.NewErrParamRequired("QueryStatement")) - } - if s.QueryStatement != nil && len(*s.QueryStatement) < 1 { - invalidParams.Add(request.NewErrParamMinLen("QueryStatement", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) - } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) - } +// SetArn sets the Arn field's value. +func (s *GetMetadataTransferJobOutput) SetArn(v string) *GetMetadataTransferJobOutput { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetMetadataTransferJobOutput) SetCreationDateTime(v time.Time) *GetMetadataTransferJobOutput { + s.CreationDateTime = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ExecuteQueryInput) SetMaxResults(v int64) *ExecuteQueryInput { - s.MaxResults = &v +// SetDescription sets the Description field's value. +func (s *GetMetadataTransferJobOutput) SetDescription(v string) *GetMetadataTransferJobOutput { + s.Description = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ExecuteQueryInput) SetNextToken(v string) *ExecuteQueryInput { - s.NextToken = &v +// SetDestination sets the Destination field's value. +func (s *GetMetadataTransferJobOutput) SetDestination(v *DestinationConfiguration) *GetMetadataTransferJobOutput { + s.Destination = v return s } -// SetQueryStatement sets the QueryStatement field's value. -func (s *ExecuteQueryInput) SetQueryStatement(v string) *ExecuteQueryInput { - s.QueryStatement = &v +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *GetMetadataTransferJobOutput) SetMetadataTransferJobId(v string) *GetMetadataTransferJobOutput { + s.MetadataTransferJobId = &v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *ExecuteQueryInput) SetWorkspaceId(v string) *ExecuteQueryInput { - s.WorkspaceId = &v +// SetMetadataTransferJobRole sets the MetadataTransferJobRole field's value. +func (s *GetMetadataTransferJobOutput) SetMetadataTransferJobRole(v string) *GetMetadataTransferJobOutput { + s.MetadataTransferJobRole = &v return s } -type ExecuteQueryOutput struct { - _ struct{} `type:"structure"` +// SetProgress sets the Progress field's value. +func (s *GetMetadataTransferJobOutput) SetProgress(v *MetadataTransferJobProgress) *GetMetadataTransferJobOutput { + s.Progress = v + return s +} + +// SetReportUrl sets the ReportUrl field's value. +func (s *GetMetadataTransferJobOutput) SetReportUrl(v string) *GetMetadataTransferJobOutput { + s.ReportUrl = &v + return s +} + +// SetSources sets the Sources field's value. +func (s *GetMetadataTransferJobOutput) SetSources(v []*SourceConfiguration) *GetMetadataTransferJobOutput { + s.Sources = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetMetadataTransferJobOutput) SetStatus(v *MetadataTransferJobStatus) *GetMetadataTransferJobOutput { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetMetadataTransferJobOutput) SetUpdateDateTime(v time.Time) *GetMetadataTransferJobOutput { + s.UpdateDateTime = &v + return s +} + +type GetPricingPlanInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPricingPlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPricingPlanInput) GoString() string { + return s.String() +} - // A list of ColumnDescription objects. - ColumnDescriptions []*ColumnDescription `locationName:"columnDescriptions" type:"list"` +type GetPricingPlanOutput struct { + _ struct{} `type:"structure"` - // The string that specifies the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` + // The chosen pricing plan for the current billing cycle. + // + // CurrentPricingPlan is a required field + CurrentPricingPlan *PricingPlan `locationName:"currentPricingPlan" type:"structure" required:"true"` - // Represents a single row in the query results. - Rows []*Row `locationName:"rows" type:"list"` + // The pending pricing plan. + PendingPricingPlan *PricingPlan `locationName:"pendingPricingPlan" type:"structure"` } // String returns the string representation. @@ -6705,7 +9341,7 @@ type ExecuteQueryOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteQueryOutput) String() string { +func (s GetPricingPlanOutput) String() string { return awsutil.Prettify(s) } @@ -6714,40 +9350,87 @@ func (s ExecuteQueryOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteQueryOutput) GoString() string { +func (s GetPricingPlanOutput) GoString() string { return s.String() } -// SetColumnDescriptions sets the ColumnDescriptions field's value. -func (s *ExecuteQueryOutput) SetColumnDescriptions(v []*ColumnDescription) *ExecuteQueryOutput { - s.ColumnDescriptions = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ExecuteQueryOutput) SetNextToken(v string) *ExecuteQueryOutput { - s.NextToken = &v +// SetCurrentPricingPlan sets the CurrentPricingPlan field's value. +func (s *GetPricingPlanOutput) SetCurrentPricingPlan(v *PricingPlan) *GetPricingPlanOutput { + s.CurrentPricingPlan = v return s } -// SetRows sets the Rows field's value. -func (s *ExecuteQueryOutput) SetRows(v []*Row) *ExecuteQueryOutput { - s.Rows = v +// SetPendingPricingPlan sets the PendingPricingPlan field's value. +func (s *GetPricingPlanOutput) SetPendingPricingPlan(v *PricingPlan) *GetPricingPlanOutput { + s.PendingPricingPlan = v return s } -// The function request body. -type FunctionRequest struct { +type GetPropertyValueHistoryInput struct { _ struct{} `type:"structure"` - // The data connector. - ImplementedBy *DataConnector `locationName:"implementedBy" type:"structure"` + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` - // The required properties of the function. - RequiredProperties []*string `locationName:"requiredProperties" type:"list"` + // This string specifies the path to the composite component, starting from + // the top-level component. + ComponentPath *string `locationName:"componentPath" min:"1" type:"string"` - // The scope of the function. - Scope *string `locationName:"scope" type:"string" enum:"Scope"` + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The date and time of the latest property value to return. + // + // Deprecated: This field is deprecated and will throw an error in the future. Use endTime instead. + EndDateTime *time.Time `locationName:"endDateTime" deprecated:"true" type:"timestamp"` + + // The ISO8601 DateTime of the latest property value to return. + // + // For more information about the ISO8601 DateTime format, see the data type + // PropertyValue (https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_PropertyValue.html). + EndTime *string `locationName:"endTime" min:"20" type:"string"` + + // The ID of the entity. + EntityId *string `locationName:"entityId" min:"1" type:"string"` + + // An object that specifies the interpolation type and the interval over which + // to interpolate data. + Interpolation *InterpolationParameters `locationName:"interpolation" type:"structure"` + + // The maximum number of results to return at one time. The default is 25. + // + // Valid Range: Minimum value of 1. Maximum value of 250. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The time direction to use in the result order. + OrderByTime *string `locationName:"orderByTime" type:"string" enum:"OrderByTime"` + + // A list of objects that filter the property value history request. + PropertyFilters []*PropertyFilter `locationName:"propertyFilters" min:"1" type:"list"` + + // A list of properties whose value histories the request retrieves. + // + // SelectedProperties is a required field + SelectedProperties []*string `locationName:"selectedProperties" min:"1" type:"list" required:"true"` + + // The date and time of the earliest property value to return. + // + // Deprecated: This field is deprecated and will throw an error in the future. Use startTime instead. + StartDateTime *time.Time `locationName:"startDateTime" deprecated:"true" type:"timestamp"` + + // The ISO8601 DateTime of the earliest property value to return. + // + // For more information about the ISO8601 DateTime format, see the data type + // PropertyValue (https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_PropertyValue.html). + StartTime *string `locationName:"startTime" min:"20" type:"string"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6755,7 +9438,7 @@ type FunctionRequest struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FunctionRequest) String() string { +func (s GetPropertyValueHistoryInput) String() string { return awsutil.Prettify(s) } @@ -6764,16 +9447,54 @@ func (s FunctionRequest) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FunctionRequest) GoString() string { +func (s GetPropertyValueHistoryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FunctionRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FunctionRequest"} - if s.ImplementedBy != nil { - if err := s.ImplementedBy.Validate(); err != nil { - invalidParams.AddNested("ImplementedBy", err.(request.ErrInvalidParams)) +func (s *GetPropertyValueHistoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPropertyValueHistoryInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentPath != nil && len(*s.ComponentPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentPath", 1)) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.EndTime != nil && len(*s.EndTime) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EndTime", 20)) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.PropertyFilters != nil && len(s.PropertyFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyFilters", 1)) + } + if s.SelectedProperties == nil { + invalidParams.Add(request.NewErrParamRequired("SelectedProperties")) + } + if s.SelectedProperties != nil && len(s.SelectedProperties) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SelectedProperties", 1)) + } + if s.StartTime != nil && len(*s.StartTime) < 20 { + invalidParams.Add(request.NewErrParamMinLen("StartTime", 20)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.PropertyFilters != nil { + for i, v := range s.PropertyFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyFilters", i), err.(request.ErrInvalidParams)) + } } } @@ -6783,95 +9504,107 @@ func (s *FunctionRequest) Validate() error { return nil } -// SetImplementedBy sets the ImplementedBy field's value. -func (s *FunctionRequest) SetImplementedBy(v *DataConnector) *FunctionRequest { - s.ImplementedBy = v +// SetComponentName sets the ComponentName field's value. +func (s *GetPropertyValueHistoryInput) SetComponentName(v string) *GetPropertyValueHistoryInput { + s.ComponentName = &v return s } -// SetRequiredProperties sets the RequiredProperties field's value. -func (s *FunctionRequest) SetRequiredProperties(v []*string) *FunctionRequest { - s.RequiredProperties = v +// SetComponentPath sets the ComponentPath field's value. +func (s *GetPropertyValueHistoryInput) SetComponentPath(v string) *GetPropertyValueHistoryInput { + s.ComponentPath = &v return s } -// SetScope sets the Scope field's value. -func (s *FunctionRequest) SetScope(v string) *FunctionRequest { - s.Scope = &v +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetPropertyValueHistoryInput) SetComponentTypeId(v string) *GetPropertyValueHistoryInput { + s.ComponentTypeId = &v return s } -// The function response. -type FunctionResponse struct { - _ struct{} `type:"structure"` +// SetEndDateTime sets the EndDateTime field's value. +func (s *GetPropertyValueHistoryInput) SetEndDateTime(v time.Time) *GetPropertyValueHistoryInput { + s.EndDateTime = &v + return s +} - // The data connector. - ImplementedBy *DataConnector `locationName:"implementedBy" type:"structure"` +// SetEndTime sets the EndTime field's value. +func (s *GetPropertyValueHistoryInput) SetEndTime(v string) *GetPropertyValueHistoryInput { + s.EndTime = &v + return s +} - // Indicates whether this function is inherited. - IsInherited *bool `locationName:"isInherited" type:"boolean"` +// SetEntityId sets the EntityId field's value. +func (s *GetPropertyValueHistoryInput) SetEntityId(v string) *GetPropertyValueHistoryInput { + s.EntityId = &v + return s +} - // The required properties of the function. - RequiredProperties []*string `locationName:"requiredProperties" type:"list"` +// SetInterpolation sets the Interpolation field's value. +func (s *GetPropertyValueHistoryInput) SetInterpolation(v *InterpolationParameters) *GetPropertyValueHistoryInput { + s.Interpolation = v + return s +} - // The scope of the function. - Scope *string `locationName:"scope" type:"string" enum:"Scope"` +// SetMaxResults sets the MaxResults field's value. +func (s *GetPropertyValueHistoryInput) SetMaxResults(v int64) *GetPropertyValueHistoryInput { + s.MaxResults = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s FunctionResponse) String() string { - return awsutil.Prettify(s) +// SetNextToken sets the NextToken field's value. +func (s *GetPropertyValueHistoryInput) SetNextToken(v string) *GetPropertyValueHistoryInput { + s.NextToken = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s FunctionResponse) GoString() string { - return s.String() +// SetOrderByTime sets the OrderByTime field's value. +func (s *GetPropertyValueHistoryInput) SetOrderByTime(v string) *GetPropertyValueHistoryInput { + s.OrderByTime = &v + return s } -// SetImplementedBy sets the ImplementedBy field's value. -func (s *FunctionResponse) SetImplementedBy(v *DataConnector) *FunctionResponse { - s.ImplementedBy = v +// SetPropertyFilters sets the PropertyFilters field's value. +func (s *GetPropertyValueHistoryInput) SetPropertyFilters(v []*PropertyFilter) *GetPropertyValueHistoryInput { + s.PropertyFilters = v return s } -// SetIsInherited sets the IsInherited field's value. -func (s *FunctionResponse) SetIsInherited(v bool) *FunctionResponse { - s.IsInherited = &v +// SetSelectedProperties sets the SelectedProperties field's value. +func (s *GetPropertyValueHistoryInput) SetSelectedProperties(v []*string) *GetPropertyValueHistoryInput { + s.SelectedProperties = v return s } -// SetRequiredProperties sets the RequiredProperties field's value. -func (s *FunctionResponse) SetRequiredProperties(v []*string) *FunctionResponse { - s.RequiredProperties = v +// SetStartDateTime sets the StartDateTime field's value. +func (s *GetPropertyValueHistoryInput) SetStartDateTime(v time.Time) *GetPropertyValueHistoryInput { + s.StartDateTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetPropertyValueHistoryInput) SetStartTime(v string) *GetPropertyValueHistoryInput { + s.StartTime = &v return s } -// SetScope sets the Scope field's value. -func (s *FunctionResponse) SetScope(v string) *FunctionResponse { - s.Scope = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetPropertyValueHistoryInput) SetWorkspaceId(v string) *GetPropertyValueHistoryInput { + s.WorkspaceId = &v return s } -type GetComponentTypeInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type GetPropertyValueHistoryOutput struct { + _ struct{} `type:"structure"` - // The ID of the component type. - // - // ComponentTypeId is a required field - ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` - // The ID of the workspace that contains the component type. + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // PropertyValues is a required field + PropertyValues []*PropertyValueHistory `locationName:"propertyValues" type:"list" required:"true"` } // String returns the string representation. @@ -6879,7 +9612,7 @@ type GetComponentTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentTypeInput) String() string { +func (s GetPropertyValueHistoryOutput) String() string { return awsutil.Prettify(s) } @@ -6888,110 +9621,61 @@ func (s GetComponentTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentTypeInput) GoString() string { +func (s GetPropertyValueHistoryOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetComponentTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetComponentTypeInput"} - if s.ComponentTypeId == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) - } - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) - } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *GetComponentTypeInput) SetComponentTypeId(v string) *GetComponentTypeInput { - s.ComponentTypeId = &v +// SetNextToken sets the NextToken field's value. +func (s *GetPropertyValueHistoryOutput) SetNextToken(v string) *GetPropertyValueHistoryOutput { + s.NextToken = &v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetComponentTypeInput) SetWorkspaceId(v string) *GetComponentTypeInput { - s.WorkspaceId = &v +// SetPropertyValues sets the PropertyValues field's value. +func (s *GetPropertyValueHistoryOutput) SetPropertyValues(v []*PropertyValueHistory) *GetPropertyValueHistoryOutput { + s.PropertyValues = v return s } -type GetComponentTypeOutput struct { +type GetPropertyValueInput struct { _ struct{} `type:"structure"` - // The ARN of the component type. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - - // The ID of the component type. - // - // ComponentTypeId is a required field - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` - - // The component type name. - ComponentTypeName *string `locationName:"componentTypeName" type:"string"` - - // The date and time when the component type was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - - // The description of the component type. - Description *string `locationName:"description" type:"string"` - - // The name of the parent component type that this component type extends. - ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` - - // An object that maps strings to the functions in the component type. Each - // string in the mapping must be unique to this object. - Functions map[string]*FunctionResponse `locationName:"functions" type:"map"` - - // A Boolean value that specifies whether the component type is abstract. - IsAbstract *bool `locationName:"isAbstract" type:"boolean"` + // The name of the component whose property values the operation returns. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` - // A Boolean value that specifies whether the component type has a schema initializer - // and that the schema initializer has run. - IsSchemaInitialized *bool `locationName:"isSchemaInitialized" type:"boolean"` + // This string specifies the path to the composite component, starting from + // the top-level component. + ComponentPath *string `locationName:"componentPath" min:"1" type:"string"` - // A Boolean value that specifies whether an entity can have more than one component - // of this type. - IsSingleton *bool `locationName:"isSingleton" type:"boolean"` + // The ID of the component type whose property values the operation returns. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` - // An object that maps strings to the property definitions in the component - // type. Each string in the mapping must be unique to this object. - PropertyDefinitions map[string]*PropertyDefinitionResponse `locationName:"propertyDefinitions" type:"map"` + // The ID of the entity whose property values the operation returns. + EntityId *string `locationName:"entityId" min:"1" type:"string"` // The maximum number of results to return at one time. The default is 25. // // Valid Range: Minimum value of 1. Maximum value of 250. - PropertyGroups map[string]*PropertyGroupResponse `locationName:"propertyGroups" type:"map"` + MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The current status of the component type. - Status *Status `locationName:"status" type:"structure"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` - // The syncSource of the SyncJob, if this entity was created by a SyncJob. - SyncSource *string `locationName:"syncSource" type:"string"` + // The property group name. + PropertyGroupName *string `locationName:"propertyGroupName" min:"1" type:"string"` - // The date and time when the component was last updated. + // The properties whose values the operation returns. // - // UpdateDateTime is a required field - UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + // SelectedProperties is a required field + SelectedProperties []*string `locationName:"selectedProperties" min:"1" type:"list" required:"true"` - // The ID of the workspace that contains the component type. + // The tabular conditions. + TabularConditions *TabularConditions `locationName:"tabularConditions" type:"structure"` + + // The ID of the workspace whose values the operation returns. // // WorkspaceId is a required field - WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6999,7 +9683,7 @@ type GetComponentTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentTypeOutput) String() string { +func (s GetPropertyValueInput) String() string { return awsutil.Prettify(s) } @@ -7008,115 +9692,171 @@ func (s GetComponentTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentTypeOutput) GoString() string { +func (s GetPropertyValueInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *GetComponentTypeOutput) SetArn(v string) *GetComponentTypeOutput { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPropertyValueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPropertyValueInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentPath != nil && len(*s.ComponentPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentPath", 1)) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.PropertyGroupName != nil && len(*s.PropertyGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyGroupName", 1)) + } + if s.SelectedProperties == nil { + invalidParams.Add(request.NewErrParamRequired("SelectedProperties")) + } + if s.SelectedProperties != nil && len(s.SelectedProperties) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SelectedProperties", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.TabularConditions != nil { + if err := s.TabularConditions.Validate(); err != nil { + invalidParams.AddNested("TabularConditions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *GetComponentTypeOutput) SetComponentTypeId(v string) *GetComponentTypeOutput { - s.ComponentTypeId = &v +// SetComponentName sets the ComponentName field's value. +func (s *GetPropertyValueInput) SetComponentName(v string) *GetPropertyValueInput { + s.ComponentName = &v return s } -// SetComponentTypeName sets the ComponentTypeName field's value. -func (s *GetComponentTypeOutput) SetComponentTypeName(v string) *GetComponentTypeOutput { - s.ComponentTypeName = &v +// SetComponentPath sets the ComponentPath field's value. +func (s *GetPropertyValueInput) SetComponentPath(v string) *GetPropertyValueInput { + s.ComponentPath = &v return s } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *GetComponentTypeOutput) SetCreationDateTime(v time.Time) *GetComponentTypeOutput { - s.CreationDateTime = &v +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetPropertyValueInput) SetComponentTypeId(v string) *GetPropertyValueInput { + s.ComponentTypeId = &v return s } -// SetDescription sets the Description field's value. -func (s *GetComponentTypeOutput) SetDescription(v string) *GetComponentTypeOutput { - s.Description = &v +// SetEntityId sets the EntityId field's value. +func (s *GetPropertyValueInput) SetEntityId(v string) *GetPropertyValueInput { + s.EntityId = &v return s } -// SetExtendsFrom sets the ExtendsFrom field's value. -func (s *GetComponentTypeOutput) SetExtendsFrom(v []*string) *GetComponentTypeOutput { - s.ExtendsFrom = v +// SetMaxResults sets the MaxResults field's value. +func (s *GetPropertyValueInput) SetMaxResults(v int64) *GetPropertyValueInput { + s.MaxResults = &v return s } -// SetFunctions sets the Functions field's value. -func (s *GetComponentTypeOutput) SetFunctions(v map[string]*FunctionResponse) *GetComponentTypeOutput { - s.Functions = v +// SetNextToken sets the NextToken field's value. +func (s *GetPropertyValueInput) SetNextToken(v string) *GetPropertyValueInput { + s.NextToken = &v return s } -// SetIsAbstract sets the IsAbstract field's value. -func (s *GetComponentTypeOutput) SetIsAbstract(v bool) *GetComponentTypeOutput { - s.IsAbstract = &v +// SetPropertyGroupName sets the PropertyGroupName field's value. +func (s *GetPropertyValueInput) SetPropertyGroupName(v string) *GetPropertyValueInput { + s.PropertyGroupName = &v return s } -// SetIsSchemaInitialized sets the IsSchemaInitialized field's value. -func (s *GetComponentTypeOutput) SetIsSchemaInitialized(v bool) *GetComponentTypeOutput { - s.IsSchemaInitialized = &v +// SetSelectedProperties sets the SelectedProperties field's value. +func (s *GetPropertyValueInput) SetSelectedProperties(v []*string) *GetPropertyValueInput { + s.SelectedProperties = v return s } -// SetIsSingleton sets the IsSingleton field's value. -func (s *GetComponentTypeOutput) SetIsSingleton(v bool) *GetComponentTypeOutput { - s.IsSingleton = &v +// SetTabularConditions sets the TabularConditions field's value. +func (s *GetPropertyValueInput) SetTabularConditions(v *TabularConditions) *GetPropertyValueInput { + s.TabularConditions = v return s } -// SetPropertyDefinitions sets the PropertyDefinitions field's value. -func (s *GetComponentTypeOutput) SetPropertyDefinitions(v map[string]*PropertyDefinitionResponse) *GetComponentTypeOutput { - s.PropertyDefinitions = v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetPropertyValueInput) SetWorkspaceId(v string) *GetPropertyValueInput { + s.WorkspaceId = &v return s } -// SetPropertyGroups sets the PropertyGroups field's value. -func (s *GetComponentTypeOutput) SetPropertyGroups(v map[string]*PropertyGroupResponse) *GetComponentTypeOutput { - s.PropertyGroups = v - return s +type GetPropertyValueOutput struct { + _ struct{} `type:"structure"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // An object that maps strings to the properties and latest property values + // in the response. Each string in the mapping must be unique to this object. + PropertyValues map[string]*PropertyLatestValue `locationName:"propertyValues" type:"map"` + + // A table of property values. + TabularPropertyValues [][]map[string]*DataValue `locationName:"tabularPropertyValues" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPropertyValueOutput) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *GetComponentTypeOutput) SetStatus(v *Status) *GetComponentTypeOutput { - s.Status = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPropertyValueOutput) GoString() string { + return s.String() } -// SetSyncSource sets the SyncSource field's value. -func (s *GetComponentTypeOutput) SetSyncSource(v string) *GetComponentTypeOutput { - s.SyncSource = &v +// SetNextToken sets the NextToken field's value. +func (s *GetPropertyValueOutput) SetNextToken(v string) *GetPropertyValueOutput { + s.NextToken = &v return s } -// SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *GetComponentTypeOutput) SetUpdateDateTime(v time.Time) *GetComponentTypeOutput { - s.UpdateDateTime = &v +// SetPropertyValues sets the PropertyValues field's value. +func (s *GetPropertyValueOutput) SetPropertyValues(v map[string]*PropertyLatestValue) *GetPropertyValueOutput { + s.PropertyValues = v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetComponentTypeOutput) SetWorkspaceId(v string) *GetComponentTypeOutput { - s.WorkspaceId = &v +// SetTabularPropertyValues sets the TabularPropertyValues field's value. +func (s *GetPropertyValueOutput) SetTabularPropertyValues(v [][]map[string]*DataValue) *GetPropertyValueOutput { + s.TabularPropertyValues = v return s } -type GetEntityInput struct { +type GetSceneInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of the entity. + // The ID of the scene. // - // EntityId is a required field - EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` + // SceneId is a required field + SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` - // The ID of the workspace. + // The ID of the workspace that contains the scene. // // WorkspaceId is a required field WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -7127,7 +9867,7 @@ type GetEntityInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEntityInput) String() string { +func (s GetSceneInput) String() string { return awsutil.Prettify(s) } @@ -7136,18 +9876,18 @@ func (s GetEntityInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEntityInput) GoString() string { +func (s GetSceneInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetEntityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEntityInput"} - if s.EntityId == nil { - invalidParams.Add(request.NewErrParamRequired("EntityId")) +func (s *GetSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSceneInput"} + if s.SceneId == nil { + invalidParams.Add(request.NewErrParamRequired("SceneId")) } - if s.EntityId != nil && len(*s.EntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + if s.SceneId != nil && len(*s.SceneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) } if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) @@ -7162,72 +9902,62 @@ func (s *GetEntityInput) Validate() error { return nil } -// SetEntityId sets the EntityId field's value. -func (s *GetEntityInput) SetEntityId(v string) *GetEntityInput { - s.EntityId = &v +// SetSceneId sets the SceneId field's value. +func (s *GetSceneInput) SetSceneId(v string) *GetSceneInput { + s.SceneId = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetEntityInput) SetWorkspaceId(v string) *GetEntityInput { +func (s *GetSceneInput) SetWorkspaceId(v string) *GetSceneInput { s.WorkspaceId = &v return s } -type GetEntityOutput struct { +type GetSceneOutput struct { _ struct{} `type:"structure"` - // The ARN of the entity. + // The ARN of the scene. // // Arn is a required field Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - // An object that maps strings to the components in the entity. Each string - // in the mapping must be unique to this object. - Components map[string]*ComponentResponse `locationName:"components" type:"map"` + // A list of capabilities that the scene uses to render. + Capabilities []*string `locationName:"capabilities" type:"list"` - // The date and time when the entity was created. + // The relative path that specifies the location of the content definition file. + // + // ContentLocation is a required field + ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` + + // The date and time when the scene was created. // // CreationDateTime is a required field CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - // The description of the entity. + // The description of the scene. Description *string `locationName:"description" type:"string"` - // The ID of the entity. - // - // EntityId is a required field - EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` - - // The name of the entity. - // - // EntityName is a required field - EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` - - // A Boolean value that specifies whether the entity has associated child entities. - // - // HasChildEntities is a required field - HasChildEntities *bool `locationName:"hasChildEntities" type:"boolean" required:"true"` + // The SceneResponse error. + Error *SceneError `locationName:"error" type:"structure"` - // The ID of the parent entity for this entity. - // - // ParentEntityId is a required field - ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string" required:"true"` + // The generated scene metadata. + GeneratedSceneMetadata map[string]*string `locationName:"generatedSceneMetadata" type:"map"` - // The current status of the entity. + // The ID of the scene. // - // Status is a required field - Status *Status `locationName:"status" type:"structure" required:"true"` + // SceneId is a required field + SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` - // The syncSource of the sync job, if this entity was created by a sync job. - SyncSource *string `locationName:"syncSource" type:"string"` + // The response metadata. + SceneMetadata map[string]*string `locationName:"sceneMetadata" type:"map"` - // The date and time when the entity was last updated. + // The date and time when the scene was last updated. // // UpdateDateTime is a required field UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` - // The ID of the workspace. + // The ID of the workspace that contains the scene. // // WorkspaceId is a required field WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -7238,7 +9968,7 @@ type GetEntityOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEntityOutput) String() string { +func (s GetSceneOutput) String() string { return awsutil.Prettify(s) } @@ -7247,84 +9977,88 @@ func (s GetEntityOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEntityOutput) GoString() string { +func (s GetSceneOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *GetEntityOutput) SetArn(v string) *GetEntityOutput { +func (s *GetSceneOutput) SetArn(v string) *GetSceneOutput { s.Arn = &v return s } -// SetComponents sets the Components field's value. -func (s *GetEntityOutput) SetComponents(v map[string]*ComponentResponse) *GetEntityOutput { - s.Components = v +// SetCapabilities sets the Capabilities field's value. +func (s *GetSceneOutput) SetCapabilities(v []*string) *GetSceneOutput { + s.Capabilities = v + return s +} + +// SetContentLocation sets the ContentLocation field's value. +func (s *GetSceneOutput) SetContentLocation(v string) *GetSceneOutput { + s.ContentLocation = &v return s } // SetCreationDateTime sets the CreationDateTime field's value. -func (s *GetEntityOutput) SetCreationDateTime(v time.Time) *GetEntityOutput { +func (s *GetSceneOutput) SetCreationDateTime(v time.Time) *GetSceneOutput { s.CreationDateTime = &v return s } // SetDescription sets the Description field's value. -func (s *GetEntityOutput) SetDescription(v string) *GetEntityOutput { +func (s *GetSceneOutput) SetDescription(v string) *GetSceneOutput { s.Description = &v return s } -// SetEntityId sets the EntityId field's value. -func (s *GetEntityOutput) SetEntityId(v string) *GetEntityOutput { - s.EntityId = &v - return s -} - -// SetEntityName sets the EntityName field's value. -func (s *GetEntityOutput) SetEntityName(v string) *GetEntityOutput { - s.EntityName = &v - return s -} - -// SetHasChildEntities sets the HasChildEntities field's value. -func (s *GetEntityOutput) SetHasChildEntities(v bool) *GetEntityOutput { - s.HasChildEntities = &v +// SetError sets the Error field's value. +func (s *GetSceneOutput) SetError(v *SceneError) *GetSceneOutput { + s.Error = v return s } -// SetParentEntityId sets the ParentEntityId field's value. -func (s *GetEntityOutput) SetParentEntityId(v string) *GetEntityOutput { - s.ParentEntityId = &v +// SetGeneratedSceneMetadata sets the GeneratedSceneMetadata field's value. +func (s *GetSceneOutput) SetGeneratedSceneMetadata(v map[string]*string) *GetSceneOutput { + s.GeneratedSceneMetadata = v return s } -// SetStatus sets the Status field's value. -func (s *GetEntityOutput) SetStatus(v *Status) *GetEntityOutput { - s.Status = v +// SetSceneId sets the SceneId field's value. +func (s *GetSceneOutput) SetSceneId(v string) *GetSceneOutput { + s.SceneId = &v return s } -// SetSyncSource sets the SyncSource field's value. -func (s *GetEntityOutput) SetSyncSource(v string) *GetEntityOutput { - s.SyncSource = &v +// SetSceneMetadata sets the SceneMetadata field's value. +func (s *GetSceneOutput) SetSceneMetadata(v map[string]*string) *GetSceneOutput { + s.SceneMetadata = v return s } // SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *GetEntityOutput) SetUpdateDateTime(v time.Time) *GetEntityOutput { +func (s *GetSceneOutput) SetUpdateDateTime(v time.Time) *GetSceneOutput { s.UpdateDateTime = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetEntityOutput) SetWorkspaceId(v string) *GetEntityOutput { +func (s *GetSceneOutput) SetWorkspaceId(v string) *GetSceneOutput { s.WorkspaceId = &v return s } -type GetPricingPlanInput struct { +type GetSyncJobInput struct { _ struct{} `type:"structure" nopayload:"true"` + + // The sync source. + // + // Currently the only supported syncSource is SITEWISE . + // + // SyncSource is a required field + SyncSource *string `location:"uri" locationName:"syncSource" type:"string" required:"true"` + + // The workspace ID. + WorkspaceId *string `location:"querystring" locationName:"workspace" min:"1" type:"string"` } // String returns the string representation. @@ -7332,7 +10066,7 @@ type GetPricingPlanInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPricingPlanInput) String() string { +func (s GetSyncJobInput) String() string { return awsutil.Prettify(s) } @@ -7341,20 +10075,80 @@ func (s GetPricingPlanInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPricingPlanInput) GoString() string { +func (s GetSyncJobInput) GoString() string { return s.String() } -type GetPricingPlanOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSyncJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSyncJobInput"} + if s.SyncSource == nil { + invalidParams.Add(request.NewErrParamRequired("SyncSource")) + } + if s.SyncSource != nil && len(*s.SyncSource) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SyncSource", 1)) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSyncSource sets the SyncSource field's value. +func (s *GetSyncJobInput) SetSyncSource(v string) *GetSyncJobInput { + s.SyncSource = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetSyncJobInput) SetWorkspaceId(v string) *GetSyncJobInput { + s.WorkspaceId = &v + return s +} + +type GetSyncJobOutput struct { _ struct{} `type:"structure"` - // The chosen pricing plan for the current billing cycle. + // The sync job ARN. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The creation date and time. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The SyncJob response status. + // + // Status is a required field + Status *SyncJobStatus `locationName:"status" type:"structure" required:"true"` + + // The sync IAM role. + // + // SyncRole is a required field + SyncRole *string `locationName:"syncRole" min:"20" type:"string" required:"true"` + + // The sync soucre. + // + // Currently the only supported syncSource is SITEWISE . + // + // SyncSource is a required field + SyncSource *string `locationName:"syncSource" type:"string" required:"true"` + + // The update date and time. // - // CurrentPricingPlan is a required field - CurrentPricingPlan *PricingPlan `locationName:"currentPricingPlan" type:"structure" required:"true"` + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` - // The pending pricing plan. - PendingPricingPlan *PricingPlan `locationName:"pendingPricingPlan" type:"structure"` + // The ID of the workspace that contains the sync job. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -7362,7 +10156,7 @@ type GetPricingPlanOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPricingPlanOutput) String() string { +func (s GetSyncJobOutput) String() string { return awsutil.Prettify(s) } @@ -7371,78 +10165,54 @@ func (s GetPricingPlanOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPricingPlanOutput) GoString() string { +func (s GetSyncJobOutput) GoString() string { return s.String() } -// SetCurrentPricingPlan sets the CurrentPricingPlan field's value. -func (s *GetPricingPlanOutput) SetCurrentPricingPlan(v *PricingPlan) *GetPricingPlanOutput { - s.CurrentPricingPlan = v +// SetArn sets the Arn field's value. +func (s *GetSyncJobOutput) SetArn(v string) *GetSyncJobOutput { + s.Arn = &v return s } -// SetPendingPricingPlan sets the PendingPricingPlan field's value. -func (s *GetPricingPlanOutput) SetPendingPricingPlan(v *PricingPlan) *GetPricingPlanOutput { - s.PendingPricingPlan = v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetSyncJobOutput) SetCreationDateTime(v time.Time) *GetSyncJobOutput { + s.CreationDateTime = &v return s } -type GetPropertyValueHistoryInput struct { - _ struct{} `type:"structure"` - - // The name of the component. - ComponentName *string `locationName:"componentName" min:"1" type:"string"` - - // The ID of the component type. - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` - - // The date and time of the latest property value to return. - // - // Deprecated: This field is deprecated and will throw an error in the future. Use endTime instead. - EndDateTime *time.Time `locationName:"endDateTime" deprecated:"true" type:"timestamp"` - - // The ISO8601 DateTime of the latest property value to return. - // - // For more information about the ISO8601 DateTime format, see the data type - // PropertyValue (https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_PropertyValue.html). - EndTime *string `locationName:"endTime" min:"20" type:"string"` - - // The ID of the entity. - EntityId *string `locationName:"entityId" min:"1" type:"string"` - - // An object that specifies the interpolation type and the interval over which - // to interpolate data. - Interpolation *InterpolationParameters `locationName:"interpolation" type:"structure"` - - // The maximum number of results to return at one time. The default is 25. - // - // Valid Range: Minimum value of 1. Maximum value of 250. - MaxResults *int64 `locationName:"maxResults" type:"integer"` - - // The string that specifies the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` +// SetStatus sets the Status field's value. +func (s *GetSyncJobOutput) SetStatus(v *SyncJobStatus) *GetSyncJobOutput { + s.Status = v + return s +} - // The time direction to use in the result order. - OrderByTime *string `locationName:"orderByTime" type:"string" enum:"OrderByTime"` +// SetSyncRole sets the SyncRole field's value. +func (s *GetSyncJobOutput) SetSyncRole(v string) *GetSyncJobOutput { + s.SyncRole = &v + return s +} - // A list of objects that filter the property value history request. - PropertyFilters []*PropertyFilter `locationName:"propertyFilters" min:"1" type:"list"` +// SetSyncSource sets the SyncSource field's value. +func (s *GetSyncJobOutput) SetSyncSource(v string) *GetSyncJobOutput { + s.SyncSource = &v + return s +} - // A list of properties whose value histories the request retrieves. - // - // SelectedProperties is a required field - SelectedProperties []*string `locationName:"selectedProperties" min:"1" type:"list" required:"true"` +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetSyncJobOutput) SetUpdateDateTime(v time.Time) *GetSyncJobOutput { + s.UpdateDateTime = &v + return s +} - // The date and time of the earliest property value to return. - // - // Deprecated: This field is deprecated and will throw an error in the future. Use startTime instead. - StartDateTime *time.Time `locationName:"startDateTime" deprecated:"true" type:"timestamp"` +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetSyncJobOutput) SetWorkspaceId(v string) *GetSyncJobOutput { + s.WorkspaceId = &v + return s +} - // The ISO8601 DateTime of the earliest property value to return. - // - // For more information about the ISO8601 DateTime format, see the data type - // PropertyValue (https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_PropertyValue.html). - StartTime *string `locationName:"startTime" min:"20" type:"string"` +type GetWorkspaceInput struct { + _ struct{} `type:"structure" nopayload:"true"` // The ID of the workspace. // @@ -7455,7 +10225,7 @@ type GetPropertyValueHistoryInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueHistoryInput) String() string { +func (s GetWorkspaceInput) String() string { return awsutil.Prettify(s) } @@ -7464,53 +10234,19 @@ func (s GetPropertyValueHistoryInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueHistoryInput) GoString() string { +func (s GetWorkspaceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPropertyValueHistoryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPropertyValueHistoryInput"} - if s.ComponentName != nil && len(*s.ComponentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) - } - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) - } - if s.EndTime != nil && len(*s.EndTime) < 20 { - invalidParams.Add(request.NewErrParamMinLen("EndTime", 20)) - } - if s.EntityId != nil && len(*s.EntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) - } - if s.PropertyFilters != nil && len(s.PropertyFilters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PropertyFilters", 1)) - } - if s.SelectedProperties == nil { - invalidParams.Add(request.NewErrParamRequired("SelectedProperties")) - } - if s.SelectedProperties != nil && len(s.SelectedProperties) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SelectedProperties", 1)) - } - if s.StartTime != nil && len(*s.StartTime) < 20 { - invalidParams.Add(request.NewErrParamMinLen("StartTime", 20)) - } +func (s *GetWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkspaceInput"} if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } - if s.PropertyFilters != nil { - for i, v := range s.PropertyFilters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyFilters", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -7518,101 +10254,121 @@ func (s *GetPropertyValueHistoryInput) Validate() error { return nil } -// SetComponentName sets the ComponentName field's value. -func (s *GetPropertyValueHistoryInput) SetComponentName(v string) *GetPropertyValueHistoryInput { - s.ComponentName = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetWorkspaceInput) SetWorkspaceId(v string) *GetWorkspaceInput { + s.WorkspaceId = &v return s } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *GetPropertyValueHistoryInput) SetComponentTypeId(v string) *GetPropertyValueHistoryInput { - s.ComponentTypeId = &v - return s -} +type GetWorkspaceOutput struct { + _ struct{} `type:"structure"` -// SetEndDateTime sets the EndDateTime field's value. -func (s *GetPropertyValueHistoryInput) SetEndDateTime(v time.Time) *GetPropertyValueHistoryInput { - s.EndDateTime = &v - return s -} + // The ARN of the workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` -// SetEndTime sets the EndTime field's value. -func (s *GetPropertyValueHistoryInput) SetEndTime(v string) *GetPropertyValueHistoryInput { - s.EndTime = &v - return s + // The date and time when the workspace was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the workspace. + Description *string `locationName:"description" type:"string"` + + // A list of services that are linked to the workspace. + LinkedServices []*string `locationName:"linkedServices" type:"list"` + + // The ARN of the execution role associated with the workspace. + Role *string `locationName:"role" min:"20" type:"string"` + + // The ARN of the S3 bucket where resources associated with the workspace are + // stored. + S3Location *string `locationName:"s3Location" type:"string"` + + // The date and time when the workspace was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` } -// SetEntityId sets the EntityId field's value. -func (s *GetPropertyValueHistoryInput) SetEntityId(v string) *GetPropertyValueHistoryInput { - s.EntityId = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkspaceOutput) String() string { + return awsutil.Prettify(s) } -// SetInterpolation sets the Interpolation field's value. -func (s *GetPropertyValueHistoryInput) SetInterpolation(v *InterpolationParameters) *GetPropertyValueHistoryInput { - s.Interpolation = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkspaceOutput) GoString() string { + return s.String() } -// SetMaxResults sets the MaxResults field's value. -func (s *GetPropertyValueHistoryInput) SetMaxResults(v int64) *GetPropertyValueHistoryInput { - s.MaxResults = &v +// SetArn sets the Arn field's value. +func (s *GetWorkspaceOutput) SetArn(v string) *GetWorkspaceOutput { + s.Arn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetPropertyValueHistoryInput) SetNextToken(v string) *GetPropertyValueHistoryInput { - s.NextToken = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetWorkspaceOutput) SetCreationDateTime(v time.Time) *GetWorkspaceOutput { + s.CreationDateTime = &v return s } -// SetOrderByTime sets the OrderByTime field's value. -func (s *GetPropertyValueHistoryInput) SetOrderByTime(v string) *GetPropertyValueHistoryInput { - s.OrderByTime = &v +// SetDescription sets the Description field's value. +func (s *GetWorkspaceOutput) SetDescription(v string) *GetWorkspaceOutput { + s.Description = &v return s } -// SetPropertyFilters sets the PropertyFilters field's value. -func (s *GetPropertyValueHistoryInput) SetPropertyFilters(v []*PropertyFilter) *GetPropertyValueHistoryInput { - s.PropertyFilters = v +// SetLinkedServices sets the LinkedServices field's value. +func (s *GetWorkspaceOutput) SetLinkedServices(v []*string) *GetWorkspaceOutput { + s.LinkedServices = v return s } -// SetSelectedProperties sets the SelectedProperties field's value. -func (s *GetPropertyValueHistoryInput) SetSelectedProperties(v []*string) *GetPropertyValueHistoryInput { - s.SelectedProperties = v +// SetRole sets the Role field's value. +func (s *GetWorkspaceOutput) SetRole(v string) *GetWorkspaceOutput { + s.Role = &v return s } -// SetStartDateTime sets the StartDateTime field's value. -func (s *GetPropertyValueHistoryInput) SetStartDateTime(v time.Time) *GetPropertyValueHistoryInput { - s.StartDateTime = &v +// SetS3Location sets the S3Location field's value. +func (s *GetWorkspaceOutput) SetS3Location(v string) *GetWorkspaceOutput { + s.S3Location = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *GetPropertyValueHistoryInput) SetStartTime(v string) *GetPropertyValueHistoryInput { - s.StartTime = &v +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetWorkspaceOutput) SetUpdateDateTime(v time.Time) *GetWorkspaceOutput { + s.UpdateDateTime = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetPropertyValueHistoryInput) SetWorkspaceId(v string) *GetPropertyValueHistoryInput { +func (s *GetWorkspaceOutput) SetWorkspaceId(v string) *GetWorkspaceOutput { s.WorkspaceId = &v return s } -type GetPropertyValueHistoryOutput struct { - _ struct{} `type:"structure"` - - // The string that specifies the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` +// An unexpected error has occurred. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // An object that maps strings to the property definitions in the component - // type. Each string in the mapping must be unique to this object. - // - // PropertyValues is a required field - PropertyValues []*PropertyValueHistory `locationName:"propertyValues" type:"list" required:"true"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -7620,7 +10376,7 @@ type GetPropertyValueHistoryOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueHistoryOutput) String() string { +func (s InternalServerException) String() string { return awsutil.Prettify(s) } @@ -7629,57 +10385,57 @@ func (s GetPropertyValueHistoryOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueHistoryOutput) GoString() string { +func (s InternalServerException) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetPropertyValueHistoryOutput) SetNextToken(v string) *GetPropertyValueHistoryOutput { - s.NextToken = &v - return s +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } } -// SetPropertyValues sets the PropertyValues field's value. -func (s *GetPropertyValueHistoryOutput) SetPropertyValues(v []*PropertyValueHistory) *GetPropertyValueHistoryOutput { - s.PropertyValues = v - return s +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" } -type GetPropertyValueInput struct { - _ struct{} `type:"structure"` - - // The name of the component whose property values the operation returns. - ComponentName *string `locationName:"componentName" min:"1" type:"string"` - - // The ID of the component type whose property values the operation returns. - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The ID of the entity whose property values the operation returns. - EntityId *string `locationName:"entityId" min:"1" type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} - // The maximum number of results to return at one time. The default is 25. - // - // Valid Range: Minimum value of 1. Maximum value of 250. - MaxResults *int64 `locationName:"maxResults" type:"integer"` +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The string that specifies the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The property group name. - PropertyGroupName *string `locationName:"propertyGroupName" min:"1" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} - // The properties whose values the operation returns. - // - // SelectedProperties is a required field - SelectedProperties []*string `locationName:"selectedProperties" min:"1" type:"list" required:"true"` +// An object that specifies how to interpolate data in a list. +type InterpolationParameters struct { + _ struct{} `type:"structure"` - // The tabular conditions. - TabularConditions *TabularConditions `locationName:"tabularConditions" type:"structure"` + // The interpolation type. + InterpolationType *string `locationName:"interpolationType" type:"string" enum:"InterpolationType"` - // The ID of the workspace whose values the operation returns. - // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // The interpolation time interval in seconds. + IntervalInSeconds *int64 `locationName:"intervalInSeconds" type:"long"` } // String returns the string representation. @@ -7687,7 +10443,7 @@ type GetPropertyValueInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueInput) String() string { +func (s InterpolationParameters) String() string { return awsutil.Prettify(s) } @@ -7696,115 +10452,83 @@ func (s GetPropertyValueInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueInput) GoString() string { +func (s InterpolationParameters) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetPropertyValueInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPropertyValueInput"} - if s.ComponentName != nil && len(*s.ComponentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) - } - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) - } - if s.EntityId != nil && len(*s.EntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) - } - if s.PropertyGroupName != nil && len(*s.PropertyGroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PropertyGroupName", 1)) - } - if s.SelectedProperties == nil { - invalidParams.Add(request.NewErrParamRequired("SelectedProperties")) - } - if s.SelectedProperties != nil && len(s.SelectedProperties) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SelectedProperties", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) - } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) - } - if s.TabularConditions != nil { - if err := s.TabularConditions.Validate(); err != nil { - invalidParams.AddNested("TabularConditions", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetComponentName sets the ComponentName field's value. -func (s *GetPropertyValueInput) SetComponentName(v string) *GetPropertyValueInput { - s.ComponentName = &v +// SetInterpolationType sets the InterpolationType field's value. +func (s *InterpolationParameters) SetInterpolationType(v string) *InterpolationParameters { + s.InterpolationType = &v return s } -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *GetPropertyValueInput) SetComponentTypeId(v string) *GetPropertyValueInput { - s.ComponentTypeId = &v +// SetIntervalInSeconds sets the IntervalInSeconds field's value. +func (s *InterpolationParameters) SetIntervalInSeconds(v int64) *InterpolationParameters { + s.IntervalInSeconds = &v return s } -// SetEntityId sets the EntityId field's value. -func (s *GetPropertyValueInput) SetEntityId(v string) *GetPropertyValueInput { - s.EntityId = &v - return s -} +// The metadata transfer job AWS IoT SiteWise source configuration. +type IotSiteWiseSourceConfiguration struct { + _ struct{} `type:"structure"` -// SetMaxResults sets the MaxResults field's value. -func (s *GetPropertyValueInput) SetMaxResults(v int64) *GetPropertyValueInput { - s.MaxResults = &v - return s + // The AWS IoT SiteWise soucre configuration filters. + Filters []*IotSiteWiseSourceConfigurationFilter `locationName:"filters" type:"list"` } -// SetNextToken sets the NextToken field's value. -func (s *GetPropertyValueInput) SetNextToken(v string) *GetPropertyValueInput { - s.NextToken = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IotSiteWiseSourceConfiguration) String() string { + return awsutil.Prettify(s) } -// SetPropertyGroupName sets the PropertyGroupName field's value. -func (s *GetPropertyValueInput) SetPropertyGroupName(v string) *GetPropertyValueInput { - s.PropertyGroupName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IotSiteWiseSourceConfiguration) GoString() string { + return s.String() } -// SetSelectedProperties sets the SelectedProperties field's value. -func (s *GetPropertyValueInput) SetSelectedProperties(v []*string) *GetPropertyValueInput { - s.SelectedProperties = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotSiteWiseSourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseSourceConfiguration"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } -// SetTabularConditions sets the TabularConditions field's value. -func (s *GetPropertyValueInput) SetTabularConditions(v *TabularConditions) *GetPropertyValueInput { - s.TabularConditions = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetPropertyValueInput) SetWorkspaceId(v string) *GetPropertyValueInput { - s.WorkspaceId = &v +// SetFilters sets the Filters field's value. +func (s *IotSiteWiseSourceConfiguration) SetFilters(v []*IotSiteWiseSourceConfigurationFilter) *IotSiteWiseSourceConfiguration { + s.Filters = v return s } -type GetPropertyValueOutput struct { +// The AWS IoT SiteWise soucre configuration filter.[need held with desc here] +type IotSiteWiseSourceConfigurationFilter struct { _ struct{} `type:"structure"` - // The string that specifies the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` - - // An object that maps strings to the properties and latest property values - // in the response. Each string in the mapping must be unique to this object. - PropertyValues map[string]*PropertyLatestValue `locationName:"propertyValues" type:"map"` + // Filter by asset. + FilterByAsset *FilterByAsset `locationName:"filterByAsset" type:"structure"` - // A table of property values. - TabularPropertyValues [][]map[string]*DataValue `locationName:"tabularPropertyValues" type:"list"` + // Filter by asset model. + FilterByAssetModel *FilterByAssetModel `locationName:"filterByAssetModel" type:"structure"` } // String returns the string representation. @@ -7812,7 +10536,7 @@ type GetPropertyValueOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueOutput) String() string { +func (s IotSiteWiseSourceConfigurationFilter) String() string { return awsutil.Prettify(s) } @@ -7821,40 +10545,50 @@ func (s GetPropertyValueOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetPropertyValueOutput) GoString() string { +func (s IotSiteWiseSourceConfigurationFilter) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetPropertyValueOutput) SetNextToken(v string) *GetPropertyValueOutput { - s.NextToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotSiteWiseSourceConfigurationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseSourceConfigurationFilter"} + if s.FilterByAsset != nil { + if err := s.FilterByAsset.Validate(); err != nil { + invalidParams.AddNested("FilterByAsset", err.(request.ErrInvalidParams)) + } + } + if s.FilterByAssetModel != nil { + if err := s.FilterByAssetModel.Validate(); err != nil { + invalidParams.AddNested("FilterByAssetModel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPropertyValues sets the PropertyValues field's value. -func (s *GetPropertyValueOutput) SetPropertyValues(v map[string]*PropertyLatestValue) *GetPropertyValueOutput { - s.PropertyValues = v +// SetFilterByAsset sets the FilterByAsset field's value. +func (s *IotSiteWiseSourceConfigurationFilter) SetFilterByAsset(v *FilterByAsset) *IotSiteWiseSourceConfigurationFilter { + s.FilterByAsset = v return s } -// SetTabularPropertyValues sets the TabularPropertyValues field's value. -func (s *GetPropertyValueOutput) SetTabularPropertyValues(v [][]map[string]*DataValue) *GetPropertyValueOutput { - s.TabularPropertyValues = v +// SetFilterByAssetModel sets the FilterByAssetModel field's value. +func (s *IotSiteWiseSourceConfigurationFilter) SetFilterByAssetModel(v *FilterByAssetModel) *IotSiteWiseSourceConfigurationFilter { + s.FilterByAssetModel = v return s } -type GetSceneInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The ID of the scene. - // - // SceneId is a required field - SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` +// The metadata transfer job AWS IoT TwinMaker destination configuration. +type IotTwinMakerDestinationConfiguration struct { + _ struct{} `type:"structure"` - // The ID of the workspace that contains the scene. + // The IoT TwinMaker workspace. // - // WorkspaceId is a required field - WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` + // Workspace is a required field + Workspace *string `locationName:"workspace" min:"20" type:"string" required:"true"` } // String returns the string representation. @@ -7862,7 +10596,7 @@ type GetSceneInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSceneInput) String() string { +func (s IotTwinMakerDestinationConfiguration) String() string { return awsutil.Prettify(s) } @@ -7871,24 +10605,18 @@ func (s GetSceneInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSceneInput) GoString() string { +func (s IotTwinMakerDestinationConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSceneInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSceneInput"} - if s.SceneId == nil { - invalidParams.Add(request.NewErrParamRequired("SceneId")) - } - if s.SceneId != nil && len(*s.SceneId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) - } - if s.WorkspaceId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) +func (s *IotTwinMakerDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotTwinMakerDestinationConfiguration"} + if s.Workspace == nil { + invalidParams.Add(request.NewErrParamRequired("Workspace")) } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + if s.Workspace != nil && len(*s.Workspace) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Workspace", 20)) } if invalidParams.Len() > 0 { @@ -7897,65 +10625,23 @@ func (s *GetSceneInput) Validate() error { return nil } -// SetSceneId sets the SceneId field's value. -func (s *GetSceneInput) SetSceneId(v string) *GetSceneInput { - s.SceneId = &v - return s -} - -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetSceneInput) SetWorkspaceId(v string) *GetSceneInput { - s.WorkspaceId = &v +// SetWorkspace sets the Workspace field's value. +func (s *IotTwinMakerDestinationConfiguration) SetWorkspace(v string) *IotTwinMakerDestinationConfiguration { + s.Workspace = &v return s } -type GetSceneOutput struct { +// The metadata transfer job AWS IoT TwinMaker source configuration. +type IotTwinMakerSourceConfiguration struct { _ struct{} `type:"structure"` - // The ARN of the scene. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - - // A list of capabilities that the scene uses to render. - Capabilities []*string `locationName:"capabilities" type:"list"` - - // The relative path that specifies the location of the content definition file. - // - // ContentLocation is a required field - ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` - - // The date and time when the scene was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - - // The description of the scene. - Description *string `locationName:"description" type:"string"` - - // The SceneResponse error. - Error *SceneError `locationName:"error" type:"structure"` - - // The generated scene metadata. - GeneratedSceneMetadata map[string]*string `locationName:"generatedSceneMetadata" type:"map"` - - // The ID of the scene. - // - // SceneId is a required field - SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` - - // The response metadata. - SceneMetadata map[string]*string `locationName:"sceneMetadata" type:"map"` - - // The date and time when the scene was last updated. - // - // UpdateDateTime is a required field - UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + // The metadata transfer job AWS IoT TwinMaker source configuration filters. + Filters []*IotTwinMakerSourceConfigurationFilter `locationName:"filters" type:"list"` - // The ID of the workspace that contains the scene. + // The IoT TwinMaker workspace. // - // WorkspaceId is a required field - WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` + // Workspace is a required field + Workspace *string `locationName:"workspace" min:"20" type:"string" required:"true"` } // String returns the string representation. @@ -7963,7 +10649,7 @@ type GetSceneOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSceneOutput) String() string { +func (s IotTwinMakerSourceConfiguration) String() string { return awsutil.Prettify(s) } @@ -7972,88 +10658,117 @@ func (s GetSceneOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSceneOutput) GoString() string { +func (s IotTwinMakerSourceConfiguration) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *GetSceneOutput) SetArn(v string) *GetSceneOutput { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotTwinMakerSourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotTwinMakerSourceConfiguration"} + if s.Workspace == nil { + invalidParams.Add(request.NewErrParamRequired("Workspace")) + } + if s.Workspace != nil && len(*s.Workspace) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Workspace", 20)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } -// SetCapabilities sets the Capabilities field's value. -func (s *GetSceneOutput) SetCapabilities(v []*string) *GetSceneOutput { - s.Capabilities = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetContentLocation sets the ContentLocation field's value. -func (s *GetSceneOutput) SetContentLocation(v string) *GetSceneOutput { - s.ContentLocation = &v +// SetFilters sets the Filters field's value. +func (s *IotTwinMakerSourceConfiguration) SetFilters(v []*IotTwinMakerSourceConfigurationFilter) *IotTwinMakerSourceConfiguration { + s.Filters = v return s } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *GetSceneOutput) SetCreationDateTime(v time.Time) *GetSceneOutput { - s.CreationDateTime = &v +// SetWorkspace sets the Workspace field's value. +func (s *IotTwinMakerSourceConfiguration) SetWorkspace(v string) *IotTwinMakerSourceConfiguration { + s.Workspace = &v return s } -// SetDescription sets the Description field's value. -func (s *GetSceneOutput) SetDescription(v string) *GetSceneOutput { - s.Description = &v - return s -} +// The metadata transfer job AWS IoT TwinMaker source configuration filter. +type IotTwinMakerSourceConfigurationFilter struct { + _ struct{} `type:"structure"` -// SetError sets the Error field's value. -func (s *GetSceneOutput) SetError(v *SceneError) *GetSceneOutput { - s.Error = v - return s + // Filter by component type. + FilterByComponentType *FilterByComponentType `locationName:"filterByComponentType" type:"structure"` + + // Filter by entity. + FilterByEntity *FilterByEntity `locationName:"filterByEntity" type:"structure"` } -// SetGeneratedSceneMetadata sets the GeneratedSceneMetadata field's value. -func (s *GetSceneOutput) SetGeneratedSceneMetadata(v map[string]*string) *GetSceneOutput { - s.GeneratedSceneMetadata = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IotTwinMakerSourceConfigurationFilter) String() string { + return awsutil.Prettify(s) } -// SetSceneId sets the SceneId field's value. -func (s *GetSceneOutput) SetSceneId(v string) *GetSceneOutput { - s.SceneId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IotTwinMakerSourceConfigurationFilter) GoString() string { + return s.String() } -// SetSceneMetadata sets the SceneMetadata field's value. -func (s *GetSceneOutput) SetSceneMetadata(v map[string]*string) *GetSceneOutput { - s.SceneMetadata = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotTwinMakerSourceConfigurationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotTwinMakerSourceConfigurationFilter"} + if s.FilterByComponentType != nil { + if err := s.FilterByComponentType.Validate(); err != nil { + invalidParams.AddNested("FilterByComponentType", err.(request.ErrInvalidParams)) + } + } + if s.FilterByEntity != nil { + if err := s.FilterByEntity.Validate(); err != nil { + invalidParams.AddNested("FilterByEntity", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *GetSceneOutput) SetUpdateDateTime(v time.Time) *GetSceneOutput { - s.UpdateDateTime = &v +// SetFilterByComponentType sets the FilterByComponentType field's value. +func (s *IotTwinMakerSourceConfigurationFilter) SetFilterByComponentType(v *FilterByComponentType) *IotTwinMakerSourceConfigurationFilter { + s.FilterByComponentType = v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetSceneOutput) SetWorkspaceId(v string) *GetSceneOutput { - s.WorkspaceId = &v +// SetFilterByEntity sets the FilterByEntity field's value. +func (s *IotTwinMakerSourceConfigurationFilter) SetFilterByEntity(v *FilterByEntity) *IotTwinMakerSourceConfigurationFilter { + s.FilterByEntity = v return s } -type GetSyncJobInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The Lambda function. +type LambdaFunction struct { + _ struct{} `type:"structure"` - // The sync source. - // - // Currently the only supported syncSource is SITEWISE . + // The ARN of the Lambda function. // - // SyncSource is a required field - SyncSource *string `location:"uri" locationName:"syncSource" type:"string" required:"true"` - - // The workspace ID. - WorkspaceId *string `location:"querystring" locationName:"workspace" min:"1" type:"string"` + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` } // String returns the string representation. @@ -8061,7 +10776,7 @@ type GetSyncJobInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSyncJobInput) String() string { +func (s LambdaFunction) String() string { return awsutil.Prettify(s) } @@ -8070,21 +10785,18 @@ func (s GetSyncJobInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSyncJobInput) GoString() string { +func (s LambdaFunction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSyncJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSyncJobInput"} - if s.SyncSource == nil { - invalidParams.Add(request.NewErrParamRequired("SyncSource")) - } - if s.SyncSource != nil && len(*s.SyncSource) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SyncSource", 1)) +func (s *LambdaFunction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunction"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) } if invalidParams.Len() > 0 { @@ -8093,57 +10805,27 @@ func (s *GetSyncJobInput) Validate() error { return nil } -// SetSyncSource sets the SyncSource field's value. -func (s *GetSyncJobInput) SetSyncSource(v string) *GetSyncJobInput { - s.SyncSource = &v - return s -} - -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetSyncJobInput) SetWorkspaceId(v string) *GetSyncJobInput { - s.WorkspaceId = &v +// SetArn sets the Arn field's value. +func (s *LambdaFunction) SetArn(v string) *LambdaFunction { + s.Arn = &v return s } -type GetSyncJobOutput struct { +// An object that filters items in a list of component types. +// +// Only one object is accepted as a valid input. +type ListComponentTypesFilter struct { _ struct{} `type:"structure"` - // The sync job ARN. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` - - // The creation date and time. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` - - // The SyncJob response status. - // - // Status is a required field - Status *SyncJobStatus `locationName:"status" type:"structure" required:"true"` - - // The sync IAM role. - // - // SyncRole is a required field - SyncRole *string `locationName:"syncRole" min:"20" type:"string" required:"true"` - - // The sync soucre. - // - // Currently the only supported syncSource is SITEWISE . - // - // SyncSource is a required field - SyncSource *string `locationName:"syncSource" type:"string" required:"true"` + // The component type that the component types in the list extend. + ExtendsFrom *string `locationName:"extendsFrom" min:"1" type:"string"` - // The update date and time. - // - // UpdateDateTime is a required field - UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + // A Boolean value that specifies whether the component types in the list are + // abstract. + IsAbstract *bool `locationName:"isAbstract" type:"boolean"` - // The ID of the workspace that contains the sync job. - // - // WorkspaceId is a required field - WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` + // The namespace to which the component types in the list belong. + Namespace *string `locationName:"namespace" min:"1" type:"string"` } // String returns the string representation. @@ -8151,7 +10833,7 @@ type GetSyncJobOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSyncJobOutput) String() string { +func (s ListComponentTypesFilter) String() string { return awsutil.Prettify(s) } @@ -8160,54 +10842,57 @@ func (s GetSyncJobOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSyncJobOutput) GoString() string { +func (s ListComponentTypesFilter) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *GetSyncJobOutput) SetArn(v string) *GetSyncJobOutput { - s.Arn = &v - return s -} - -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *GetSyncJobOutput) SetCreationDateTime(v time.Time) *GetSyncJobOutput { - s.CreationDateTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentTypesFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentTypesFilter"} + if s.ExtendsFrom != nil && len(*s.ExtendsFrom) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExtendsFrom", 1)) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } -// SetStatus sets the Status field's value. -func (s *GetSyncJobOutput) SetStatus(v *SyncJobStatus) *GetSyncJobOutput { - s.Status = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSyncRole sets the SyncRole field's value. -func (s *GetSyncJobOutput) SetSyncRole(v string) *GetSyncJobOutput { - s.SyncRole = &v +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *ListComponentTypesFilter) SetExtendsFrom(v string) *ListComponentTypesFilter { + s.ExtendsFrom = &v return s } -// SetSyncSource sets the SyncSource field's value. -func (s *GetSyncJobOutput) SetSyncSource(v string) *GetSyncJobOutput { - s.SyncSource = &v +// SetIsAbstract sets the IsAbstract field's value. +func (s *ListComponentTypesFilter) SetIsAbstract(v bool) *ListComponentTypesFilter { + s.IsAbstract = &v return s } -// SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *GetSyncJobOutput) SetUpdateDateTime(v time.Time) *GetSyncJobOutput { - s.UpdateDateTime = &v +// SetNamespace sets the Namespace field's value. +func (s *ListComponentTypesFilter) SetNamespace(v string) *ListComponentTypesFilter { + s.Namespace = &v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetSyncJobOutput) SetWorkspaceId(v string) *GetSyncJobOutput { - s.WorkspaceId = &v - return s -} +type ListComponentTypesInput struct { + _ struct{} `type:"structure"` -type GetWorkspaceInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // A list of objects that filter the request. + Filters []*ListComponentTypesFilter `locationName:"filters" type:"list"` + + // The maximum number of results to return at one time. The default is 25. + // + // Valid Range: Minimum value of 1. Maximum value of 250. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` // The ID of the workspace. // @@ -8220,7 +10905,7 @@ type GetWorkspaceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkspaceInput) String() string { +func (s ListComponentTypesInput) String() string { return awsutil.Prettify(s) } @@ -8229,19 +10914,29 @@ func (s GetWorkspaceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkspaceInput) GoString() string { +func (s ListComponentTypesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetWorkspaceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetWorkspaceInput"} +func (s *ListComponentTypesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentTypesInput"} if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8249,43 +10944,43 @@ func (s *GetWorkspaceInput) Validate() error { return nil } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetWorkspaceInput) SetWorkspaceId(v string) *GetWorkspaceInput { - s.WorkspaceId = &v +// SetFilters sets the Filters field's value. +func (s *ListComponentTypesInput) SetFilters(v []*ListComponentTypesFilter) *ListComponentTypesInput { + s.Filters = v return s } -type GetWorkspaceOutput struct { - _ struct{} `type:"structure"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentTypesInput) SetMaxResults(v int64) *ListComponentTypesInput { + s.MaxResults = &v + return s +} - // The ARN of the workspace. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListComponentTypesInput) SetNextToken(v string) *ListComponentTypesInput { + s.NextToken = &v + return s +} - // The date and time when the workspace was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListComponentTypesInput) SetWorkspaceId(v string) *ListComponentTypesInput { + s.WorkspaceId = &v + return s +} - // The description of the workspace. - Description *string `locationName:"description" type:"string"` +type ListComponentTypesOutput struct { + _ struct{} `type:"structure"` - // The ARN of the execution role associated with the workspace. + // A list of objects that contain information about the component types. // - // Role is a required field - Role *string `locationName:"role" min:"20" type:"string" required:"true"` + // ComponentTypeSummaries is a required field + ComponentTypeSummaries []*ComponentTypeSummary `locationName:"componentTypeSummaries" type:"list" required:"true"` - // The ARN of the S3 bucket where resources associated with the workspace are - // stored. - // - // S3Location is a required field - S3Location *string `locationName:"s3Location" type:"string" required:"true"` + // Specifies the maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The date and time when the workspace was last updated. - // - // UpdateDateTime is a required field - UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` // The ID of the workspace. // @@ -8298,7 +10993,7 @@ type GetWorkspaceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkspaceOutput) String() string { +func (s ListComponentTypesOutput) String() string { return awsutil.Prettify(s) } @@ -8307,58 +11002,57 @@ func (s GetWorkspaceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkspaceOutput) GoString() string { +func (s ListComponentTypesOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *GetWorkspaceOutput) SetArn(v string) *GetWorkspaceOutput { - s.Arn = &v +// SetComponentTypeSummaries sets the ComponentTypeSummaries field's value. +func (s *ListComponentTypesOutput) SetComponentTypeSummaries(v []*ComponentTypeSummary) *ListComponentTypesOutput { + s.ComponentTypeSummaries = v return s } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *GetWorkspaceOutput) SetCreationDateTime(v time.Time) *GetWorkspaceOutput { - s.CreationDateTime = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentTypesOutput) SetMaxResults(v int64) *ListComponentTypesOutput { + s.MaxResults = &v return s } -// SetDescription sets the Description field's value. -func (s *GetWorkspaceOutput) SetDescription(v string) *GetWorkspaceOutput { - s.Description = &v +// SetNextToken sets the NextToken field's value. +func (s *ListComponentTypesOutput) SetNextToken(v string) *ListComponentTypesOutput { + s.NextToken = &v return s } -// SetRole sets the Role field's value. -func (s *GetWorkspaceOutput) SetRole(v string) *GetWorkspaceOutput { - s.Role = &v +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListComponentTypesOutput) SetWorkspaceId(v string) *ListComponentTypesOutput { + s.WorkspaceId = &v return s } -// SetS3Location sets the S3Location field's value. -func (s *GetWorkspaceOutput) SetS3Location(v string) *GetWorkspaceOutput { - s.S3Location = &v - return s -} +type ListComponentsInput struct { + _ struct{} `type:"structure"` -// SetUpdateDateTime sets the UpdateDateTime field's value. -func (s *GetWorkspaceOutput) SetUpdateDateTime(v time.Time) *GetWorkspaceOutput { - s.UpdateDateTime = &v - return s -} + // This string specifies the path to the composite component, starting from + // the top-level component. + ComponentPath *string `locationName:"componentPath" min:"1" type:"string"` -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *GetWorkspaceOutput) SetWorkspaceId(v string) *GetWorkspaceOutput { - s.WorkspaceId = &v - return s -} + // The ID for the entity whose metadata (component/properties) is returned by + // the operation. + // + // EntityId is a required field + EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` -// An unexpected error has occurred. -type InternalServerException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The maximum number of results returned at one time. The default is 25. + MaxResults *int64 `locationName:"maxResults" type:"integer"` - Message_ *string `locationName:"message" type:"string"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The workspace ID. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -8366,7 +11060,7 @@ type InternalServerException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) String() string { +func (s ListComponentsInput) String() string { return awsutil.Prettify(s) } @@ -8375,97 +11069,75 @@ func (s InternalServerException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) GoString() string { +func (s ListComponentsInput) GoString() string { return s.String() } -func newErrorInternalServerException(v protocol.ResponseMetadata) error { - return &InternalServerException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} + if s.ComponentPath != nil && len(*s.ComponentPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentPath", 1)) } -} - -// Code returns the exception type name. -func (s *InternalServerException) Code() string { - return "InternalServerException" -} - -// Message returns the exception's message. -func (s *InternalServerException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InternalServerException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServerException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { - return s.RespMetadata.RequestID -} - -// An object that specifies how to interpolate data in a list. -type InterpolationParameters struct { - _ struct{} `type:"structure"` - - // The interpolation type. - InterpolationType *string `locationName:"interpolationType" type:"string" enum:"InterpolationType"` - - // The interpolation time interval in seconds. - IntervalInSeconds *int64 `locationName:"intervalInSeconds" type:"long"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s InterpolationParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s InterpolationParameters) GoString() string { - return s.String() +// SetComponentPath sets the ComponentPath field's value. +func (s *ListComponentsInput) SetComponentPath(v string) *ListComponentsInput { + s.ComponentPath = &v + return s } -// SetInterpolationType sets the InterpolationType field's value. -func (s *InterpolationParameters) SetInterpolationType(v string) *InterpolationParameters { - s.InterpolationType = &v +// SetEntityId sets the EntityId field's value. +func (s *ListComponentsInput) SetEntityId(v string) *ListComponentsInput { + s.EntityId = &v return s } -// SetIntervalInSeconds sets the IntervalInSeconds field's value. -func (s *InterpolationParameters) SetIntervalInSeconds(v int64) *InterpolationParameters { - s.IntervalInSeconds = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { + s.MaxResults = &v return s } -// The Lambda function. -type LambdaFunction struct { +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { + s.NextToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListComponentsInput) SetWorkspaceId(v string) *ListComponentsInput { + s.WorkspaceId = &v + return s +} + +type ListComponentsOutput struct { _ struct{} `type:"structure"` - // The ARN of the Lambda function. + // A list of objects that contain information about the components. // - // Arn is a required field - Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + // ComponentSummaries is a required field + ComponentSummaries []*ComponentSummary `locationName:"componentSummaries" type:"list" required:"true"` + + // The string that specifies the next page of component results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -8473,7 +11145,7 @@ type LambdaFunction struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunction) String() string { +func (s ListComponentsOutput) String() string { return awsutil.Prettify(s) } @@ -8482,47 +11154,35 @@ func (s LambdaFunction) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunction) GoString() string { +func (s ListComponentsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaFunction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaFunction"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetComponentSummaries sets the ComponentSummaries field's value. +func (s *ListComponentsOutput) SetComponentSummaries(v []*ComponentSummary) *ListComponentsOutput { + s.ComponentSummaries = v + return s } -// SetArn sets the Arn field's value. -func (s *LambdaFunction) SetArn(v string) *LambdaFunction { - s.Arn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { + s.NextToken = &v return s } -// An object that filters items in a list of component types. -// -// Only one object is accepted as a valid input. -type ListComponentTypesFilter struct { +// An object that filters items in a list of entities. +type ListEntitiesFilter struct { _ struct{} `type:"structure"` - // The component type that the component types in the list extend. - ExtendsFrom *string `locationName:"extendsFrom" min:"1" type:"string"` + // The ID of the component type in the entities in the list. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` - // A Boolean value that specifies whether the component types in the list are - // abstract. - IsAbstract *bool `locationName:"isAbstract" type:"boolean"` + // The external-Id property of a component. The external-Id property is the + // primary key of an external storage system. + ExternalId *string `locationName:"externalId" min:"1" type:"string"` - // The namespace to which the component types in the list belong. - Namespace *string `locationName:"namespace" min:"1" type:"string"` + // The parent of the entities in the list. + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` } // String returns the string representation. @@ -8530,7 +11190,7 @@ type ListComponentTypesFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentTypesFilter) String() string { +func (s ListEntitiesFilter) String() string { return awsutil.Prettify(s) } @@ -8539,18 +11199,21 @@ func (s ListComponentTypesFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentTypesFilter) GoString() string { +func (s ListEntitiesFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListComponentTypesFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComponentTypesFilter"} - if s.ExtendsFrom != nil && len(*s.ExtendsFrom) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExtendsFrom", 1)) +func (s *ListEntitiesFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEntitiesFilter"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.ExternalId != nil && len(*s.ExternalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) + } + if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) } if invalidParams.Len() > 0 { @@ -8559,29 +11222,31 @@ func (s *ListComponentTypesFilter) Validate() error { return nil } -// SetExtendsFrom sets the ExtendsFrom field's value. -func (s *ListComponentTypesFilter) SetExtendsFrom(v string) *ListComponentTypesFilter { - s.ExtendsFrom = &v +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ListEntitiesFilter) SetComponentTypeId(v string) *ListEntitiesFilter { + s.ComponentTypeId = &v return s } -// SetIsAbstract sets the IsAbstract field's value. -func (s *ListComponentTypesFilter) SetIsAbstract(v bool) *ListComponentTypesFilter { - s.IsAbstract = &v +// SetExternalId sets the ExternalId field's value. +func (s *ListEntitiesFilter) SetExternalId(v string) *ListEntitiesFilter { + s.ExternalId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListComponentTypesFilter) SetNamespace(v string) *ListComponentTypesFilter { - s.Namespace = &v +// SetParentEntityId sets the ParentEntityId field's value. +func (s *ListEntitiesFilter) SetParentEntityId(v string) *ListEntitiesFilter { + s.ParentEntityId = &v return s } -type ListComponentTypesInput struct { +type ListEntitiesInput struct { _ struct{} `type:"structure"` // A list of objects that filter the request. - Filters []*ListComponentTypesFilter `locationName:"filters" type:"list"` + // + // Only one object is accepted as a valid input. + Filters []*ListEntitiesFilter `locationName:"filters" type:"list"` // The maximum number of results to return at one time. The default is 25. // @@ -8602,7 +11267,7 @@ type ListComponentTypesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentTypesInput) String() string { +func (s ListEntitiesInput) String() string { return awsutil.Prettify(s) } @@ -8611,13 +11276,13 @@ func (s ListComponentTypesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentTypesInput) GoString() string { +func (s ListEntitiesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListComponentTypesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComponentTypesInput"} +func (s *ListEntitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"} if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } @@ -8642,47 +11307,144 @@ func (s *ListComponentTypesInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListComponentTypesInput) SetFilters(v []*ListComponentTypesFilter) *ListComponentTypesInput { +func (s *ListEntitiesInput) SetFilters(v []*ListEntitiesFilter) *ListEntitiesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListComponentTypesInput) SetMaxResults(v int64) *ListComponentTypesInput { +func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentTypesInput) SetNextToken(v string) *ListComponentTypesInput { +func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput { s.NextToken = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *ListComponentTypesInput) SetWorkspaceId(v string) *ListComponentTypesInput { +func (s *ListEntitiesInput) SetWorkspaceId(v string) *ListEntitiesInput { s.WorkspaceId = &v return s } -type ListComponentTypesOutput struct { +type ListEntitiesOutput struct { _ struct{} `type:"structure"` - // A list of objects that contain information about the component types. + // A list of objects that contain information about the entities. + EntitySummaries []*EntitySummary `locationName:"entitySummaries" type:"list"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEntitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEntitiesOutput) GoString() string { + return s.String() +} + +// SetEntitySummaries sets the EntitySummaries field's value. +func (s *ListEntitiesOutput) SetEntitySummaries(v []*EntitySummary) *ListEntitiesOutput { + s.EntitySummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput { + s.NextToken = &v + return s +} + +// The ListMetadataTransferJobs filter. +type ListMetadataTransferJobsFilter struct { + _ struct{} `type:"structure"` + + // The filter state. + State *string `locationName:"state" type:"string" enum:"MetadataTransferJobState"` + + // The workspace Id. + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMetadataTransferJobsFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMetadataTransferJobsFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMetadataTransferJobsFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMetadataTransferJobsFilter"} + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetState sets the State field's value. +func (s *ListMetadataTransferJobsFilter) SetState(v string) *ListMetadataTransferJobsFilter { + s.State = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListMetadataTransferJobsFilter) SetWorkspaceId(v string) *ListMetadataTransferJobsFilter { + s.WorkspaceId = &v + return s +} + +type ListMetadataTransferJobsInput struct { + _ struct{} `type:"structure"` + + // The metadata transfer job's destination type. // - // ComponentTypeSummaries is a required field - ComponentTypeSummaries []*ComponentTypeSummary `locationName:"componentTypeSummaries" type:"list" required:"true"` + // DestinationType is a required field + DestinationType *string `locationName:"destinationType" type:"string" required:"true" enum:"DestinationType"` - // Specifies the maximum number of results to display. + // An object that filters metadata transfer jobs. + Filters []*ListMetadataTransferJobsFilter `locationName:"filters" type:"list"` + + // The maximum number of results to return at one time. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The string that specifies the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // The ID of the workspace. + // The metadata transfer job's source type. // - // WorkspaceId is a required field - WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` + // SourceType is a required field + SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"SourceType"` } // String returns the string representation. @@ -8690,7 +11452,7 @@ type ListComponentTypesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentTypesOutput) String() string { +func (s ListMetadataTransferJobsInput) String() string { return awsutil.Prettify(s) } @@ -8699,47 +11461,76 @@ func (s ListComponentTypesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentTypesOutput) GoString() string { +func (s ListMetadataTransferJobsInput) GoString() string { return s.String() } -// SetComponentTypeSummaries sets the ComponentTypeSummaries field's value. -func (s *ListComponentTypesOutput) SetComponentTypeSummaries(v []*ComponentTypeSummary) *ListComponentTypesOutput { - s.ComponentTypeSummaries = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMetadataTransferJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMetadataTransferJobsInput"} + if s.DestinationType == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationType")) + } + if s.SourceType == nil { + invalidParams.Add(request.NewErrParamRequired("SourceType")) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationType sets the DestinationType field's value. +func (s *ListMetadataTransferJobsInput) SetDestinationType(v string) *ListMetadataTransferJobsInput { + s.DestinationType = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *ListMetadataTransferJobsInput) SetFilters(v []*ListMetadataTransferJobsFilter) *ListMetadataTransferJobsInput { + s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListComponentTypesOutput) SetMaxResults(v int64) *ListComponentTypesOutput { +func (s *ListMetadataTransferJobsInput) SetMaxResults(v int64) *ListMetadataTransferJobsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentTypesOutput) SetNextToken(v string) *ListComponentTypesOutput { +func (s *ListMetadataTransferJobsInput) SetNextToken(v string) *ListMetadataTransferJobsInput { s.NextToken = &v return s } -// SetWorkspaceId sets the WorkspaceId field's value. -func (s *ListComponentTypesOutput) SetWorkspaceId(v string) *ListComponentTypesOutput { - s.WorkspaceId = &v +// SetSourceType sets the SourceType field's value. +func (s *ListMetadataTransferJobsInput) SetSourceType(v string) *ListMetadataTransferJobsInput { + s.SourceType = &v return s } -// An object that filters items in a list of entities. -type ListEntitiesFilter struct { +type ListMetadataTransferJobsOutput struct { _ struct{} `type:"structure"` - // The ID of the component type in the entities in the list. - ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` - - // The external-Id property of a component. The external-Id property is the - // primary key of an external storage system. - ExternalId *string `locationName:"externalId" min:"1" type:"string"` + // The metadata transfer job summaries. + // + // MetadataTransferJobSummaries is a required field + MetadataTransferJobSummaries []*MetadataTransferJobSummary `locationName:"metadataTransferJobSummaries" type:"list" required:"true"` - // The parent of the entities in the list. - ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -8747,7 +11538,7 @@ type ListEntitiesFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesFilter) String() string { +func (s ListMetadataTransferJobsOutput) String() string { return awsutil.Prettify(s) } @@ -8756,64 +11547,45 @@ func (s ListEntitiesFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesFilter) GoString() string { +func (s ListMetadataTransferJobsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListEntitiesFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListEntitiesFilter"} - if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) - } - if s.ExternalId != nil && len(*s.ExternalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) - } - if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetComponentTypeId sets the ComponentTypeId field's value. -func (s *ListEntitiesFilter) SetComponentTypeId(v string) *ListEntitiesFilter { - s.ComponentTypeId = &v - return s -} - -// SetExternalId sets the ExternalId field's value. -func (s *ListEntitiesFilter) SetExternalId(v string) *ListEntitiesFilter { - s.ExternalId = &v +// SetMetadataTransferJobSummaries sets the MetadataTransferJobSummaries field's value. +func (s *ListMetadataTransferJobsOutput) SetMetadataTransferJobSummaries(v []*MetadataTransferJobSummary) *ListMetadataTransferJobsOutput { + s.MetadataTransferJobSummaries = v return s } -// SetParentEntityId sets the ParentEntityId field's value. -func (s *ListEntitiesFilter) SetParentEntityId(v string) *ListEntitiesFilter { - s.ParentEntityId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListMetadataTransferJobsOutput) SetNextToken(v string) *ListMetadataTransferJobsOutput { + s.NextToken = &v return s } -type ListEntitiesInput struct { +type ListPropertiesInput struct { _ struct{} `type:"structure"` - // A list of objects that filter the request. - // - // Only one object is accepted as a valid input. - Filters []*ListEntitiesFilter `locationName:"filters" type:"list"` + // The name of the component whose properties are returned by the operation. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` - // The maximum number of results to return at one time. The default is 25. + // This string specifies the path to the composite component, starting from + // the top-level component. + ComponentPath *string `locationName:"componentPath" min:"1" type:"string"` + + // The ID for the entity whose metadata (component/properties) is returned by + // the operation. // - // Valid Range: Minimum value of 1. Maximum value of 250. + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` + + // The maximum number of results returned at one time. The default is 25. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The string that specifies the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // The ID of the workspace. + // The workspace ID. // // WorkspaceId is a required field WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` @@ -8824,7 +11596,7 @@ type ListEntitiesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesInput) String() string { +func (s ListPropertiesInput) String() string { return awsutil.Prettify(s) } @@ -8833,29 +11605,31 @@ func (s ListEntitiesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesInput) GoString() string { +func (s ListPropertiesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListEntitiesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"} +func (s *ListPropertiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPropertiesInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentPath != nil && len(*s.ComponentPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentPath", 1)) + } + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } if s.WorkspaceId == nil { invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) } if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -8863,38 +11637,52 @@ func (s *ListEntitiesInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListEntitiesInput) SetFilters(v []*ListEntitiesFilter) *ListEntitiesInput { - s.Filters = v +// SetComponentName sets the ComponentName field's value. +func (s *ListPropertiesInput) SetComponentName(v string) *ListPropertiesInput { + s.ComponentName = &v + return s +} + +// SetComponentPath sets the ComponentPath field's value. +func (s *ListPropertiesInput) SetComponentPath(v string) *ListPropertiesInput { + s.ComponentPath = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *ListPropertiesInput) SetEntityId(v string) *ListPropertiesInput { + s.EntityId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput { +func (s *ListPropertiesInput) SetMaxResults(v int64) *ListPropertiesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput { +func (s *ListPropertiesInput) SetNextToken(v string) *ListPropertiesInput { s.NextToken = &v return s } // SetWorkspaceId sets the WorkspaceId field's value. -func (s *ListEntitiesInput) SetWorkspaceId(v string) *ListEntitiesInput { +func (s *ListPropertiesInput) SetWorkspaceId(v string) *ListPropertiesInput { s.WorkspaceId = &v return s } -type ListEntitiesOutput struct { +type ListPropertiesOutput struct { _ struct{} `type:"structure"` - // A list of objects that contain information about the entities. - EntitySummaries []*EntitySummary `locationName:"entitySummaries" type:"list"` - - // The string that specifies the next page of results. + // The string that specifies the next page of property results. NextToken *string `locationName:"nextToken" type:"string"` + + // A list of objects that contain information about the properties. + // + // PropertySummaries is a required field + PropertySummaries []*PropertySummary `locationName:"propertySummaries" type:"list" required:"true"` } // String returns the string representation. @@ -8902,7 +11690,7 @@ type ListEntitiesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesOutput) String() string { +func (s ListPropertiesOutput) String() string { return awsutil.Prettify(s) } @@ -8911,19 +11699,19 @@ func (s ListEntitiesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesOutput) GoString() string { +func (s ListPropertiesOutput) GoString() string { return s.String() } -// SetEntitySummaries sets the EntitySummaries field's value. -func (s *ListEntitiesOutput) SetEntitySummaries(v []*EntitySummary) *ListEntitiesOutput { - s.EntitySummaries = v +// SetNextToken sets the NextToken field's value. +func (s *ListPropertiesOutput) SetNextToken(v string) *ListPropertiesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput { - s.NextToken = &v +// SetPropertySummaries sets the PropertySummaries field's value. +func (s *ListPropertiesOutput) SetPropertySummaries(v []*PropertySummary) *ListPropertiesOutput { + s.PropertySummaries = v return s } @@ -9477,15 +12265,211 @@ func (s ListWorkspacesOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListWorkspacesOutput) SetNextToken(v string) *ListWorkspacesOutput { - s.NextToken = &v +// SetNextToken sets the NextToken field's value. +func (s *ListWorkspacesOutput) SetNextToken(v string) *ListWorkspacesOutput { + s.NextToken = &v + return s +} + +// SetWorkspaceSummaries sets the WorkspaceSummaries field's value. +func (s *ListWorkspacesOutput) SetWorkspaceSummaries(v []*WorkspaceSummary) *ListWorkspacesOutput { + s.WorkspaceSummaries = v + return s +} + +// The metadata transfer job's progress. +type MetadataTransferJobProgress struct { + _ struct{} `type:"structure"` + + // The failed count. + FailedCount *int64 `locationName:"failedCount" type:"integer"` + + // The skipped count. + SkippedCount *int64 `locationName:"skippedCount" type:"integer"` + + // The succeeded count. + SucceededCount *int64 `locationName:"succeededCount" type:"integer"` + + // The total count. [of what] + TotalCount *int64 `locationName:"totalCount" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataTransferJobProgress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataTransferJobProgress) GoString() string { + return s.String() +} + +// SetFailedCount sets the FailedCount field's value. +func (s *MetadataTransferJobProgress) SetFailedCount(v int64) *MetadataTransferJobProgress { + s.FailedCount = &v + return s +} + +// SetSkippedCount sets the SkippedCount field's value. +func (s *MetadataTransferJobProgress) SetSkippedCount(v int64) *MetadataTransferJobProgress { + s.SkippedCount = &v + return s +} + +// SetSucceededCount sets the SucceededCount field's value. +func (s *MetadataTransferJobProgress) SetSucceededCount(v int64) *MetadataTransferJobProgress { + s.SucceededCount = &v + return s +} + +// SetTotalCount sets the TotalCount field's value. +func (s *MetadataTransferJobProgress) SetTotalCount(v int64) *MetadataTransferJobProgress { + s.TotalCount = &v + return s +} + +// The metadata transfer job status. +type MetadataTransferJobStatus struct { + _ struct{} `type:"structure"` + + // The metadata transfer job error. + Error *ErrorDetails `locationName:"error" type:"structure"` + + // The queued position. + QueuedPosition *int64 `locationName:"queuedPosition" type:"integer"` + + // The metadata transfer job state. + State *string `locationName:"state" type:"string" enum:"MetadataTransferJobState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataTransferJobStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataTransferJobStatus) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *MetadataTransferJobStatus) SetError(v *ErrorDetails) *MetadataTransferJobStatus { + s.Error = v + return s +} + +// SetQueuedPosition sets the QueuedPosition field's value. +func (s *MetadataTransferJobStatus) SetQueuedPosition(v int64) *MetadataTransferJobStatus { + s.QueuedPosition = &v + return s +} + +// SetState sets the State field's value. +func (s *MetadataTransferJobStatus) SetState(v string) *MetadataTransferJobStatus { + s.State = &v + return s +} + +// The metadata transfer job summary. +type MetadataTransferJobSummary struct { + _ struct{} `type:"structure"` + + // The metadata transfer job summary ARN. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The metadata transfer job summary creation DateTime object. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The metadata transfer job summary Id. + // + // MetadataTransferJobId is a required field + MetadataTransferJobId *string `locationName:"metadataTransferJobId" min:"1" type:"string" required:"true"` + + // The metadata transfer job summary progess. + Progress *MetadataTransferJobProgress `locationName:"progress" type:"structure"` + + // The metadata transfer job summary status. + // + // Status is a required field + Status *MetadataTransferJobStatus `locationName:"status" type:"structure" required:"true"` + + // The metadata transfer job summary update DateTime object + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataTransferJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataTransferJobSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *MetadataTransferJobSummary) SetArn(v string) *MetadataTransferJobSummary { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *MetadataTransferJobSummary) SetCreationDateTime(v time.Time) *MetadataTransferJobSummary { + s.CreationDateTime = &v + return s +} + +// SetMetadataTransferJobId sets the MetadataTransferJobId field's value. +func (s *MetadataTransferJobSummary) SetMetadataTransferJobId(v string) *MetadataTransferJobSummary { + s.MetadataTransferJobId = &v return s } -// SetWorkspaceSummaries sets the WorkspaceSummaries field's value. -func (s *ListWorkspacesOutput) SetWorkspaceSummaries(v []*WorkspaceSummary) *ListWorkspacesOutput { - s.WorkspaceSummaries = v +// SetProgress sets the Progress field's value. +func (s *MetadataTransferJobSummary) SetProgress(v *MetadataTransferJobProgress) *MetadataTransferJobSummary { + s.Progress = v + return s +} + +// SetStatus sets the Status field's value. +func (s *MetadataTransferJobSummary) SetStatus(v *MetadataTransferJobStatus) *MetadataTransferJobSummary { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *MetadataTransferJobSummary) SetUpdateDateTime(v time.Time) *MetadataTransferJobSummary { + s.UpdateDateTime = &v return s } @@ -10239,6 +13223,11 @@ func (s *PropertyRequest) SetValue(v *DataValue) *PropertyRequest { type PropertyResponse struct { _ struct{} `type:"structure"` + // This flag notes whether all values of a list or map type property are returned + // in the API response. The maximum number of values per property returned is + // 50. + AreAllPropertyValuesReturned *bool `locationName:"areAllPropertyValuesReturned" type:"boolean"` + // An object that specifies information about a property. Definition *PropertyDefinitionResponse `locationName:"definition" type:"structure"` @@ -10264,6 +13253,12 @@ func (s PropertyResponse) GoString() string { return s.String() } +// SetAreAllPropertyValuesReturned sets the AreAllPropertyValuesReturned field's value. +func (s *PropertyResponse) SetAreAllPropertyValuesReturned(v bool) *PropertyResponse { + s.AreAllPropertyValuesReturned = &v + return s +} + // SetDefinition sets the Definition field's value. func (s *PropertyResponse) SetDefinition(v *PropertyDefinitionResponse) *PropertyResponse { s.Definition = v @@ -10276,6 +13271,69 @@ func (s *PropertyResponse) SetValue(v *DataValue) *PropertyResponse { return s } +// This is an object that contains the information of a property. +type PropertySummary struct { + _ struct{} `type:"structure"` + + // This flag notes whether all values of a list or map type property are returned + // in the API response. The maximum number of values per property returned is + // 50. + AreAllPropertyValuesReturned *bool `locationName:"areAllPropertyValuesReturned" type:"boolean"` + + // This is the schema for the property. + Definition *PropertyDefinitionResponse `locationName:"definition" type:"structure"` + + // This is the name of the property. + // + // PropertyName is a required field + PropertyName *string `locationName:"propertyName" min:"1" type:"string" required:"true"` + + // This is the value for the property. + Value *DataValue `locationName:"value" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PropertySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PropertySummary) GoString() string { + return s.String() +} + +// SetAreAllPropertyValuesReturned sets the AreAllPropertyValuesReturned field's value. +func (s *PropertySummary) SetAreAllPropertyValuesReturned(v bool) *PropertySummary { + s.AreAllPropertyValuesReturned = &v + return s +} + +// SetDefinition sets the Definition field's value. +func (s *PropertySummary) SetDefinition(v *PropertyDefinitionResponse) *PropertySummary { + s.Definition = v + return s +} + +// SetPropertyName sets the PropertyName field's value. +func (s *PropertySummary) SetPropertyName(v string) *PropertySummary { + s.PropertyName = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PropertySummary) SetValue(v *DataValue) *PropertySummary { + s.Value = v + return s +} + // An object that contains information about a value for a time series property. type PropertyValue struct { _ struct{} `type:"structure"` @@ -10759,6 +13817,100 @@ func (s Row) GoString() string { return s.String() } +// The S3 destination configuration. +type S3DestinationConfiguration struct { + _ struct{} `type:"structure"` + + // The S3 destination configuration location. + // + // Location is a required field + Location *string `locationName:"location" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3DestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3DestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3DestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3DestinationConfiguration"} + if s.Location == nil { + invalidParams.Add(request.NewErrParamRequired("Location")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocation sets the Location field's value. +func (s *S3DestinationConfiguration) SetLocation(v string) *S3DestinationConfiguration { + s.Location = &v + return s +} + +// The S3 destination source configuration. +type S3SourceConfiguration struct { + _ struct{} `type:"structure"` + + // The S3 destination source configuration location. + // + // Location is a required field + Location *string `locationName:"location" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3SourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3SourceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3SourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3SourceConfiguration"} + if s.Location == nil { + invalidParams.Add(request.NewErrParamRequired("Location")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocation sets the Location field's value. +func (s *S3SourceConfiguration) SetLocation(v string) *S3SourceConfiguration { + s.Location = &v + return s +} + // The scene error. type SceneError struct { _ struct{} `type:"structure"` @@ -10951,6 +14103,95 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +// The source configuration. +type SourceConfiguration struct { + _ struct{} `type:"structure"` + + // The source configuration IoT SiteWise configuration. + IotSiteWiseConfiguration *IotSiteWiseSourceConfiguration `locationName:"iotSiteWiseConfiguration" type:"structure"` + + // The source configuration IoT TwinMaker configuration. + IotTwinMakerConfiguration *IotTwinMakerSourceConfiguration `locationName:"iotTwinMakerConfiguration" type:"structure"` + + // The source configuration S3 configuration. + S3Configuration *S3SourceConfiguration `locationName:"s3Configuration" type:"structure"` + + // The source configuration type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceConfiguration"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.IotSiteWiseConfiguration != nil { + if err := s.IotSiteWiseConfiguration.Validate(); err != nil { + invalidParams.AddNested("IotSiteWiseConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.IotTwinMakerConfiguration != nil { + if err := s.IotTwinMakerConfiguration.Validate(); err != nil { + invalidParams.AddNested("IotTwinMakerConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Configuration != nil { + if err := s.S3Configuration.Validate(); err != nil { + invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIotSiteWiseConfiguration sets the IotSiteWiseConfiguration field's value. +func (s *SourceConfiguration) SetIotSiteWiseConfiguration(v *IotSiteWiseSourceConfiguration) *SourceConfiguration { + s.IotSiteWiseConfiguration = v + return s +} + +// SetIotTwinMakerConfiguration sets the IotTwinMakerConfiguration field's value. +func (s *SourceConfiguration) SetIotTwinMakerConfiguration(v *IotTwinMakerSourceConfiguration) *SourceConfiguration { + s.IotTwinMakerConfiguration = v + return s +} + +// SetS3Configuration sets the S3Configuration field's value. +func (s *SourceConfiguration) SetS3Configuration(v *S3SourceConfiguration) *SourceConfiguration { + s.S3Configuration = v + return s +} + +// SetType sets the Type field's value. +func (s *SourceConfiguration) SetType(v string) *SourceConfiguration { + s.Type = &v + return s +} + // An object that represents the status of an entity, component, component type, // or workspace. type Status struct { @@ -11686,6 +14927,10 @@ type UpdateComponentTypeInput struct { // The component type name. ComponentTypeName *string `locationName:"componentTypeName" type:"string"` + // This is an object that maps strings to compositeComponentTypes of the componentType. + // CompositeComponentType is referenced by componentTypeId. + CompositeComponentTypes map[string]*CompositeComponentTypeRequest `locationName:"compositeComponentTypes" type:"map"` + // The description of the component type. Description *string `locationName:"description" type:"string"` @@ -11746,6 +14991,16 @@ func (s *UpdateComponentTypeInput) Validate() error { if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) } + if s.CompositeComponentTypes != nil { + for i, v := range s.CompositeComponentTypes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CompositeComponentTypes", i), err.(request.ErrInvalidParams)) + } + } + } if s.Functions != nil { for i, v := range s.Functions { if v == nil { @@ -11785,6 +15040,12 @@ func (s *UpdateComponentTypeInput) SetComponentTypeName(v string) *UpdateCompone return s } +// SetCompositeComponentTypes sets the CompositeComponentTypes field's value. +func (s *UpdateComponentTypeInput) SetCompositeComponentTypes(v map[string]*CompositeComponentTypeRequest) *UpdateComponentTypeInput { + s.CompositeComponentTypes = v + return s +} + // SetDescription sets the Description field's value. func (s *UpdateComponentTypeInput) SetDescription(v string) *UpdateComponentTypeInput { s.Description = &v @@ -11900,6 +15161,10 @@ type UpdateEntityInput struct { // string in the mapping must be unique to this object. ComponentUpdates map[string]*ComponentUpdateRequest `locationName:"componentUpdates" type:"map"` + // This is an object that maps strings to compositeComponent updates in the + // request. Each key of the map represents the componentPath of the compositeComponent. + CompositeComponentUpdates map[string]*CompositeComponentUpdateRequest `locationName:"compositeComponentUpdates" type:"map"` + // The description of the entity. Description *string `locationName:"description" type:"string"` @@ -11966,6 +15231,16 @@ func (s *UpdateEntityInput) Validate() error { } } } + if s.CompositeComponentUpdates != nil { + for i, v := range s.CompositeComponentUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CompositeComponentUpdates", i), err.(request.ErrInvalidParams)) + } + } + } if s.ParentEntityUpdate != nil { if err := s.ParentEntityUpdate.Validate(); err != nil { invalidParams.AddNested("ParentEntityUpdate", err.(request.ErrInvalidParams)) @@ -11984,6 +15259,12 @@ func (s *UpdateEntityInput) SetComponentUpdates(v map[string]*ComponentUpdateReq return s } +// SetCompositeComponentUpdates sets the CompositeComponentUpdates field's value. +func (s *UpdateEntityInput) SetCompositeComponentUpdates(v map[string]*CompositeComponentUpdateRequest) *UpdateEntityInput { + s.CompositeComponentUpdates = v + return s +} + // SetDescription sets the Description field's value. func (s *UpdateEntityInput) SetDescription(v string) *UpdateEntityInput { s.Description = &v @@ -12302,6 +15583,10 @@ type UpdateWorkspaceInput struct { // The ARN of the execution role associated with the workspace. Role *string `locationName:"role" min:"20" type:"string"` + // The ARN of the S3 bucket where resources associated with the workspace are + // stored. + S3Location *string `locationName:"s3Location" type:"string"` + // The ID of the workspace. // // WorkspaceId is a required field @@ -12357,6 +15642,12 @@ func (s *UpdateWorkspaceInput) SetRole(v string) *UpdateWorkspaceInput { return s } +// SetS3Location sets the S3Location field's value. +func (s *UpdateWorkspaceInput) SetS3Location(v string) *UpdateWorkspaceInput { + s.S3Location = &v + return s +} + // SetWorkspaceId sets the WorkspaceId field's value. func (s *UpdateWorkspaceInput) SetWorkspaceId(v string) *UpdateWorkspaceInput { s.WorkspaceId = &v @@ -12477,6 +15768,9 @@ type WorkspaceSummary struct { // The description of the workspace. Description *string `locationName:"description" type:"string"` + // A list of services that are linked to the workspace. + LinkedServices []*string `locationName:"linkedServices" type:"list"` + // The date and time when the workspace was last updated. // // UpdateDateTime is a required field @@ -12524,6 +15818,12 @@ func (s *WorkspaceSummary) SetDescription(v string) *WorkspaceSummary { return s } +// SetLinkedServices sets the LinkedServices field's value. +func (s *WorkspaceSummary) SetLinkedServices(v []*string) *WorkspaceSummary { + s.LinkedServices = v + return s +} + // SetUpdateDateTime sets the UpdateDateTime field's value. func (s *WorkspaceSummary) SetUpdateDateTime(v time.Time) *WorkspaceSummary { s.UpdateDateTime = &v @@ -12576,6 +15876,26 @@ func ComponentUpdateType_Values() []string { } } +const ( + // DestinationTypeS3 is a DestinationType enum value + DestinationTypeS3 = "s3" + + // DestinationTypeIotsitewise is a DestinationType enum value + DestinationTypeIotsitewise = "iotsitewise" + + // DestinationTypeIottwinmaker is a DestinationType enum value + DestinationTypeIottwinmaker = "iottwinmaker" +) + +// DestinationType_Values returns all elements of the DestinationType enum +func DestinationType_Values() []string { + return []string{ + DestinationTypeS3, + DestinationTypeIotsitewise, + DestinationTypeIottwinmaker, + } +} + const ( // ErrorCodeValidationError is a ErrorCode enum value ErrorCodeValidationError = "VALIDATION_ERROR" @@ -12591,6 +15911,15 @@ const ( // ErrorCodeSyncProcessingError is a ErrorCode enum value ErrorCodeSyncProcessingError = "SYNC_PROCESSING_ERROR" + + // ErrorCodeSyncDeletingError is a ErrorCode enum value + ErrorCodeSyncDeletingError = "SYNC_DELETING_ERROR" + + // ErrorCodeProcessingError is a ErrorCode enum value + ErrorCodeProcessingError = "PROCESSING_ERROR" + + // ErrorCodeCompositeComponentFailure is a ErrorCode enum value + ErrorCodeCompositeComponentFailure = "COMPOSITE_COMPONENT_FAILURE" ) // ErrorCode_Values returns all elements of the ErrorCode enum @@ -12601,6 +15930,9 @@ func ErrorCode_Values() []string { ErrorCodeSyncInitializingError, ErrorCodeSyncCreatingError, ErrorCodeSyncProcessingError, + ErrorCodeSyncDeletingError, + ErrorCodeProcessingError, + ErrorCodeCompositeComponentFailure, } } @@ -12628,6 +15960,42 @@ func InterpolationType_Values() []string { } } +const ( + // MetadataTransferJobStateValidating is a MetadataTransferJobState enum value + MetadataTransferJobStateValidating = "VALIDATING" + + // MetadataTransferJobStatePending is a MetadataTransferJobState enum value + MetadataTransferJobStatePending = "PENDING" + + // MetadataTransferJobStateRunning is a MetadataTransferJobState enum value + MetadataTransferJobStateRunning = "RUNNING" + + // MetadataTransferJobStateCancelling is a MetadataTransferJobState enum value + MetadataTransferJobStateCancelling = "CANCELLING" + + // MetadataTransferJobStateError is a MetadataTransferJobState enum value + MetadataTransferJobStateError = "ERROR" + + // MetadataTransferJobStateCompleted is a MetadataTransferJobState enum value + MetadataTransferJobStateCompleted = "COMPLETED" + + // MetadataTransferJobStateCancelled is a MetadataTransferJobState enum value + MetadataTransferJobStateCancelled = "CANCELLED" +) + +// MetadataTransferJobState_Values returns all elements of the MetadataTransferJobState enum +func MetadataTransferJobState_Values() []string { + return []string{ + MetadataTransferJobStateValidating, + MetadataTransferJobStatePending, + MetadataTransferJobStateRunning, + MetadataTransferJobStateCancelling, + MetadataTransferJobStateError, + MetadataTransferJobStateCompleted, + MetadataTransferJobStateCancelled, + } +} + const ( // OrderAscending is a Order enum value OrderAscending = "ASCENDING" @@ -12788,6 +16156,26 @@ func Scope_Values() []string { } } +const ( + // SourceTypeS3 is a SourceType enum value + SourceTypeS3 = "s3" + + // SourceTypeIotsitewise is a SourceType enum value + SourceTypeIotsitewise = "iotsitewise" + + // SourceTypeIottwinmaker is a SourceType enum value + SourceTypeIottwinmaker = "iottwinmaker" +) + +// SourceType_Values returns all elements of the SourceType enum +func SourceType_Values() []string { + return []string{ + SourceTypeS3, + SourceTypeIotsitewise, + SourceTypeIottwinmaker, + } +} + const ( // StateCreating is a State enum value StateCreating = "CREATING" diff --git a/service/iottwinmaker/iottwinmakeriface/interface.go b/service/iottwinmaker/iottwinmakeriface/interface.go index 1dcb29ff851..fd7b2b9be3f 100644 --- a/service/iottwinmaker/iottwinmakeriface/interface.go +++ b/service/iottwinmaker/iottwinmakeriface/interface.go @@ -64,6 +64,10 @@ type IoTTwinMakerAPI interface { BatchPutPropertyValuesWithContext(aws.Context, *iottwinmaker.BatchPutPropertyValuesInput, ...request.Option) (*iottwinmaker.BatchPutPropertyValuesOutput, error) BatchPutPropertyValuesRequest(*iottwinmaker.BatchPutPropertyValuesInput) (*request.Request, *iottwinmaker.BatchPutPropertyValuesOutput) + CancelMetadataTransferJob(*iottwinmaker.CancelMetadataTransferJobInput) (*iottwinmaker.CancelMetadataTransferJobOutput, error) + CancelMetadataTransferJobWithContext(aws.Context, *iottwinmaker.CancelMetadataTransferJobInput, ...request.Option) (*iottwinmaker.CancelMetadataTransferJobOutput, error) + CancelMetadataTransferJobRequest(*iottwinmaker.CancelMetadataTransferJobInput) (*request.Request, *iottwinmaker.CancelMetadataTransferJobOutput) + CreateComponentType(*iottwinmaker.CreateComponentTypeInput) (*iottwinmaker.CreateComponentTypeOutput, error) CreateComponentTypeWithContext(aws.Context, *iottwinmaker.CreateComponentTypeInput, ...request.Option) (*iottwinmaker.CreateComponentTypeOutput, error) CreateComponentTypeRequest(*iottwinmaker.CreateComponentTypeInput) (*request.Request, *iottwinmaker.CreateComponentTypeOutput) @@ -72,6 +76,10 @@ type IoTTwinMakerAPI interface { CreateEntityWithContext(aws.Context, *iottwinmaker.CreateEntityInput, ...request.Option) (*iottwinmaker.CreateEntityOutput, error) CreateEntityRequest(*iottwinmaker.CreateEntityInput) (*request.Request, *iottwinmaker.CreateEntityOutput) + CreateMetadataTransferJob(*iottwinmaker.CreateMetadataTransferJobInput) (*iottwinmaker.CreateMetadataTransferJobOutput, error) + CreateMetadataTransferJobWithContext(aws.Context, *iottwinmaker.CreateMetadataTransferJobInput, ...request.Option) (*iottwinmaker.CreateMetadataTransferJobOutput, error) + CreateMetadataTransferJobRequest(*iottwinmaker.CreateMetadataTransferJobInput) (*request.Request, *iottwinmaker.CreateMetadataTransferJobOutput) + CreateScene(*iottwinmaker.CreateSceneInput) (*iottwinmaker.CreateSceneOutput, error) CreateSceneWithContext(aws.Context, *iottwinmaker.CreateSceneInput, ...request.Option) (*iottwinmaker.CreateSceneOutput, error) CreateSceneRequest(*iottwinmaker.CreateSceneInput) (*request.Request, *iottwinmaker.CreateSceneOutput) @@ -119,6 +127,10 @@ type IoTTwinMakerAPI interface { GetEntityWithContext(aws.Context, *iottwinmaker.GetEntityInput, ...request.Option) (*iottwinmaker.GetEntityOutput, error) GetEntityRequest(*iottwinmaker.GetEntityInput) (*request.Request, *iottwinmaker.GetEntityOutput) + GetMetadataTransferJob(*iottwinmaker.GetMetadataTransferJobInput) (*iottwinmaker.GetMetadataTransferJobOutput, error) + GetMetadataTransferJobWithContext(aws.Context, *iottwinmaker.GetMetadataTransferJobInput, ...request.Option) (*iottwinmaker.GetMetadataTransferJobOutput, error) + GetMetadataTransferJobRequest(*iottwinmaker.GetMetadataTransferJobInput) (*request.Request, *iottwinmaker.GetMetadataTransferJobOutput) + GetPricingPlan(*iottwinmaker.GetPricingPlanInput) (*iottwinmaker.GetPricingPlanOutput, error) GetPricingPlanWithContext(aws.Context, *iottwinmaker.GetPricingPlanInput, ...request.Option) (*iottwinmaker.GetPricingPlanOutput, error) GetPricingPlanRequest(*iottwinmaker.GetPricingPlanInput) (*request.Request, *iottwinmaker.GetPricingPlanOutput) @@ -156,6 +168,13 @@ type IoTTwinMakerAPI interface { ListComponentTypesPages(*iottwinmaker.ListComponentTypesInput, func(*iottwinmaker.ListComponentTypesOutput, bool) bool) error ListComponentTypesPagesWithContext(aws.Context, *iottwinmaker.ListComponentTypesInput, func(*iottwinmaker.ListComponentTypesOutput, bool) bool, ...request.Option) error + ListComponents(*iottwinmaker.ListComponentsInput) (*iottwinmaker.ListComponentsOutput, error) + ListComponentsWithContext(aws.Context, *iottwinmaker.ListComponentsInput, ...request.Option) (*iottwinmaker.ListComponentsOutput, error) + ListComponentsRequest(*iottwinmaker.ListComponentsInput) (*request.Request, *iottwinmaker.ListComponentsOutput) + + ListComponentsPages(*iottwinmaker.ListComponentsInput, func(*iottwinmaker.ListComponentsOutput, bool) bool) error + ListComponentsPagesWithContext(aws.Context, *iottwinmaker.ListComponentsInput, func(*iottwinmaker.ListComponentsOutput, bool) bool, ...request.Option) error + ListEntities(*iottwinmaker.ListEntitiesInput) (*iottwinmaker.ListEntitiesOutput, error) ListEntitiesWithContext(aws.Context, *iottwinmaker.ListEntitiesInput, ...request.Option) (*iottwinmaker.ListEntitiesOutput, error) ListEntitiesRequest(*iottwinmaker.ListEntitiesInput) (*request.Request, *iottwinmaker.ListEntitiesOutput) @@ -163,6 +182,20 @@ type IoTTwinMakerAPI interface { ListEntitiesPages(*iottwinmaker.ListEntitiesInput, func(*iottwinmaker.ListEntitiesOutput, bool) bool) error ListEntitiesPagesWithContext(aws.Context, *iottwinmaker.ListEntitiesInput, func(*iottwinmaker.ListEntitiesOutput, bool) bool, ...request.Option) error + ListMetadataTransferJobs(*iottwinmaker.ListMetadataTransferJobsInput) (*iottwinmaker.ListMetadataTransferJobsOutput, error) + ListMetadataTransferJobsWithContext(aws.Context, *iottwinmaker.ListMetadataTransferJobsInput, ...request.Option) (*iottwinmaker.ListMetadataTransferJobsOutput, error) + ListMetadataTransferJobsRequest(*iottwinmaker.ListMetadataTransferJobsInput) (*request.Request, *iottwinmaker.ListMetadataTransferJobsOutput) + + ListMetadataTransferJobsPages(*iottwinmaker.ListMetadataTransferJobsInput, func(*iottwinmaker.ListMetadataTransferJobsOutput, bool) bool) error + ListMetadataTransferJobsPagesWithContext(aws.Context, *iottwinmaker.ListMetadataTransferJobsInput, func(*iottwinmaker.ListMetadataTransferJobsOutput, bool) bool, ...request.Option) error + + ListProperties(*iottwinmaker.ListPropertiesInput) (*iottwinmaker.ListPropertiesOutput, error) + ListPropertiesWithContext(aws.Context, *iottwinmaker.ListPropertiesInput, ...request.Option) (*iottwinmaker.ListPropertiesOutput, error) + ListPropertiesRequest(*iottwinmaker.ListPropertiesInput) (*request.Request, *iottwinmaker.ListPropertiesOutput) + + ListPropertiesPages(*iottwinmaker.ListPropertiesInput, func(*iottwinmaker.ListPropertiesOutput, bool) bool) error + ListPropertiesPagesWithContext(aws.Context, *iottwinmaker.ListPropertiesInput, func(*iottwinmaker.ListPropertiesOutput, bool) bool, ...request.Option) error + ListScenes(*iottwinmaker.ListScenesInput) (*iottwinmaker.ListScenesOutput, error) ListScenesWithContext(aws.Context, *iottwinmaker.ListScenesInput, ...request.Option) (*iottwinmaker.ListScenesOutput, error) ListScenesRequest(*iottwinmaker.ListScenesInput) (*request.Request, *iottwinmaker.ListScenesOutput) diff --git a/service/s3/api.go b/service/s3/api.go index ed5da158742..f8927a3c469 100644 --- a/service/s3/api.go +++ b/service/s3/api.go @@ -4690,6 +4690,10 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // as if the object was deleted and includes x-amz-delete-marker: true in // the response. // +// - If the specified version is a delete marker, the response returns a +// 405 (Method Not Allowed) error and the Last-Modified: timestamp response +// header. +// // For more information about versioning, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html). // // # Overriding Response Header Values @@ -5710,9 +5714,10 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou // // A HEAD request has the same options as a GET action on an object. The response // is identical to the GET response except that there is no response body. Because -// of this, if the HEAD request generates an error, it returns a generic 400 -// Bad Request, 403 Forbidden or 404 Not Found code. It is not possible to retrieve -// the exact exception beyond these error codes. +// of this, if the HEAD request generates an error, it returns a generic code, +// such as 400 Bad Request, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, +// 412 Precondition Failed, or 304 Not Modified. It's not possible to retrieve +// the exact exception of these error codes. // // If you encrypt an object by using server-side encryption with customer-provided // encryption keys (SSE-C) when you store the object in Amazon S3, then when @@ -5768,6 +5773,16 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou // - If you don’t have the s3:ListBucket permission, Amazon S3 returns // an HTTP status code 403 error. // +// Versioning +// +// - If the current version of the object is a delete marker, Amazon S3 behaves +// as if the object was deleted and includes x-amz-delete-marker: true in +// the response. +// +// - If the specified version is a delete marker, the response returns a +// 405 (Method Not Allowed) error and the Last-Modified: timestamp response +// header. +// // The following actions are related to HeadObject: // // - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) @@ -6502,8 +6517,6 @@ func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *req // // To use this operation, you must have READ access to the bucket. // -// This action is not supported by Amazon S3 on Outposts. -// // The following operations are related to ListObjectVersions: // // - ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) @@ -12834,8 +12847,9 @@ type CompleteMultipartUploadInput struct { RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // The server-side encryption (SSE) algorithm used to encrypt the object. This - // parameter is needed only when the object was created using a checksum algorithm. - // For more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) + // parameter is required only when the object was created using a checksum algorithm + // or if your bucket policy requires the use of SSE-C. For more information, + // see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key) // in the Amazon S3 User Guide. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` @@ -13672,7 +13686,8 @@ type CopyObjectInput struct { // Specifies the Amazon Web Services KMS Encryption Context to use for object // encryption. The value of this header is a base64-encoded UTF-8 string holding - // JSON with the encryption context key-value pairs. + // JSON with the encryption context key-value pairs. This value must be explicitly + // added to specify encryption context for CopyObject requests. // // SSEKMSEncryptionContext is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by CopyObjectInput's @@ -16930,7 +16945,7 @@ type DeleteMarkerEntry struct { // The object key. Key *string `min:"1" type:"string"` - // Date and time the object was last modified. + // Date and time when the object was last modified. LastModified *time.Time `type:"timestamp"` // The account that created the delete marker.> @@ -22841,7 +22856,7 @@ type GetObjectOutput struct { // The date and time at which the object is no longer cacheable. Expires *string `location:"header" locationName:"Expires" type:"string"` - // Creation date of the object. + // Date and time when the object was last modified. LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` // A map of metadata to store with the object in S3. @@ -24514,7 +24529,7 @@ type HeadObjectOutput struct { // The date and time at which the object is no longer cacheable. Expires *string `location:"header" locationName:"Expires" type:"string"` - // Creation date of the object. + // Date and time when the object was last modified. LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` // A map of metadata to store with the object in S3. @@ -29102,6 +29117,9 @@ type LoggingEnabled struct { // in the Amazon S3 User Guide. TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` + // Amazon S3 key format for log objects. + TargetObjectKeyFormat *TargetObjectKeyFormat `type:"structure"` + // A prefix for all log object keys. If you store log files from multiple Amazon // S3 buckets in a single bucket, you can use a prefix to distinguish which // log files came from which bucket. @@ -29166,6 +29184,12 @@ func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled { return s } +// SetTargetObjectKeyFormat sets the TargetObjectKeyFormat field's value. +func (s *LoggingEnabled) SetTargetObjectKeyFormat(v *TargetObjectKeyFormat) *LoggingEnabled { + s.TargetObjectKeyFormat = v + return s +} + // SetTargetPrefix sets the TargetPrefix field's value. func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled { s.TargetPrefix = &v @@ -29590,9 +29614,10 @@ func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload { type NoncurrentVersionExpiration struct { _ struct{} `type:"structure"` - // Specifies how many noncurrent versions Amazon S3 will retain. If there are - // this many more recent noncurrent versions, Amazon S3 will take the associated - // action. For more information about noncurrent versions, see Lifecycle configuration + // Specifies how many newer noncurrent versions must exist before Amazon S3 + // can perform the associated action on a given version. If there are this many + // more recent noncurrent versions, Amazon S3 will take the associated action. + // For more information about noncurrent versions, see Lifecycle configuration // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) // in the Amazon S3 User Guide. NewerNoncurrentVersions *int64 `type:"integer"` @@ -29645,9 +29670,10 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers type NoncurrentVersionTransition struct { _ struct{} `type:"structure"` - // Specifies how many noncurrent versions Amazon S3 will retain. If there are - // this many more recent noncurrent versions, Amazon S3 will take the associated - // action. For more information about noncurrent versions, see Lifecycle configuration + // Specifies how many newer noncurrent versions must exist before Amazon S3 + // can perform the associated action on a given version. If there are this many + // more recent noncurrent versions, Amazon S3 will take the associated action. + // For more information about noncurrent versions, see Lifecycle configuration // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) // in the Amazon S3 User Guide. NewerNoncurrentVersions *int64 `type:"integer"` @@ -30339,7 +30365,7 @@ type ObjectVersion struct { // The object key. Key *string `min:"1" type:"string"` - // Date and time the object was last modified. + // Date and time when the object was last modified. LastModified *time.Time `type:"timestamp"` // Specifies the owner of the object. @@ -30840,6 +30866,44 @@ func (s *Part) SetSize(v int64) *Part { return s } +// Amazon S3 keys for log objects are partitioned in the following format: +// +// [DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString] +// +// PartitionedPrefix defaults to EventTime delivery when server access logs +// are delivered. +type PartitionedPrefix struct { + _ struct{} `locationName:"PartitionedPrefix" type:"structure"` + + // Specifies the partition date source for the partitioned prefix. PartitionDateSource + // can be EventTime or DeliveryTime. + PartitionDateSource *string `type:"string" enum:"PartitionDateSource"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PartitionedPrefix) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PartitionedPrefix) GoString() string { + return s.String() +} + +// SetPartitionDateSource sets the PartitionDateSource field's value. +func (s *PartitionedPrefix) SetPartitionDateSource(v string) *PartitionedPrefix { + s.PartitionDateSource = &v + return s +} + // The container element for a bucket's policy status. type PolicyStatus struct { _ struct{} `type:"structure"` @@ -34771,7 +34835,8 @@ type PutObjectInput struct { // encryption. The value of this header is a base64-encoded UTF-8 string holding // JSON with the encryption context key-value pairs. This value is stored as // object metadata and automatically gets passed on to Amazon Web Services KMS - // for future GetObject or CopyObject operations on this object. + // for future GetObject or CopyObject operations on this object. This value + // must be explicitly added during CopyObject operations. // // SSEKMSEncryptionContext is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by PutObjectInput's @@ -38828,6 +38893,32 @@ func (s *ServerSideEncryptionRule) SetBucketKeyEnabled(v bool) *ServerSideEncryp return s } +// To use simple format for S3 keys for log objects, set SimplePrefix to an +// empty object. +// +// [DestinationPrefix][YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString] +type SimplePrefix struct { + _ struct{} `locationName:"SimplePrefix" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SimplePrefix) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SimplePrefix) GoString() string { + return s.String() +} + // A container that describes additional filters for identifying the source // objects that you want to replicate. You can choose to enable or disable the // replication of these objects. Currently, Amazon S3 supports only the filter @@ -39364,6 +39455,49 @@ func (s *TargetGrant) SetPermission(v string) *TargetGrant { return s } +// Amazon S3 key format for log objects. Only one format, PartitionedPrefix +// or SimplePrefix, is allowed. +type TargetObjectKeyFormat struct { + _ struct{} `type:"structure"` + + // Partitioned S3 key for log objects. + PartitionedPrefix *PartitionedPrefix `locationName:"PartitionedPrefix" type:"structure"` + + // To use the simple format for S3 keys for log objects. To specify SimplePrefix + // format, set SimplePrefix to {}. + SimplePrefix *SimplePrefix `locationName:"SimplePrefix" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TargetObjectKeyFormat) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TargetObjectKeyFormat) GoString() string { + return s.String() +} + +// SetPartitionedPrefix sets the PartitionedPrefix field's value. +func (s *TargetObjectKeyFormat) SetPartitionedPrefix(v *PartitionedPrefix) *TargetObjectKeyFormat { + s.PartitionedPrefix = v + return s +} + +// SetSimplePrefix sets the SimplePrefix field's value. +func (s *TargetObjectKeyFormat) SetSimplePrefix(v *SimplePrefix) *TargetObjectKeyFormat { + s.SimplePrefix = v + return s +} + // The S3 Intelligent-Tiering storage class is designed to optimize storage // costs by automatically moving data to the most cost-effective storage access // tier, without additional operational overhead. @@ -42259,6 +42393,22 @@ func OwnerOverride_Values() []string { } } +const ( + // PartitionDateSourceEventTime is a PartitionDateSource enum value + PartitionDateSourceEventTime = "EventTime" + + // PartitionDateSourceDeliveryTime is a PartitionDateSource enum value + PartitionDateSourceDeliveryTime = "DeliveryTime" +) + +// PartitionDateSource_Values returns all elements of the PartitionDateSource enum +func PartitionDateSource_Values() []string { + return []string{ + PartitionDateSourceEventTime, + PartitionDateSourceDeliveryTime, + } +} + const ( // PayerRequester is a Payer enum value PayerRequester = "Requester" diff --git a/service/s3/examples_test.go b/service/s3/examples_test.go index 1552ad38a69..3c50a79dce4 100644 --- a/service/s3/examples_test.go +++ b/service/s3/examples_test.go @@ -125,16 +125,12 @@ func ExampleS3_CopyObject_shared00() { fmt.Println(result) } -// To create a bucket in a specific region -// The following example creates a bucket. The request specifies an AWS region where -// to create the bucket. +// To create a bucket +// The following example creates a bucket. func ExampleS3_CreateBucket_shared00() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), - CreateBucketConfiguration: &s3.CreateBucketConfiguration{ - LocationConstraint: aws.String("eu-west-1"), - }, } result, err := svc.CreateBucket(input) @@ -159,12 +155,16 @@ func ExampleS3_CreateBucket_shared00() { fmt.Println(result) } -// To create a bucket -// The following example creates a bucket. +// To create a bucket in a specific region +// The following example creates a bucket. The request specifies an AWS region where +// to create the bucket. func ExampleS3_CreateBucket_shared01() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), + CreateBucketConfiguration: &s3.CreateBucketConfiguration{ + LocationConstraint: aws.String("eu-west-1"), + }, } result, err := svc.CreateBucket(input) @@ -452,15 +452,15 @@ func ExampleS3_DeleteObject_shared01() { fmt.Println(result) } -// To remove tag set from an object -// The following example removes tag set associated with the specified object. If the -// bucket is versioning enabled, the operation removes tag set from the latest object -// version. +// To remove tag set from an object version +// The following example removes tag set associated with the specified object version. +// The request specifies both the object key and object version. func ExampleS3_DeleteObjectTagging_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), } result, err := svc.DeleteObjectTagging(input) @@ -481,15 +481,15 @@ func ExampleS3_DeleteObjectTagging_shared00() { fmt.Println(result) } -// To remove tag set from an object version -// The following example removes tag set associated with the specified object version. -// The request specifies both the object key and object version. +// To remove tag set from an object +// The following example removes tag set associated with the specified object. If the +// bucket is versioning enabled, the operation removes tag set from the latest object +// version. func ExampleS3_DeleteObjectTagging_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObjectTagging(input) @@ -510,10 +510,10 @@ func ExampleS3_DeleteObjectTagging_shared01() { fmt.Println(result) } -// To delete multiple object versions from a versioned bucket -// The following example deletes objects from a bucket. The request specifies object -// versions. S3 deletes specific object versions and returns the key and versions of -// deleted objects in the response. +// To delete multiple objects from a versioned bucket +// The following example deletes objects from a bucket. The bucket is versioned, and +// the request does not specify the object version to delete. In this case, all versions +// remain in the bucket and S3 adds a delete marker. func ExampleS3_DeleteObjects_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectsInput{ @@ -521,12 +521,10 @@ func ExampleS3_DeleteObjects_shared00() { Delete: &s3.Delete{ Objects: []*s3.ObjectIdentifier{ { - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b"), + Key: aws.String("objectkey1"), }, { - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd"), + Key: aws.String("objectkey2"), }, }, Quiet: aws.Bool(false), @@ -551,10 +549,10 @@ func ExampleS3_DeleteObjects_shared00() { fmt.Println(result) } -// To delete multiple objects from a versioned bucket -// The following example deletes objects from a bucket. The bucket is versioned, and -// the request does not specify the object version to delete. In this case, all versions -// remain in the bucket and S3 adds a delete marker. +// To delete multiple object versions from a versioned bucket +// The following example deletes objects from a bucket. The request specifies object +// versions. S3 deletes specific object versions and returns the key and versions of +// deleted objects in the response. func ExampleS3_DeleteObjects_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectsInput{ @@ -562,10 +560,12 @@ func ExampleS3_DeleteObjects_shared01() { Delete: &s3.Delete{ Objects: []*s3.ObjectIdentifier{ { - Key: aws.String("objectkey1"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b"), }, { - Key: aws.String("objectkey2"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd"), }, }, Quiet: aws.Bool(false), @@ -903,13 +903,15 @@ func ExampleS3_GetBucketWebsite_shared00() { fmt.Println(result) } -// To retrieve an object -// The following example retrieves an object for an S3 bucket. +// To retrieve a byte range of an object +// The following example retrieves an object for an S3 bucket. The request specifies +// the range header to retrieve a specific byte range. func ExampleS3_GetObject_shared00() { svc := s3.New(session.New()) input := &s3.GetObjectInput{ Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Key: aws.String("SampleFile.txt"), + Range: aws.String("bytes=0-9"), } result, err := svc.GetObject(input) @@ -934,15 +936,13 @@ func ExampleS3_GetObject_shared00() { fmt.Println(result) } -// To retrieve a byte range of an object -// The following example retrieves an object for an S3 bucket. The request specifies -// the range header to retrieve a specific byte range. +// To retrieve an object +// The following example retrieves an object for an S3 bucket. func ExampleS3_GetObject_shared01() { svc := s3.New(session.New()) input := &s3.GetObjectInput{ Bucket: aws.String("examplebucket"), - Key: aws.String("SampleFile.txt"), - Range: aws.String("bytes=0-9"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.GetObject(input) @@ -1158,16 +1158,12 @@ func ExampleS3_ListBuckets_shared00() { fmt.Println(result) } -// List next set of multipart uploads when previous result is truncated -// The following example specifies the upload-id-marker and key-marker from previous -// truncated response to retrieve next setup of multipart uploads. +// To list in-progress multipart uploads on a bucket +// The following example lists in-progress multipart uploads on a specific bucket. func ExampleS3_ListMultipartUploads_shared00() { svc := s3.New(session.New()) input := &s3.ListMultipartUploadsInput{ - Bucket: aws.String("examplebucket"), - KeyMarker: aws.String("nextkeyfrompreviousresponse"), - MaxUploads: aws.Int64(2), - UploadIdMarker: aws.String("valuefrompreviousresponse"), + Bucket: aws.String("examplebucket"), } result, err := svc.ListMultipartUploads(input) @@ -1188,12 +1184,16 @@ func ExampleS3_ListMultipartUploads_shared00() { fmt.Println(result) } -// To list in-progress multipart uploads on a bucket -// The following example lists in-progress multipart uploads on a specific bucket. +// List next set of multipart uploads when previous result is truncated +// The following example specifies the upload-id-marker and key-marker from previous +// truncated response to retrieve next setup of multipart uploads. func ExampleS3_ListMultipartUploads_shared01() { svc := s3.New(session.New()) input := &s3.ListMultipartUploadsInput{ - Bucket: aws.String("examplebucket"), + Bucket: aws.String("examplebucket"), + KeyMarker: aws.String("nextkeyfrompreviousresponse"), + MaxUploads: aws.Int64(2), + UploadIdMarker: aws.String("valuefrompreviousresponse"), } result, err := svc.ListMultipartUploads(input) @@ -1748,16 +1748,19 @@ func ExampleS3_PutBucketWebsite_shared00() { fmt.Println(result) } -// To upload an object -// The following example uploads an object to a versioning-enabled bucket. The source -// file is specified using Windows file syntax. S3 returns VersionId of the newly created -// object. +// To upload object and specify user-defined metadata +// The following example creates an object. The request also specifies optional metadata. +// If the bucket is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared00() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Key: aws.String("exampleobject"), + Metadata: map[string]*string{ + "metadata1": aws.String("value1"), + "metadata2": aws.String("value2"), + }, } result, err := svc.PutObject(input) @@ -1778,18 +1781,17 @@ func ExampleS3_PutObject_shared00() { fmt.Println(result) } -// To upload an object and specify server-side encryption and object tags -// The following example uploads an object. The request specifies the optional server-side -// encryption option. The request also specifies optional object tags. If the bucket -// is versioning enabled, S3 returns version ID in response. +// To upload an object (specify optional headers) +// The following example uploads an object. The request specifies optional request headers +// to directs S3 to use specific storage class and use server-side encryption. func ExampleS3_PutObject_shared01() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), + Key: aws.String("HappyFace.jpg"), ServerSideEncryption: aws.String("AES256"), - Tagging: aws.String("key1=value1&key2=value2"), + StorageClass: aws.String("STANDARD_IA"), } result, err := svc.PutObject(input) @@ -1810,15 +1812,16 @@ func ExampleS3_PutObject_shared01() { fmt.Println(result) } -// To create an object. -// The following example creates an object. If the bucket is versioning enabled, S3 -// returns version ID in response. +// To upload an object and specify optional tags +// The following example uploads an object. The request specifies optional object tags. +// The bucket is versioned, therefore S3 returns version ID of the newly created object. func ExampleS3_PutObject_shared02() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey"), + Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1839,19 +1842,15 @@ func ExampleS3_PutObject_shared02() { fmt.Println(result) } -// To upload object and specify user-defined metadata -// The following example creates an object. The request also specifies optional metadata. -// If the bucket is versioning enabled, S3 returns version ID in response. +// To create an object. +// The following example creates an object. If the bucket is versioning enabled, S3 +// returns version ID in response. func ExampleS3_PutObject_shared03() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - Metadata: map[string]*string{ - "metadata1": aws.String("value1"), - "metadata2": aws.String("value2"), - }, + Key: aws.String("objectkey"), } result, err := svc.PutObject(input) @@ -1872,16 +1871,16 @@ func ExampleS3_PutObject_shared03() { fmt.Println(result) } -// To upload an object and specify optional tags -// The following example uploads an object. The request specifies optional object tags. -// The bucket is versioned, therefore S3 returns version ID of the newly created object. +// To upload an object +// The following example uploads an object to a versioning-enabled bucket. The source +// file is specified using Windows file syntax. S3 returns VersionId of the newly created +// object. func ExampleS3_PutObject_shared04() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.PutObject(input) @@ -1933,17 +1932,18 @@ func ExampleS3_PutObject_shared05() { fmt.Println(result) } -// To upload an object (specify optional headers) -// The following example uploads an object. The request specifies optional request headers -// to directs S3 to use specific storage class and use server-side encryption. +// To upload an object and specify server-side encryption and object tags +// The following example uploads an object. The request specifies the optional server-side +// encryption option. The request also specifies optional object tags. If the bucket +// is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared06() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Key: aws.String("exampleobject"), ServerSideEncryption: aws.String("AES256"), - StorageClass: aws.String("STANDARD_IA"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -2104,18 +2104,17 @@ func ExampleS3_UploadPart_shared00() { fmt.Println(result) } -// To upload a part by copying byte range from an existing object as data source -// The following example uploads a part of a multipart upload by copying a specified -// byte range from an existing object as data source. +// To upload a part by copying data from an existing object as data source +// The following example uploads a part of a multipart upload by copying data from an +// existing object as data source. func ExampleS3_UploadPartCopy_shared00() { svc := s3.New(session.New()) input := &s3.UploadPartCopyInput{ - Bucket: aws.String("examplebucket"), - CopySource: aws.String("/bucketname/sourceobjectkey"), - CopySourceRange: aws.String("bytes=1-100000"), - Key: aws.String("examplelargeobject"), - PartNumber: aws.Int64(2), - UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), + Bucket: aws.String("examplebucket"), + CopySource: aws.String("/bucketname/sourceobjectkey"), + Key: aws.String("examplelargeobject"), + PartNumber: aws.Int64(1), + UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), } result, err := svc.UploadPartCopy(input) @@ -2136,17 +2135,18 @@ func ExampleS3_UploadPartCopy_shared00() { fmt.Println(result) } -// To upload a part by copying data from an existing object as data source -// The following example uploads a part of a multipart upload by copying data from an -// existing object as data source. +// To upload a part by copying byte range from an existing object as data source +// The following example uploads a part of a multipart upload by copying a specified +// byte range from an existing object as data source. func ExampleS3_UploadPartCopy_shared01() { svc := s3.New(session.New()) input := &s3.UploadPartCopyInput{ - Bucket: aws.String("examplebucket"), - CopySource: aws.String("/bucketname/sourceobjectkey"), - Key: aws.String("examplelargeobject"), - PartNumber: aws.Int64(1), - UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), + Bucket: aws.String("examplebucket"), + CopySource: aws.String("/bucketname/sourceobjectkey"), + CopySourceRange: aws.String("bytes=1-100000"), + Key: aws.String("examplelargeobject"), + PartNumber: aws.Int64(2), + UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), } result, err := svc.UploadPartCopy(input) diff --git a/service/s3/s3manager/upload_input.go b/service/s3/s3manager/upload_input.go index 54c4fb3ece8..75ae68726fa 100644 --- a/service/s3/s3manager/upload_input.go +++ b/service/s3/s3manager/upload_input.go @@ -215,7 +215,8 @@ type UploadInput struct { // encryption. The value of this header is a base64-encoded UTF-8 string holding // JSON with the encryption context key-value pairs. This value is stored as // object metadata and automatically gets passed on to Amazon Web Services KMS - // for future GetObject or CopyObject operations on this object. + // for future GetObject or CopyObject operations on this object. This value + // must be explicitly added during CopyObject operations. SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` // If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse,