diff --git a/CHANGELOG.md b/CHANGELOG.md index 197ec584cf..e8e25adff4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +Release v1.36.9 (2020-12-15) +=== + +### Service Client Updates +* `service/amp`: Adds new service +* `service/greengrassv2`: Adds new service +* `service/iot`: Updates service API, documentation, and paginators + * AWS IoT Rules Engine adds Kafka Action that allows sending data to Apache Kafka clusters inside a VPC. AWS IoT Device Defender adds custom metrics and machine-learning based anomaly detection. +* `service/iotanalytics`: Updates service API and documentation +* `service/iotdeviceadvisor`: Adds new service +* `service/iotfleethub`: Adds new service +* `service/iotwireless`: Adds new service +* `service/lambda`: Updates service API, documentation, and examples + * Added support for Apache Kafka as a event source. Added support for TumblingWindowInSeconds for streams event source mappings. Added support for FunctionResponseTypes for streams event source mappings +* `service/ssm`: Updates service API, documentation, and paginators + * Adding support for Change Manager API content + Release v1.36.8 (2020-12-14) === diff --git a/aws/version.go b/aws/version.go index 74736c88a4..730735ee0a 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.36.8" +const SDKVersion = "1.36.9" diff --git a/models/apis/amp/2020-08-01/api-2.json b/models/apis/amp/2020-08-01/api-2.json new file mode 100644 index 0000000000..a60569665b --- /dev/null +++ b/models/apis/amp/2020-08-01/api-2.json @@ -0,0 +1,445 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-08-01", + "endpointPrefix":"aps", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Prometheus Service", + "serviceId":"amp", + "signatureVersion":"v4", + "signingName":"aps", + "uid":"amp-2020-08-01" + }, + "operations":{ + "CreateWorkspace":{ + "name":"CreateWorkspace", + "http":{ + "method":"POST", + "requestUri":"/workspaces", + "responseCode":202 + }, + "input":{"shape":"CreateWorkspaceRequest"}, + "output":{"shape":"CreateWorkspaceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "DeleteWorkspace":{ + "name":"DeleteWorkspace", + "http":{ + "method":"DELETE", + "requestUri":"/workspaces/{workspaceId}", + "responseCode":202 + }, + "input":{"shape":"DeleteWorkspaceRequest"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "DescribeWorkspace":{ + "name":"DescribeWorkspace", + "http":{ + "method":"GET", + "requestUri":"/workspaces/{workspaceId}", + "responseCode":200 + }, + "input":{"shape":"DescribeWorkspaceRequest"}, + "output":{"shape":"DescribeWorkspaceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, + "ListWorkspaces":{ + "name":"ListWorkspaces", + "http":{ + "method":"GET", + "requestUri":"/workspaces", + "responseCode":200 + }, + "input":{"shape":"ListWorkspacesRequest"}, + "output":{"shape":"ListWorkspacesResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateWorkspaceAlias":{ + "name":"UpdateWorkspaceAlias", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/alias", + "responseCode":204 + }, + "input":{"shape":"UpdateWorkspaceAliasRequest"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateWorkspaceRequest":{ + "type":"structure", + "members":{ + "alias":{"shape":"WorkspaceAlias"}, + "clientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateWorkspaceResponse":{ + "type":"structure", + "required":[ + "arn", + "status", + "workspaceId" + ], + "members":{ + "arn":{"shape":"WorkspaceArn"}, + "status":{"shape":"WorkspaceStatus"}, + "workspaceId":{"shape":"WorkspaceId"} + } + }, + "DeleteWorkspaceRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "clientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + }, + "workspaceId":{ + "shape":"WorkspaceId", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "DescribeWorkspaceRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "workspaceId":{ + "shape":"WorkspaceId", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "DescribeWorkspaceResponse":{ + "type":"structure", + "required":["workspace"], + "members":{ + "workspace":{"shape":"WorkspaceDescription"} + } + }, + "IdempotencyToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[!-~]+" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ListWorkspacesRequest":{ + "type":"structure", + "members":{ + "alias":{ + "shape":"WorkspaceAlias", + "location":"querystring", + "locationName":"alias" + }, + "maxResults":{ + "shape":"ListWorkspacesRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListWorkspacesRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "ListWorkspacesResponse":{ + "type":"structure", + "required":["workspaces"], + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "workspaces":{"shape":"WorkspaceSummaryList"} + } + }, + "PaginationToken":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "quotaCode", + "resourceId", + "resourceType", + "serviceCode" + ], + "members":{ + "message":{"shape":"String"}, + "quotaCode":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"}, + "serviceCode":{"shape":"String"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "quotaCode":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "location":"header", + "locationName":"Retry-After" + }, + "serviceCode":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "Timestamp":{"type":"timestamp"}, + "UpdateWorkspaceAliasRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "alias":{"shape":"WorkspaceAlias"}, + "clientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "workspaceId":{ + "shape":"WorkspaceId", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "Uri":{ + "type":"string", + "max":1024, + "min":1 + }, + "ValidationException":{ + "type":"structure", + "required":[ + "message", + "reason" + ], + "members":{ + "fieldList":{"shape":"ValidationExceptionFieldList"}, + "message":{"shape":"String"}, + "reason":{"shape":"ValidationExceptionReason"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{"shape":"String"}, + "name":{"shape":"String"} + } + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UNKNOWN_OPERATION", + "CANNOT_PARSE", + "FIELD_VALIDATION_FAILED", + "OTHER" + ] + }, + "WorkspaceAlias":{ + "type":"string", + "max":100, + "min":1 + }, + "WorkspaceArn":{"type":"string"}, + "WorkspaceDescription":{ + "type":"structure", + "required":[ + "arn", + "createdAt", + "status", + "workspaceId" + ], + "members":{ + "alias":{"shape":"WorkspaceAlias"}, + "arn":{"shape":"WorkspaceArn"}, + "createdAt":{"shape":"Timestamp"}, + "prometheusEndpoint":{"shape":"Uri"}, + "status":{"shape":"WorkspaceStatus"}, + "workspaceId":{"shape":"WorkspaceId"} + } + }, + "WorkspaceId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9A-Za-z][-.0-9A-Z_a-z]*" + }, + "WorkspaceStatus":{ + "type":"structure", + "required":["statusCode"], + "members":{ + "statusCode":{"shape":"WorkspaceStatusCode"} + } + }, + "WorkspaceStatusCode":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATION_FAILED" + ] + }, + "WorkspaceSummary":{ + "type":"structure", + "required":[ + "arn", + "createdAt", + "status", + "workspaceId" + ], + "members":{ + "alias":{"shape":"WorkspaceAlias"}, + "arn":{"shape":"WorkspaceArn"}, + "createdAt":{"shape":"Timestamp"}, + "status":{"shape":"WorkspaceStatus"}, + "workspaceId":{"shape":"WorkspaceId"} + } + }, + "WorkspaceSummaryList":{ + "type":"list", + "member":{"shape":"WorkspaceSummary"} + } + } +} diff --git a/models/apis/amp/2020-08-01/docs-2.json b/models/apis/amp/2020-08-01/docs-2.json new file mode 100644 index 0000000000..deae74f90d --- /dev/null +++ b/models/apis/amp/2020-08-01/docs-2.json @@ -0,0 +1,232 @@ +{ + "version": "2.0", + "service": "

StealFire Service

", + "operations": { + "CreateWorkspace": "

Creates a new StealFire workspace.

", + "DeleteWorkspace": "

Deletes a StealFire workspace.

", + "DescribeWorkspace": "

Describes an existing StealFire workspace.

", + "ListWorkspaces": "

Lists all StealFire workspaces, including workspaces being created or deleted.

", + "UpdateWorkspaceAlias": "

Updates a StealFire workspace alias.

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

User does not have sufficient access to perform this action.

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

Updating or deleting a resource can cause an inconsistent state.

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

Represents the input of a CreateWorkspace operation.

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

Represents the output of a CreateWorkspace operation.

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

Represents the input of a DeleteWorkspace operation.

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

Represents the input of a DescribeWorkspace operation.

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

Represents the output of a DescribeWorkspace operation.

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

An identifier used to ensure the idempotency of a write request.

", + "refs": { + "CreateWorkspaceRequest$clientToken": "

Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.

", + "DeleteWorkspaceRequest$clientToken": "

Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.

", + "UpdateWorkspaceAliasRequest$clientToken": "

Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.

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

Advice to clients on when the call can be safely retried.

", + "ThrottlingException$retryAfterSeconds": "

Advice to clients on when the call can be safely retried.

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

Unexpected error during processing of request.

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

Represents the input of a ListWorkspaces operation.

", + "refs": { + } + }, + "ListWorkspacesRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListWorkspacesRequest$maxResults": "

Maximum results to return in response (default=100, maximum=1000).

" + } + }, + "ListWorkspacesResponse": { + "base": "

Represents the output of a ListWorkspaces operation.

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

A token used to access the next page in a paginated result set.

", + "refs": { + "ListWorkspacesRequest$nextToken": "

Pagination token to request the next page in a paginated list. This token is obtained from the output of the previous ListWorkspaces request.

", + "ListWorkspacesResponse$nextToken": "

Pagination token to use when requesting the next page in this list.

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

Request references a resource which does not exist.

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

Request would cause a service quota to be exceeded.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": "

Description of the error.

", + "ConflictException$message": "

Description of the error.

", + "ConflictException$resourceId": "

Identifier of the resource affected.

", + "ConflictException$resourceType": "

Type of the resource affected.

", + "InternalServerException$message": "

Description of the error.

", + "ResourceNotFoundException$message": "

Description of the error.

", + "ResourceNotFoundException$resourceId": "

Identifier of the resource affected.

", + "ResourceNotFoundException$resourceType": "

Type of the resource affected.

", + "ServiceQuotaExceededException$message": "

Description of the error.

", + "ServiceQuotaExceededException$quotaCode": "

Service Quotas requirement to identify originating quota.

", + "ServiceQuotaExceededException$resourceId": "

Identifier of the resource affected.

", + "ServiceQuotaExceededException$resourceType": "

Type of the resource affected.

", + "ServiceQuotaExceededException$serviceCode": "

Service Quotas requirement to identify originating service.

", + "ThrottlingException$message": "

Description of the error.

", + "ThrottlingException$quotaCode": "

Service Quotas requirement to identify originating quota.

", + "ThrottlingException$serviceCode": "

Service Quotas requirement to identify originating service.

", + "ValidationException$message": "

Description of the error.

", + "ValidationExceptionField$message": "

Message describing why the field failed validation.

", + "ValidationExceptionField$name": "

The field name.

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

Request was denied due to request throttling.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "WorkspaceDescription$createdAt": "

The time when the workspace was created.

", + "WorkspaceSummary$createdAt": "

The time when the workspace was created.

" + } + }, + "UpdateWorkspaceAliasRequest": { + "base": "

Represents the input of an UpdateWorkspaceAlias operation.

", + "refs": { + } + }, + "Uri": { + "base": null, + "refs": { + "WorkspaceDescription$prometheusEndpoint": "

Prometheus endpoint URI.

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

The input fails to satisfy the constraints specified by an AWS service.

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

Stores information about a field passed inside a request that resulted in an exception.

", + "refs": { + "ValidationExceptionFieldList$member": null + } + }, + "ValidationExceptionFieldList": { + "base": "

A list of fields.

", + "refs": { + "ValidationException$fieldList": "

The field that caused the error, if applicable. If more than one field caused the error, pick one and elaborate in the message.

" + } + }, + "ValidationExceptionReason": { + "base": "

Possible reasons a request failed validation.

", + "refs": { + "ValidationException$reason": "

Reason the request failed validation.

" + } + }, + "WorkspaceAlias": { + "base": "

A user-assigned workspace alias.

", + "refs": { + "CreateWorkspaceRequest$alias": "

An optional user-assigned alias for this workspace. This alias is for user reference and does not need to be unique.

", + "ListWorkspacesRequest$alias": "

Optional filter for workspace alias. Only the workspaces with aliases that begin with this value will be returned.

", + "UpdateWorkspaceAliasRequest$alias": "

The new alias of the workspace.

", + "WorkspaceDescription$alias": "

Alias of this workspace.

", + "WorkspaceSummary$alias": "

Alias of this workspace.

" + } + }, + "WorkspaceArn": { + "base": "

An ARN identifying a Workspace.

", + "refs": { + "CreateWorkspaceResponse$arn": "

The ARN of the workspace that was just created.

", + "WorkspaceDescription$arn": "

The Amazon Resource Name (ARN) of this workspace.

", + "WorkspaceSummary$arn": "

The AmazonResourceName of this workspace.

" + } + }, + "WorkspaceDescription": { + "base": "

Represents the properties of a workspace.

", + "refs": { + "DescribeWorkspaceResponse$workspace": "

The properties of the selected workspace.

" + } + }, + "WorkspaceId": { + "base": "

A workspace ID.

", + "refs": { + "CreateWorkspaceResponse$workspaceId": "

The generated ID of the workspace that was just created.

", + "DeleteWorkspaceRequest$workspaceId": "

The ID of the workspace to delete.

", + "DescribeWorkspaceRequest$workspaceId": "

The ID of the workspace to describe.

", + "UpdateWorkspaceAliasRequest$workspaceId": "

The ID of the workspace being updated.

", + "WorkspaceDescription$workspaceId": "

Unique string identifying this workspace.

", + "WorkspaceSummary$workspaceId": "

Unique string identifying this workspace.

" + } + }, + "WorkspaceStatus": { + "base": "

Represents the status of a workspace.

", + "refs": { + "CreateWorkspaceResponse$status": "

The status of the workspace that was just created (usually CREATING).

", + "WorkspaceDescription$status": "

The status of this workspace.

", + "WorkspaceSummary$status": "

The status of this workspace.

" + } + }, + "WorkspaceStatusCode": { + "base": "

State of a workspace.

", + "refs": { + "WorkspaceStatus$statusCode": "

Status code of this workspace.

" + } + }, + "WorkspaceSummary": { + "base": "

Represents a summary of the properties of a workspace.

", + "refs": { + "WorkspaceSummaryList$member": null + } + }, + "WorkspaceSummaryList": { + "base": "

A list of workspace summaries.

", + "refs": { + "ListWorkspacesResponse$workspaces": "

The list of existing workspaces, including those undergoing creation or deletion.

" + } + } + } +} diff --git a/models/apis/amp/2020-08-01/examples-1.json b/models/apis/amp/2020-08-01/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/amp/2020-08-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/amp/2020-08-01/paginators-1.json b/models/apis/amp/2020-08-01/paginators-1.json new file mode 100644 index 0000000000..8a0ae8e2bf --- /dev/null +++ b/models/apis/amp/2020-08-01/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListWorkspaces": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "workspaces" + } + } +} diff --git a/models/apis/greengrassv2/2020-11-30/api-2.json b/models/apis/greengrassv2/2020-11-30/api-2.json new file mode 100644 index 0000000000..af81ff060a --- /dev/null +++ b/models/apis/greengrassv2/2020-11-30/api-2.json @@ -0,0 +1,1675 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-11-30", + "endpointPrefix":"greengrass", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AWS GreengrassV2", + "serviceFullName":"AWS IoT Greengrass V2", + "serviceId":"GreengrassV2", + "signatureVersion":"v4", + "uid":"greengrassv2-2020-11-30" + }, + "operations":{ + "CancelDeployment":{ + "name":"CancelDeployment", + "http":{ + "method":"POST", + "requestUri":"/greengrass/v2/deployments/{deploymentId}/cancel" + }, + "input":{"shape":"CancelDeploymentRequest"}, + "output":{"shape":"CancelDeploymentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateComponentVersion":{ + "name":"CreateComponentVersion", + "http":{ + "method":"POST", + "requestUri":"/greengrass/v2/createComponentVersion", + "responseCode":201 + }, + "input":{"shape":"CreateComponentVersionRequest"}, + "output":{"shape":"CreateComponentVersionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "CreateDeployment":{ + "name":"CreateDeployment", + "http":{ + "method":"POST", + "requestUri":"/greengrass/v2/deployments", + "responseCode":201 + }, + "input":{"shape":"CreateDeploymentRequest"}, + "output":{"shape":"CreateDeploymentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteComponent":{ + "name":"DeleteComponent", + "http":{ + "method":"DELETE", + "requestUri":"/greengrass/v2/components/{arn}", + "responseCode":204 + }, + "input":{"shape":"DeleteComponentRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteCoreDevice":{ + "name":"DeleteCoreDevice", + "http":{ + "method":"DELETE", + "requestUri":"/greengrass/v2/coreDevices/{coreDeviceThingName}", + "responseCode":204 + }, + "input":{"shape":"DeleteCoreDeviceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ] + }, + "DescribeComponent":{ + "name":"DescribeComponent", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/components/{arn}/metadata" + }, + "input":{"shape":"DescribeComponentRequest"}, + "output":{"shape":"DescribeComponentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "GetComponent":{ + "name":"GetComponent", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/components/{arn}" + }, + "input":{"shape":"GetComponentRequest"}, + "output":{"shape":"GetComponentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "GetComponentVersionArtifact":{ + "name":"GetComponentVersionArtifact", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/components/{arn}/artifacts/{artifactName+}" + }, + "input":{"shape":"GetComponentVersionArtifactRequest"}, + "output":{"shape":"GetComponentVersionArtifactResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "GetCoreDevice":{ + "name":"GetCoreDevice", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/coreDevices/{coreDeviceThingName}" + }, + "input":{"shape":"GetCoreDeviceRequest"}, + "output":{"shape":"GetCoreDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetDeployment":{ + "name":"GetDeployment", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/deployments/{deploymentId}" + }, + "input":{"shape":"GetDeploymentRequest"}, + "output":{"shape":"GetDeploymentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListComponentVersions":{ + "name":"ListComponentVersions", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/components/{arn}/versions" + }, + "input":{"shape":"ListComponentVersionsRequest"}, + "output":{"shape":"ListComponentVersionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListComponents":{ + "name":"ListComponents", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/components" + }, + "input":{"shape":"ListComponentsRequest"}, + "output":{"shape":"ListComponentsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListCoreDevices":{ + "name":"ListCoreDevices", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/coreDevices" + }, + "input":{"shape":"ListCoreDevicesRequest"}, + "output":{"shape":"ListCoreDevicesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListDeployments":{ + "name":"ListDeployments", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/deployments" + }, + "input":{"shape":"ListDeploymentsRequest"}, + "output":{"shape":"ListDeploymentsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListEffectiveDeployments":{ + "name":"ListEffectiveDeployments", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/coreDevices/{coreDeviceThingName}/effectiveDeployments" + }, + "input":{"shape":"ListEffectiveDeploymentsRequest"}, + "output":{"shape":"ListEffectiveDeploymentsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListInstalledComponents":{ + "name":"ListInstalledComponents", + "http":{ + "method":"GET", + "requestUri":"/greengrass/v2/coreDevices/{coreDeviceThingName}/installedComponents" + }, + "input":{"shape":"ListInstalledComponentsRequest"}, + "output":{"shape":"ListInstalledComponentsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ResolveComponentCandidates":{ + "name":"ResolveComponentCandidates", + "http":{ + "method":"POST", + "requestUri":"/greengrass/v2/resolveComponentCandidates" + }, + "input":{"shape":"ResolveComponentCandidatesRequest"}, + "output":{"shape":"ResolveComponentCandidatesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "CancelDeploymentRequest":{ + "type":"structure", + "required":["deploymentId"], + "members":{ + "deploymentId":{ + "shape":"NonEmptyString", + "location":"uri", + "locationName":"deploymentId" + } + } + }, + "CancelDeploymentResponse":{ + "type":"structure", + "members":{ + "message":{"shape":"NonEmptyString"} + } + }, + "CloudComponentState":{ + "type":"string", + "enum":[ + "REQUESTED", + "INITIATED", + "DEPLOYABLE", + "FAILED", + "DEPRECATED" + ] + }, + "CloudComponentStatus":{ + "type":"structure", + "members":{ + "componentState":{"shape":"CloudComponentState"}, + "message":{"shape":"NonEmptyString"}, + "errors":{"shape":"StringMap"} + } + }, + "Component":{ + "type":"structure", + "members":{ + "arn":{"shape":"ComponentARN"}, + "componentName":{"shape":"ComponentNameString"}, + "latestVersion":{"shape":"ComponentLatestVersion"} + } + }, + "ComponentARN":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:greengrass:[^:]+:(aws|[0-9]+):components:[^:]+" + }, + "ComponentCandidate":{ + "type":"structure", + "members":{ + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "versionRequirements":{"shape":"ComponentVersionRequirementMap"} + } + }, + "ComponentCandidateList":{ + "type":"list", + "member":{"shape":"ComponentCandidate"} + }, + "ComponentConfigurationPath":{ + "type":"string", + "max":256, + "min":0 + }, + "ComponentConfigurationPathList":{ + "type":"list", + "member":{"shape":"ComponentConfigurationPath"} + }, + "ComponentConfigurationString":{ + "type":"string", + "max":65536, + "min":1 + }, + "ComponentConfigurationUpdate":{ + "type":"structure", + "members":{ + "merge":{"shape":"ComponentConfigurationString"}, + "reset":{"shape":"ComponentConfigurationPathList"} + } + }, + "ComponentDependencyMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"ComponentDependencyRequirement"} + }, + "ComponentDependencyRequirement":{ + "type":"structure", + "members":{ + "versionRequirement":{"shape":"NonEmptyString"}, + "dependencyType":{"shape":"ComponentDependencyType"} + } + }, + "ComponentDependencyType":{ + "type":"string", + "enum":[ + "HARD", + "SOFT" + ] + }, + "ComponentDeploymentSpecification":{ + "type":"structure", + "members":{ + "componentVersion":{"shape":"ComponentVersionString"}, + "configurationUpdate":{"shape":"ComponentConfigurationUpdate"}, + "runWith":{"shape":"ComponentRunWith"} + } + }, + "ComponentDeploymentSpecifications":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"ComponentDeploymentSpecification"} + }, + "ComponentLatestVersion":{ + "type":"structure", + "members":{ + "arn":{"shape":"ComponentVersionARN"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "creationTimestamp":{"shape":"Timestamp"}, + "description":{"shape":"NonEmptyString"}, + "publisher":{"shape":"NonEmptyString"}, + "platforms":{"shape":"ComponentPlatformList"} + } + }, + "ComponentList":{ + "type":"list", + "member":{"shape":"Component"} + }, + "ComponentNameString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9-_.]+" + }, + "ComponentPlatform":{ + "type":"structure", + "members":{ + "name":{"shape":"NonEmptyString"}, + "attributes":{"shape":"PlatformAttributesMap"} + } + }, + "ComponentPlatformList":{ + "type":"list", + "member":{"shape":"ComponentPlatform"} + }, + "ComponentRunWith":{ + "type":"structure", + "members":{ + "posixUser":{"shape":"NonEmptyString"} + } + }, + "ComponentVersionARN":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:greengrass:[^:]+:(aws|[0-9]+):components:[^:]+:versions:[^:]+" + }, + "ComponentVersionList":{ + "type":"list", + "member":{"shape":"ComponentVersionListItem"} + }, + "ComponentVersionListItem":{ + "type":"structure", + "members":{ + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "arn":{"shape":"NonEmptyString"} + } + }, + "ComponentVersionRequirementMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"} + }, + "ComponentVersionString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9a-zA-Z-.+]+" + }, + "ComponentVisibilityScope":{ + "type":"string", + "enum":[ + "PRIVATE", + "PUBLIC" + ] + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CoreDevice":{ + "type":"structure", + "members":{ + "coreDeviceThingName":{"shape":"CoreDeviceThingName"}, + "status":{"shape":"CoreDeviceStatus"}, + "lastStatusUpdateTimestamp":{"shape":"Timestamp"} + } + }, + "CoreDeviceArchitectureString":{ + "type":"string", + "max":255, + "min":1 + }, + "CoreDevicePlatformString":{ + "type":"string", + "max":255, + "min":1 + }, + "CoreDeviceStatus":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY" + ] + }, + "CoreDeviceThingName":{ + "type":"string", + "max":128, + "min":1 + }, + "CoreDevicesList":{ + "type":"list", + "member":{"shape":"CoreDevice"} + }, + "CreateComponentVersionRequest":{ + "type":"structure", + "members":{ + "inlineRecipe":{"shape":"RecipeBlob"}, + "lambdaFunction":{"shape":"LambdaFunctionRecipeSource"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateComponentVersionResponse":{ + "type":"structure", + "required":[ + "componentName", + "componentVersion", + "creationTimestamp", + "status" + ], + "members":{ + "arn":{"shape":"ComponentVersionARN"}, + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "creationTimestamp":{"shape":"Timestamp"}, + "status":{"shape":"CloudComponentStatus"} + } + }, + "CreateDeploymentRequest":{ + "type":"structure", + "required":["targetArn"], + "members":{ + "targetArn":{"shape":"TargetARN"}, + "deploymentName":{"shape":"NonEmptyString"}, + "components":{"shape":"ComponentDeploymentSpecifications"}, + "iotJobConfiguration":{"shape":"DeploymentIoTJobConfiguration"}, + "deploymentPolicies":{"shape":"DeploymentPolicies"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateDeploymentResponse":{ + "type":"structure", + "members":{ + "deploymentId":{"shape":"NonEmptyString"}, + "iotJobId":{"shape":"NonEmptyString"}, + "iotJobArn":{"shape":"IoTJobARN"} + } + }, + "DefaultMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "DeleteComponentRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"ComponentVersionARN", + "location":"uri", + "locationName":"arn" + } + } + }, + "DeleteCoreDeviceRequest":{ + "type":"structure", + "required":["coreDeviceThingName"], + "members":{ + "coreDeviceThingName":{ + "shape":"CoreDeviceThingName", + "location":"uri", + "locationName":"coreDeviceThingName" + } + } + }, + "Deployment":{ + "type":"structure", + "members":{ + "targetArn":{"shape":"TargetARN"}, + "revisionId":{"shape":"NonEmptyString"}, + "deploymentId":{"shape":"NonEmptyString"}, + "deploymentName":{"shape":"NonEmptyString"}, + "creationTimestamp":{"shape":"Timestamp"}, + "deploymentStatus":{"shape":"DeploymentStatus"}, + "isLatestForTarget":{"shape":"IsLatestForTarget"} + } + }, + "DeploymentComponentUpdatePolicy":{ + "type":"structure", + "members":{ + "timeoutInSeconds":{ + "shape":"OptionalInteger", + "box":true + }, + "action":{"shape":"DeploymentComponentUpdatePolicyAction"} + } + }, + "DeploymentComponentUpdatePolicyAction":{ + "type":"string", + "enum":[ + "NOTIFY_COMPONENTS", + "SKIP_NOTIFY_COMPONENTS" + ] + }, + "DeploymentConfigurationValidationPolicy":{ + "type":"structure", + "members":{ + "timeoutInSeconds":{ + "shape":"OptionalInteger", + "box":true + } + } + }, + "DeploymentFailureHandlingPolicy":{ + "type":"string", + "enum":[ + "ROLLBACK", + "DO_NOTHING" + ] + }, + "DeploymentHistoryFilter":{ + "type":"string", + "enum":[ + "ALL", + "LATEST_ONLY" + ] + }, + "DeploymentID":{"type":"string"}, + "DeploymentIoTJobConfiguration":{ + "type":"structure", + "members":{ + "jobExecutionsRolloutConfig":{"shape":"IoTJobExecutionsRolloutConfig"}, + "abortConfig":{"shape":"IoTJobAbortConfig"}, + "timeoutConfig":{"shape":"IoTJobTimeoutConfig"} + } + }, + "DeploymentList":{ + "type":"list", + "member":{"shape":"Deployment"} + }, + "DeploymentName":{"type":"string"}, + "DeploymentPolicies":{ + "type":"structure", + "members":{ + "failureHandlingPolicy":{"shape":"DeploymentFailureHandlingPolicy"}, + "componentUpdatePolicy":{"shape":"DeploymentComponentUpdatePolicy"}, + "configurationValidationPolicy":{"shape":"DeploymentConfigurationValidationPolicy"} + } + }, + "DeploymentStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "COMPLETED", + "CANCELED", + "FAILED", + "INACTIVE" + ] + }, + "DescribeComponentRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"ComponentVersionARN", + "location":"uri", + "locationName":"arn" + } + } + }, + "DescribeComponentResponse":{ + "type":"structure", + "members":{ + "arn":{"shape":"ComponentVersionARN"}, + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "creationTimestamp":{"shape":"Timestamp"}, + "publisher":{"shape":"PublisherString"}, + "description":{"shape":"DescriptionString"}, + "status":{"shape":"CloudComponentStatus"}, + "platforms":{"shape":"ComponentPlatformList"}, + "tags":{"shape":"TagMap"} + } + }, + "Description":{ + "type":"string", + "max":500, + "min":1 + }, + "DescriptionString":{"type":"string"}, + "EffectiveDeployment":{ + "type":"structure", + "required":[ + "deploymentId", + "deploymentName", + "targetArn", + "coreDeviceExecutionStatus", + "creationTimestamp", + "modifiedTimestamp" + ], + "members":{ + "deploymentId":{"shape":"DeploymentID"}, + "deploymentName":{"shape":"DeploymentName"}, + "iotJobId":{"shape":"IoTJobId"}, + "iotJobArn":{"shape":"IoTJobARN"}, + "description":{"shape":"Description"}, + "targetArn":{"shape":"TargetARN"}, + "coreDeviceExecutionStatus":{"shape":"EffectiveDeploymentExecutionStatus"}, + "reason":{"shape":"Reason"}, + "creationTimestamp":{"shape":"Timestamp"}, + "modifiedTimestamp":{"shape":"Timestamp"} + } + }, + "EffectiveDeploymentExecutionStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "QUEUED", + "FAILED", + "COMPLETED", + "TIMED_OUT", + "CANCELED", + "REJECTED" + ] + }, + "EffectiveDeploymentsList":{ + "type":"list", + "member":{"shape":"EffectiveDeployment"} + }, + "FileSystemPath":{"type":"string"}, + "GGCVersion":{ + "type":"string", + "max":255, + "min":1 + }, + "GenericV2ARN":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:greengrass:[^:]+:(aws|[0-9]+):(components|deployments|coreDevices):.+" + }, + "GetComponentRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "recipeOutputFormat":{ + "shape":"RecipeOutputFormat", + "location":"querystring", + "locationName":"recipeOutputFormat" + }, + "arn":{ + "shape":"ComponentVersionARN", + "location":"uri", + "locationName":"arn" + } + } + }, + "GetComponentResponse":{ + "type":"structure", + "required":[ + "recipeOutputFormat", + "recipe" + ], + "members":{ + "recipeOutputFormat":{"shape":"RecipeOutputFormat"}, + "recipe":{"shape":"RecipeBlob"}, + "tags":{"shape":"TagMap"} + } + }, + "GetComponentVersionArtifactRequest":{ + "type":"structure", + "required":[ + "arn", + "artifactName" + ], + "members":{ + "arn":{ + "shape":"ComponentVersionARN", + "location":"uri", + "locationName":"arn" + }, + "artifactName":{ + "shape":"NonEmptyString", + "location":"uri", + "locationName":"artifactName" + } + } + }, + "GetComponentVersionArtifactResponse":{ + "type":"structure", + "required":["preSignedUrl"], + "members":{ + "preSignedUrl":{"shape":"NonEmptyString"} + } + }, + "GetCoreDeviceRequest":{ + "type":"structure", + "required":["coreDeviceThingName"], + "members":{ + "coreDeviceThingName":{ + "shape":"CoreDeviceThingName", + "location":"uri", + "locationName":"coreDeviceThingName" + } + } + }, + "GetCoreDeviceResponse":{ + "type":"structure", + "members":{ + "coreDeviceThingName":{"shape":"CoreDeviceThingName"}, + "coreVersion":{"shape":"GGCVersion"}, + "platform":{"shape":"CoreDevicePlatformString"}, + "architecture":{"shape":"CoreDeviceArchitectureString"}, + "status":{"shape":"CoreDeviceStatus"}, + "lastStatusUpdateTimestamp":{"shape":"Timestamp"}, + "tags":{"shape":"TagMap"} + } + }, + "GetDeploymentRequest":{ + "type":"structure", + "required":["deploymentId"], + "members":{ + "deploymentId":{ + "shape":"NonEmptyString", + "location":"uri", + "locationName":"deploymentId" + } + } + }, + "GetDeploymentResponse":{ + "type":"structure", + "members":{ + "targetArn":{"shape":"TargetARN"}, + "revisionId":{"shape":"NonEmptyString"}, + "deploymentId":{"shape":"NonEmptyString"}, + "deploymentName":{"shape":"NullableString"}, + "deploymentStatus":{"shape":"DeploymentStatus"}, + "iotJobId":{"shape":"NullableString"}, + "iotJobArn":{"shape":"IoTJobARN"}, + "components":{"shape":"ComponentDeploymentSpecifications"}, + "deploymentPolicies":{"shape":"DeploymentPolicies"}, + "iotJobConfiguration":{"shape":"DeploymentIoTJobConfiguration"}, + "creationTimestamp":{"shape":"Timestamp"}, + "isLatestForTarget":{"shape":"IsLatestForTarget"}, + "tags":{"shape":"TagMap"} + } + }, + "InstalledComponent":{ + "type":"structure", + "members":{ + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "lifecycleState":{"shape":"InstalledComponentLifecycleState"}, + "lifecycleStateDetails":{"shape":"LifecycleStateDetails"}, + "isRoot":{"shape":"IsRoot"} + } + }, + "InstalledComponentLifecycleState":{ + "type":"string", + "enum":[ + "NEW", + "INSTALLED", + "STARTING", + "RUNNING", + "STOPPING", + "ERRORED", + "BROKEN", + "FINISHED" + ] + }, + "InstalledComponentList":{ + "type":"list", + "member":{"shape":"InstalledComponent"} + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "IoTJobARN":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:iot:[^:]+:[0-9]+:job/.+" + }, + "IoTJobAbortAction":{ + "type":"string", + "enum":["CANCEL"] + }, + "IoTJobAbortConfig":{ + "type":"structure", + "required":["criteriaList"], + "members":{ + "criteriaList":{"shape":"IoTJobAbortCriteriaList"} + } + }, + "IoTJobAbortCriteria":{ + "type":"structure", + "required":[ + "failureType", + "action", + "thresholdPercentage", + "minNumberOfExecutedThings" + ], + "members":{ + "failureType":{"shape":"IoTJobExecutionFailureType"}, + "action":{"shape":"IoTJobAbortAction"}, + "thresholdPercentage":{"shape":"IoTJobAbortThresholdPercentage"}, + "minNumberOfExecutedThings":{"shape":"IoTJobMinimumNumberOfExecutedThings"} + } + }, + "IoTJobAbortCriteriaList":{ + "type":"list", + "member":{"shape":"IoTJobAbortCriteria"}, + "min":1 + }, + "IoTJobAbortThresholdPercentage":{ + "type":"double", + "max":100 + }, + "IoTJobExecutionFailureType":{ + "type":"string", + "enum":[ + "FAILED", + "REJECTED", + "TIMED_OUT", + "ALL" + ] + }, + "IoTJobExecutionsRolloutConfig":{ + "type":"structure", + "members":{ + "exponentialRate":{"shape":"IoTJobExponentialRolloutRate"}, + "maximumPerMinute":{ + "shape":"IoTJobMaxExecutionsPerMin", + "box":true + } + } + }, + "IoTJobExponentialRolloutRate":{ + "type":"structure", + "required":[ + "baseRatePerMinute", + "incrementFactor", + "rateIncreaseCriteria" + ], + "members":{ + "baseRatePerMinute":{"shape":"IoTJobRolloutBaseRatePerMinute"}, + "incrementFactor":{"shape":"IoTJobRolloutIncrementFactor"}, + "rateIncreaseCriteria":{"shape":"IoTJobRateIncreaseCriteria"} + } + }, + "IoTJobId":{ + "type":"string", + "max":255, + "min":1 + }, + "IoTJobInProgressTimeoutInMinutes":{"type":"long"}, + "IoTJobMaxExecutionsPerMin":{ + "type":"integer", + "max":1000, + "min":1 + }, + "IoTJobMinimumNumberOfExecutedThings":{ + "type":"integer", + "min":1 + }, + "IoTJobNumberOfThings":{ + "type":"integer", + "min":1 + }, + "IoTJobRateIncreaseCriteria":{ + "type":"structure", + "members":{ + "numberOfNotifiedThings":{ + "shape":"IoTJobNumberOfThings", + "box":true + }, + "numberOfSucceededThings":{ + "shape":"IoTJobNumberOfThings", + "box":true + } + } + }, + "IoTJobRolloutBaseRatePerMinute":{ + "type":"integer", + "max":1000, + "min":1 + }, + "IoTJobRolloutIncrementFactor":{ + "type":"double", + "max":5, + "min":1 + }, + "IoTJobTimeoutConfig":{ + "type":"structure", + "members":{ + "inProgressTimeoutInMinutes":{ + "shape":"IoTJobInProgressTimeoutInMinutes", + "box":true + } + } + }, + "IsLatestForTarget":{"type":"boolean"}, + "IsRoot":{"type":"boolean"}, + "LambdaContainerParams":{ + "type":"structure", + "members":{ + "memorySizeInKB":{ + "shape":"OptionalInteger", + "box":true + }, + "mountROSysfs":{ + "shape":"OptionalBoolean", + "box":true + }, + "volumes":{"shape":"LambdaVolumeList"}, + "devices":{"shape":"LambdaDeviceList"} + } + }, + "LambdaDeviceList":{ + "type":"list", + "member":{"shape":"LambdaDeviceMount"} + }, + "LambdaDeviceMount":{ + "type":"structure", + "required":["path"], + "members":{ + "path":{"shape":"FileSystemPath"}, + "permission":{"shape":"LambdaFilesystemPermission"}, + "addGroupOwner":{ + "shape":"OptionalBoolean", + "box":true + } + } + }, + "LambdaEnvironmentVariables":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"String"} + }, + "LambdaEventSource":{ + "type":"structure", + "required":[ + "topic", + "type" + ], + "members":{ + "topic":{"shape":"TopicString"}, + "type":{"shape":"LambdaEventSourceType"} + } + }, + "LambdaEventSourceList":{ + "type":"list", + "member":{"shape":"LambdaEventSource"} + }, + "LambdaEventSourceType":{ + "type":"string", + "enum":[ + "PUB_SUB", + "IOT_CORE" + ] + }, + "LambdaExecArg":{"type":"string"}, + "LambdaExecArgsList":{ + "type":"list", + "member":{"shape":"LambdaExecArg"} + }, + "LambdaExecutionParameters":{ + "type":"structure", + "members":{ + "eventSources":{"shape":"LambdaEventSourceList"}, + "maxQueueSize":{ + "shape":"OptionalInteger", + "box":true + }, + "maxInstancesCount":{ + "shape":"OptionalInteger", + "box":true + }, + "maxIdleTimeInSeconds":{ + "shape":"OptionalInteger", + "box":true + }, + "timeoutInSeconds":{ + "shape":"OptionalInteger", + "box":true + }, + "statusTimeoutInSeconds":{ + "shape":"OptionalInteger", + "box":true + }, + "pinned":{ + "shape":"OptionalBoolean", + "box":true + }, + "inputPayloadEncodingType":{"shape":"LambdaInputPayloadEncodingType"}, + "execArgs":{"shape":"LambdaExecArgsList"}, + "environmentVariables":{"shape":"LambdaEnvironmentVariables"}, + "linuxProcessParams":{"shape":"LambdaLinuxProcessParams"} + } + }, + "LambdaFilesystemPermission":{ + "type":"string", + "enum":[ + "ro", + "rw" + ] + }, + "LambdaFunctionARNWithVersionNumber":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:lambda:[^:]+:[0-9]+:function:[a-zA-Z0-9-_]+:[0-9]+" + }, + "LambdaFunctionRecipeSource":{ + "type":"structure", + "required":["lambdaArn"], + "members":{ + "lambdaArn":{"shape":"LambdaFunctionARNWithVersionNumber"}, + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "componentPlatforms":{"shape":"ComponentPlatformList"}, + "componentDependencies":{"shape":"ComponentDependencyMap"}, + "componentLambdaParameters":{"shape":"LambdaExecutionParameters"} + } + }, + "LambdaInputPayloadEncodingType":{ + "type":"string", + "enum":[ + "json", + "binary" + ] + }, + "LambdaIsolationMode":{ + "type":"string", + "enum":[ + "GreengrassContainer", + "NoContainer" + ] + }, + "LambdaLinuxProcessParams":{ + "type":"structure", + "members":{ + "isolationMode":{"shape":"LambdaIsolationMode"}, + "containerParams":{"shape":"LambdaContainerParams"} + } + }, + "LambdaVolumeList":{ + "type":"list", + "member":{"shape":"LambdaVolumeMount"} + }, + "LambdaVolumeMount":{ + "type":"structure", + "required":[ + "sourcePath", + "destinationPath" + ], + "members":{ + "sourcePath":{"shape":"FileSystemPath"}, + "destinationPath":{"shape":"FileSystemPath"}, + "permission":{"shape":"LambdaFilesystemPermission"}, + "addGroupOwner":{ + "shape":"OptionalBoolean", + "box":true + } + } + }, + "LifecycleStateDetails":{ + "type":"string", + "max":1000, + "min":1 + }, + "ListComponentVersionsRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"ComponentARN", + "location":"uri", + "locationName":"arn" + }, + "maxResults":{ + "shape":"DefaultMaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextTokenString", + "box":true, + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListComponentVersionsResponse":{ + "type":"structure", + "members":{ + "componentVersions":{"shape":"ComponentVersionList"}, + "nextToken":{"shape":"NextTokenString"} + } + }, + "ListComponentsRequest":{ + "type":"structure", + "members":{ + "scope":{ + "shape":"ComponentVisibilityScope", + "location":"querystring", + "locationName":"scope" + }, + "maxResults":{ + "shape":"DefaultMaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextTokenString", + "box":true, + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListComponentsResponse":{ + "type":"structure", + "members":{ + "components":{"shape":"ComponentList"}, + "nextToken":{"shape":"NextTokenString"} + } + }, + "ListCoreDevicesRequest":{ + "type":"structure", + "members":{ + "thingGroupArn":{ + "shape":"ThingGroupARN", + "location":"querystring", + "locationName":"thingGroupArn" + }, + "status":{ + "shape":"CoreDeviceStatus", + "location":"querystring", + "locationName":"status" + }, + "maxResults":{ + "shape":"DefaultMaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextTokenString", + "box":true, + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListCoreDevicesResponse":{ + "type":"structure", + "members":{ + "coreDevices":{"shape":"CoreDevicesList"}, + "nextToken":{"shape":"NextTokenString"} + } + }, + "ListDeploymentsRequest":{ + "type":"structure", + "members":{ + "targetArn":{ + "shape":"TargetARN", + "location":"querystring", + "locationName":"targetArn" + }, + "historyFilter":{ + "shape":"DeploymentHistoryFilter", + "location":"querystring", + "locationName":"historyFilter" + }, + "maxResults":{ + "shape":"DefaultMaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextTokenString", + "box":true, + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListDeploymentsResponse":{ + "type":"structure", + "members":{ + "deployments":{"shape":"DeploymentList"}, + "nextToken":{"shape":"NextTokenString"} + } + }, + "ListEffectiveDeploymentsRequest":{ + "type":"structure", + "required":["coreDeviceThingName"], + "members":{ + "coreDeviceThingName":{ + "shape":"CoreDeviceThingName", + "location":"uri", + "locationName":"coreDeviceThingName" + }, + "maxResults":{ + "shape":"DefaultMaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextTokenString", + "box":true, + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListEffectiveDeploymentsResponse":{ + "type":"structure", + "members":{ + "effectiveDeployments":{"shape":"EffectiveDeploymentsList"}, + "nextToken":{"shape":"NextTokenString"} + } + }, + "ListInstalledComponentsRequest":{ + "type":"structure", + "required":["coreDeviceThingName"], + "members":{ + "coreDeviceThingName":{ + "shape":"CoreDeviceThingName", + "location":"uri", + "locationName":"coreDeviceThingName" + }, + "maxResults":{ + "shape":"DefaultMaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextTokenString", + "box":true, + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListInstalledComponentsResponse":{ + "type":"structure", + "members":{ + "installedComponents":{"shape":"InstalledComponentList"}, + "nextToken":{"shape":"NextTokenString"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"GenericV2ARN", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "NextTokenString":{"type":"string"}, + "NonEmptyString":{ + "type":"string", + "min":1 + }, + "NullableString":{"type":"string"}, + "OptionalBoolean":{"type":"boolean"}, + "OptionalInteger":{"type":"integer"}, + "PlatformAttributesMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"} + }, + "PublisherString":{"type":"string"}, + "Reason":{"type":"string"}, + "RecipeBlob":{"type":"blob"}, + "RecipeOutputFormat":{ + "type":"string", + "enum":[ + "JSON", + "YAML" + ] + }, + "ResolveComponentCandidatesRequest":{ + "type":"structure", + "required":[ + "platform", + "componentCandidates" + ], + "members":{ + "platform":{"shape":"ComponentPlatform"}, + "componentCandidates":{"shape":"ComponentCandidateList"} + } + }, + "ResolveComponentCandidatesResponse":{ + "type":"structure", + "members":{ + "resolvedComponentVersions":{"shape":"ResolvedComponentVersionsList"} + } + }, + "ResolvedComponentVersion":{ + "type":"structure", + "members":{ + "arn":{"shape":"ComponentVersionARN"}, + "componentName":{"shape":"ComponentNameString"}, + "componentVersion":{"shape":"ComponentVersionString"}, + "recipe":{"shape":"RecipeBlob"} + } + }, + "ResolvedComponentVersionsList":{ + "type":"list", + "member":{"shape":"ResolvedComponentVersion"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "RetryAfterSeconds":{"type":"integer"}, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "quotaCode", + "serviceCode" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"}, + "quotaCode":{"shape":"String"}, + "serviceCode":{"shape":"String"} + }, + "error":{"httpStatusCode":402}, + "exception":true + }, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"GenericV2ARN", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "TargetARN":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:iot:[^:]+:[0-9]+:(thing|thinggroup)/.+" + }, + "ThingGroupARN":{ + "type":"string", + "pattern":"arn:aws(-cn|-us-gov)?:iot:[^:]+:[0-9]+:thinggroup/.+" + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "quotaCode":{"shape":"String"}, + "serviceCode":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TopicString":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"GenericV2ARN", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "reason":{"shape":"ValidationExceptionReason"}, + "fields":{"shape":"ValidationExceptionFieldList"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "name", + "message" + ], + "members":{ + "name":{"shape":"String"}, + "message":{"shape":"String"} + } + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UNKNOWN_OPERATION", + "CANNOT_PARSE", + "FIELD_VALIDATION_FAILED", + "OTHER" + ] + } + } +} diff --git a/models/apis/greengrassv2/2020-11-30/docs-2.json b/models/apis/greengrassv2/2020-11-30/docs-2.json new file mode 100644 index 0000000000..d405ee32bc --- /dev/null +++ b/models/apis/greengrassv2/2020-11-30/docs-2.json @@ -0,0 +1,1130 @@ +{ + "version": "2.0", + "service": "

AWS IoT Greengrass brings local compute, messaging, data management, sync, and ML inference capabilities to edge devices. This enables devices to collect and analyze data closer to the source of information, react autonomously to local events, and communicate securely with each other on local networks. Local devices can also communicate securely with AWS IoT Core and export IoT data to the AWS Cloud. AWS IoT Greengrass developers can use AWS Lambda functions and components to create and deploy applications to fleets of edge devices for local operation.

AWS IoT Greengrass Version 2 provides a new major version of the AWS IoT Greengrass Core software, new APIs, and a new console. Use this API reference to learn how to use the AWS IoT Greengrass V2 API operations to manage components, manage deployments, and core devices.

For more information, see What is AWS IoT Greengrass? in the AWS IoT Greengrass V2 Developer Guide.

", + "operations": { + "CancelDeployment": "

Cancels a deployment. This operation cancels the deployment for devices that haven't yet received it. If a device already received the deployment, this operation doesn't change anything for that device.

", + "CreateComponentVersion": "

Creates a component. Components are software that run on AWS IoT Greengrass core devices. After you develop and test a component on your core device, you can use this operation to upload your component to AWS IoT Greengrass. Then, you can deploy the component to other core devices.

You can use this operation to do the following:

", + "CreateDeployment": "

Creates a continuous deployment for a target, which is a AWS IoT Greengrass core device or group of core devices. When you add a new core device to a group of core devices that has a deployment, AWS IoT Greengrass deploys that group's deployment to the new device.

You can define one deployment for each target. When you create a new deployment for a target that has an existing deployment, you replace the previous deployment. AWS IoT Greengrass applies the new deployment to the target devices.

Every deployment has a revision number that indicates how many deployment revisions you define for a target. Use this operation to create a new revision of an existing deployment. This operation returns the revision number of the new deployment when you create it.

For more information, see the Create deployments in the AWS IoT Greengrass V2 Developer Guide.

", + "DeleteComponent": "

Deletes a version of a component from AWS IoT Greengrass.

This operation deletes the component's recipe and artifacts. As a result, deployments that refer to this component version will fail. If you have deployments that use this component version, you can remove the component from the deployment or update the deployment to use a valid version.

", + "DeleteCoreDevice": "

Deletes a AWS IoT Greengrass core device, which is an AWS IoT thing. This operation removes the core device from the list of core devices. This operation doesn't delete the AWS IoT thing. For more information about how to delete the AWS IoT thing, see DeleteThing in the AWS IoT API Reference.

", + "DescribeComponent": "

Retrieves metadata for a version of a component.

", + "GetComponent": "

Gets the recipe for a version of a component. Core devices can call this operation to identify the artifacts and requirements to install a component.

", + "GetComponentVersionArtifact": "

Gets the pre-signed URL to a component artifact in an S3 bucket. Core devices can call this operation to identify the URL that they can use to download an artifact to install.

", + "GetCoreDevice": "

Retrieves metadata for a AWS IoT Greengrass core device.

", + "GetDeployment": "

Gets a deployment. Deployments define the components that run on AWS IoT Greengrass core devices.

", + "ListComponentVersions": "

Retrieves a paginated list of all versions for a component.

", + "ListComponents": "

Retrieves a paginated list of component summaries. This list includes components that you have permission to view.

", + "ListCoreDevices": "

Retrieves a paginated list of AWS IoT Greengrass core devices.

", + "ListDeployments": "

Retrieves a paginated list of deployments.

", + "ListEffectiveDeployments": "

Retrieves a paginated list of deployment jobs that AWS IoT Greengrass sends to AWS IoT Greengrass core devices.

", + "ListInstalledComponents": "

Retrieves a paginated list of the components that a AWS IoT Greengrass core device runs.

", + "ListTagsForResource": "

Retrieves the list of tags for an AWS IoT Greengrass resource.

", + "ResolveComponentCandidates": "

Retrieves a list of components that meet the component, version, and platform requirements of a deployment. AWS IoT Greengrass core devices call this operation when they receive a deployment to identify the components to install.

This operation identifies components that meet all dependency requirements for a deployment. If the requirements conflict, then this operation returns an error and the deployment fails. For example, this occurs if component A requires version >2.0.0 and component B requires version <2.0.0 of a component dependency.

When you specify the component candidates to resolve, AWS IoT Greengrass compares each component's digest from the core device with the component's digest in the AWS Cloud. If the digests don't match, then AWS IoT Greengrass specifies to use the version from the AWS Cloud.

To use this operation, you must use the data plane API endpoint and authenticate with an AWS IoT device certificate. For more information, see AWS IoT Greengrass endpoints and quotas.

", + "TagResource": "

Adds tags to an AWS IoT Greengrass resource. If a tag already exists for the resource, this operation updates the tag's value.

", + "UntagResource": "

Removes a tag from an AWS IoT Greengrass resource.

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

You don't have permission to perform the action.

", + "refs": { + } + }, + "CancelDeploymentRequest": { + "base": null, + "refs": { + } + }, + "CancelDeploymentResponse": { + "base": null, + "refs": { + } + }, + "CloudComponentState": { + "base": null, + "refs": { + "CloudComponentStatus$componentState": "

The state of the component.

" + } + }, + "CloudComponentStatus": { + "base": "

Contains the status of a component in the AWS IoT Greengrass service.

", + "refs": { + "CreateComponentVersionResponse$status": "

The status of the component version in AWS IoT Greengrass V2. This status is different from the status of the component on a core device.

", + "DescribeComponentResponse$status": "

The status of the component version in AWS IoT Greengrass V2. This status is different from the status of the component on a core device.

" + } + }, + "Component": { + "base": "

Contains information about a component.

", + "refs": { + "ComponentList$member": null + } + }, + "ComponentARN": { + "base": null, + "refs": { + "Component$arn": "

The ARN of the component version.

", + "ListComponentVersionsRequest$arn": "

The ARN of the component version.

" + } + }, + "ComponentCandidate": { + "base": "

Contains information about a component that is a candidate to deploy to a AWS IoT Greengrass core device.

", + "refs": { + "ComponentCandidateList$member": null + } + }, + "ComponentCandidateList": { + "base": null, + "refs": { + "ResolveComponentCandidatesRequest$componentCandidates": "

The list of components to resolve.

" + } + }, + "ComponentConfigurationPath": { + "base": null, + "refs": { + "ComponentConfigurationPathList$member": null + } + }, + "ComponentConfigurationPathList": { + "base": null, + "refs": { + "ComponentConfigurationUpdate$reset": "

The list of configuration nodes to reset to default values on target devices. Use JSON pointers to specify each node to reset. JSON pointers start with a forward slash (/) and use forward slashes to separate the key for each level in the object. For more information, see the JSON pointer specification and Reset configuration updates in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "ComponentConfigurationString": { + "base": null, + "refs": { + "ComponentConfigurationUpdate$merge": "

A serialized JSON string that contains the configuration object to merge to target devices. The core device merges this configuration with the component's existing configuration. If this is the first time a component deploys on a device, the core device merges this configuration with the component's default configuration. This means that the core device keeps it's existing configuration for keys and values that you don't specify in this object. For more information, see Merge configuration updates in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "ComponentConfigurationUpdate": { + "base": "

Contains information about a deployment's update to a component's configuration on Greengrass core devices. For more information, see Update component configurations in the AWS IoT Greengrass V2 Developer Guide.

", + "refs": { + "ComponentDeploymentSpecification$configurationUpdate": "

The configuration updates to deploy for the component. You can define reset updates and merge updates. A reset updates the keys that you specify to the default configuration for the component. A merge updates the core device's component configuration with the keys and values that you specify. The AWS IoT Greengrass Core software applies reset updates before it applies merge updates. For more information, see Update component configurations in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "ComponentDependencyMap": { + "base": null, + "refs": { + "LambdaFunctionRecipeSource$componentDependencies": "

The component versions on which this Lambda function component depends.

" + } + }, + "ComponentDependencyRequirement": { + "base": "

Contains information about a component dependency for a Lambda function component.

", + "refs": { + "ComponentDependencyMap$value": null + } + }, + "ComponentDependencyType": { + "base": null, + "refs": { + "ComponentDependencyRequirement$dependencyType": "

The type of this dependency. Choose from the following options:

Default: HARD

" + } + }, + "ComponentDeploymentSpecification": { + "base": "

Contains information about a component to deploy.

", + "refs": { + "ComponentDeploymentSpecifications$value": null + } + }, + "ComponentDeploymentSpecifications": { + "base": null, + "refs": { + "CreateDeploymentRequest$components": "

The components to deploy. This is a dictionary, where each key is the name of a component, and each key's value is the version and configuration to deploy for that component.

", + "GetDeploymentResponse$components": "

The components to deploy. This is a dictionary, where each key is the name of a component, and each key's value is the version and configuration to deploy for that component.

" + } + }, + "ComponentLatestVersion": { + "base": "

Contains information about the latest version of a component.

", + "refs": { + "Component$latestVersion": "

The latest version of the component and its details.

" + } + }, + "ComponentList": { + "base": null, + "refs": { + "ListComponentsResponse$components": "

A list that summarizes each component.

" + } + }, + "ComponentNameString": { + "base": null, + "refs": { + "Component$componentName": "

The name of the component.

", + "ComponentCandidate$componentName": "

The name of the component.

", + "ComponentVersionListItem$componentName": "

The name of the component.

", + "CreateComponentVersionResponse$componentName": "

The name of the component.

", + "DescribeComponentResponse$componentName": "

The name of the component.

", + "InstalledComponent$componentName": "

The name of the component.

", + "LambdaFunctionRecipeSource$componentName": "

The name of the component.

Defaults to the name of the Lambda function.

", + "ResolvedComponentVersion$componentName": "

The name of the component.

" + } + }, + "ComponentPlatform": { + "base": "

Contains information about a platform that a component supports.

", + "refs": { + "ComponentPlatformList$member": null, + "ResolveComponentCandidatesRequest$platform": "

The platform to use to resolve compatible components.

" + } + }, + "ComponentPlatformList": { + "base": null, + "refs": { + "ComponentLatestVersion$platforms": "

The platforms that the component version supports.

", + "DescribeComponentResponse$platforms": "

The platforms that the component version supports.

", + "LambdaFunctionRecipeSource$componentPlatforms": "

The platforms that the component version supports.

" + } + }, + "ComponentRunWith": { + "base": "

Contains information system user and group that the AWS IoT Greengrass Core software uses to run component processes on the core device. For more information, see Configure the user and group that run components in the AWS IoT Greengrass V2 Developer Guide.

", + "refs": { + "ComponentDeploymentSpecification$runWith": "

The system user and group that the AWS IoT Greengrass Core software uses to run component processes on the core device. If you omit this parameter, the AWS IoT Greengrass Core software uses the system user and group that you configure for the core device. For more information, see Configure the user and group that run components in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "ComponentVersionARN": { + "base": null, + "refs": { + "ComponentLatestVersion$arn": "

The ARN of the component version.

", + "CreateComponentVersionResponse$arn": "

The ARN of the component version.

", + "DeleteComponentRequest$arn": "

The ARN of the component version.

", + "DescribeComponentRequest$arn": "

The ARN of the component version.

", + "DescribeComponentResponse$arn": "

The ARN of the component version.

", + "GetComponentRequest$arn": "

The ARN of the component version.

", + "GetComponentVersionArtifactRequest$arn": "

The ARN of the component version.

", + "ResolvedComponentVersion$arn": "

The ARN of the component version.

" + } + }, + "ComponentVersionList": { + "base": null, + "refs": { + "ListComponentVersionsResponse$componentVersions": "

A list of versions that exist for the component.

" + } + }, + "ComponentVersionListItem": { + "base": "

Contains information about a component version in a list.

", + "refs": { + "ComponentVersionList$member": null + } + }, + "ComponentVersionRequirementMap": { + "base": null, + "refs": { + "ComponentCandidate$versionRequirements": "

The version requirements for the component's dependencies. AWS IoT Greengrass core devices get the version requirements from component recipes.

AWS IoT Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

" + } + }, + "ComponentVersionString": { + "base": null, + "refs": { + "ComponentCandidate$componentVersion": "

The version of the component.

", + "ComponentDeploymentSpecification$componentVersion": "

The version of the component.

", + "ComponentLatestVersion$componentVersion": "

The version of the component.

", + "ComponentVersionListItem$componentVersion": "

The version of the component.

", + "CreateComponentVersionResponse$componentVersion": "

The version of the component.

", + "DescribeComponentResponse$componentVersion": "

The version of the component.

", + "InstalledComponent$componentVersion": "

The version of the component.

", + "LambdaFunctionRecipeSource$componentVersion": "

The version of the component.

Defaults to the version of the Lambda function as a semantic version. For example, if your function version is 3, the component version becomes 3.0.0.

", + "ResolvedComponentVersion$componentVersion": "

The version of the component.

" + } + }, + "ComponentVisibilityScope": { + "base": null, + "refs": { + "ListComponentsRequest$scope": "

The scope of the components to list.

Default: PRIVATE

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

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.

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

Contains information about a AWS IoT Greengrass core device, which is an AWS IoT thing that runs the AWS IoT Greengrass Core software.

", + "refs": { + "CoreDevicesList$member": null + } + }, + "CoreDeviceArchitectureString": { + "base": null, + "refs": { + "GetCoreDeviceResponse$architecture": "

The computer architecture of the core device.

" + } + }, + "CoreDevicePlatformString": { + "base": null, + "refs": { + "GetCoreDeviceResponse$platform": "

The operating system platform that the core device runs.

" + } + }, + "CoreDeviceStatus": { + "base": null, + "refs": { + "CoreDevice$status": "

The status of the core device. Core devices can have the following statuses:

", + "GetCoreDeviceResponse$status": "

The status of the core device. The core device status can be:

", + "ListCoreDevicesRequest$status": "

The core device status by which to filter. If you specify this parameter, the list includes only core devices that have this status. Choose one of the following options:

" + } + }, + "CoreDeviceThingName": { + "base": null, + "refs": { + "CoreDevice$coreDeviceThingName": "

The name of the core device. This is also the name of the AWS IoT thing.

", + "DeleteCoreDeviceRequest$coreDeviceThingName": "

The name of the core device. This is also the name of the AWS IoT thing.

", + "GetCoreDeviceRequest$coreDeviceThingName": "

The name of the core device. This is also the name of the AWS IoT thing.

", + "GetCoreDeviceResponse$coreDeviceThingName": "

The name of the core device. This is also the name of the AWS IoT thing.

", + "ListEffectiveDeploymentsRequest$coreDeviceThingName": "

The name of the core device. This is also the name of the AWS IoT thing.

", + "ListInstalledComponentsRequest$coreDeviceThingName": "

The name of the core device. This is also the name of the AWS IoT thing.

" + } + }, + "CoreDevicesList": { + "base": null, + "refs": { + "ListCoreDevicesResponse$coreDevices": "

A list that summarizes each core device.

" + } + }, + "CreateComponentVersionRequest": { + "base": null, + "refs": { + } + }, + "CreateComponentVersionResponse": { + "base": null, + "refs": { + } + }, + "CreateDeploymentRequest": { + "base": null, + "refs": { + } + }, + "CreateDeploymentResponse": { + "base": null, + "refs": { + } + }, + "DefaultMaxResults": { + "base": null, + "refs": { + "ListComponentVersionsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

", + "ListComponentsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

", + "ListCoreDevicesRequest$maxResults": "

The maximum number of results to be returned per paginated request.

", + "ListDeploymentsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

", + "ListEffectiveDeploymentsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

", + "ListInstalledComponentsRequest$maxResults": "

The maximum number of results to be returned per paginated request.

" + } + }, + "DeleteComponentRequest": { + "base": null, + "refs": { + } + }, + "DeleteCoreDeviceRequest": { + "base": null, + "refs": { + } + }, + "Deployment": { + "base": "

Contains information about a deployment.

", + "refs": { + "DeploymentList$member": null + } + }, + "DeploymentComponentUpdatePolicy": { + "base": "

Contains information about a deployment's policy that defines when components are safe to update.

Each component on a device can report whether or not it's ready to update. After a component and its dependencies are ready, they can apply the update in the deployment. You can configure whether or not the deployment notifies components of an update and waits for a response. You specify the amount of time each component has to respond to the update notification.

", + "refs": { + "DeploymentPolicies$componentUpdatePolicy": "

The component update policy for the configuration deployment. This policy defines when it's safe to deploy the configuration to devices.

" + } + }, + "DeploymentComponentUpdatePolicyAction": { + "base": null, + "refs": { + "DeploymentComponentUpdatePolicy$action": "

Whether or not to notify components and wait for components to become safe to update. Choose from the following options:

Default: NOTIFY_COMPONENTS

" + } + }, + "DeploymentConfigurationValidationPolicy": { + "base": "

Contains information about how long a component on a core device can validate its configuration updates before it times out. Components can use the SubscribeToValidateConfigurationUpdates IPC operation to receive notifications when a deployment specifies a configuration update. Then, components can respond with the SendConfigurationValidityReport IPC operation. For more information, see the Create deployments in the AWS IoT Greengrass V2 Developer Guide.

", + "refs": { + "DeploymentPolicies$configurationValidationPolicy": "

The configuration validation policy for the configuration deployment. This policy defines how long each component has to validate its configure updates.

" + } + }, + "DeploymentFailureHandlingPolicy": { + "base": null, + "refs": { + "DeploymentPolicies$failureHandlingPolicy": "

The failure handling policy for the configuration deployment. This policy defines what to do if the deployment fails.

Default: ROLLBACK

" + } + }, + "DeploymentHistoryFilter": { + "base": null, + "refs": { + "ListDeploymentsRequest$historyFilter": "

The filter for the list of deployments. Choose one of the following options:

Default: LATEST_ONLY

" + } + }, + "DeploymentID": { + "base": null, + "refs": { + "EffectiveDeployment$deploymentId": "

The ID of the deployment.

" + } + }, + "DeploymentIoTJobConfiguration": { + "base": "

Contains information about an AWS IoT job configuration.

", + "refs": { + "CreateDeploymentRequest$iotJobConfiguration": "

The job configuration for the deployment configuration. The job configuration specifies the rollout, timeout, and stop configurations for the deployment configuration.

", + "GetDeploymentResponse$iotJobConfiguration": "

The job configuration for the deployment configuration. The job configuration specifies the rollout, timeout, and stop configurations for the deployment configuration.

" + } + }, + "DeploymentList": { + "base": null, + "refs": { + "ListDeploymentsResponse$deployments": "

A list that summarizes each deployment.

" + } + }, + "DeploymentName": { + "base": null, + "refs": { + "EffectiveDeployment$deploymentName": "

The name of the deployment.

You can create deployments without names. If you create a deployment without a name, the AWS IoT Greengrass V2 console shows the deployment name as <targetType>:<targetName>, where targetType and targetName are the type and name of the deployment target.

" + } + }, + "DeploymentPolicies": { + "base": "

Contains information about policies that define how a deployment updates components and handles failure.

", + "refs": { + "CreateDeploymentRequest$deploymentPolicies": "

The deployment policies for the deployment. These policies define how the deployment updates components and handles failure.

", + "GetDeploymentResponse$deploymentPolicies": "

The deployment policies for the deployment. These policies define how the deployment updates components and handles failure.

" + } + }, + "DeploymentStatus": { + "base": null, + "refs": { + "Deployment$deploymentStatus": "

The status of the deployment.

", + "GetDeploymentResponse$deploymentStatus": "

The status of the deployment.

" + } + }, + "DescribeComponentRequest": { + "base": null, + "refs": { + } + }, + "DescribeComponentResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "EffectiveDeployment$description": "

The description of the deployment job.

" + } + }, + "DescriptionString": { + "base": null, + "refs": { + "DescribeComponentResponse$description": "

The description of the component version.

" + } + }, + "EffectiveDeployment": { + "base": "

Contains information about a deployment job that AWS IoT Greengrass sends to a AWS IoT Greengrass core device.

", + "refs": { + "EffectiveDeploymentsList$member": null + } + }, + "EffectiveDeploymentExecutionStatus": { + "base": null, + "refs": { + "EffectiveDeployment$coreDeviceExecutionStatus": "

The status of the deployment job on the AWS IoT Greengrass core device.

" + } + }, + "EffectiveDeploymentsList": { + "base": null, + "refs": { + "ListEffectiveDeploymentsResponse$effectiveDeployments": "

A list that summarizes each deployment on the core device.

" + } + }, + "FileSystemPath": { + "base": null, + "refs": { + "LambdaDeviceMount$path": "

The mount path for the device in the file system.

", + "LambdaVolumeMount$sourcePath": "

The path to the physical volume in the file system.

", + "LambdaVolumeMount$destinationPath": "

The path to the logical volume in the file system.

" + } + }, + "GGCVersion": { + "base": null, + "refs": { + "GetCoreDeviceResponse$coreVersion": "

The version of the AWS IoT Greengrass Core software that the core device runs. This version is equivalent to the version of the AWS IoT Greengrass nucleus component that runs on the core device. For more information, see the AWS IoT Greengrass nucleus component in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "GenericV2ARN": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource.

", + "TagResourceRequest$resourceArn": "

The ARN of the resource to tag.

", + "UntagResourceRequest$resourceArn": "

The ARN of the resource to untag.

" + } + }, + "GetComponentRequest": { + "base": null, + "refs": { + } + }, + "GetComponentResponse": { + "base": null, + "refs": { + } + }, + "GetComponentVersionArtifactRequest": { + "base": null, + "refs": { + } + }, + "GetComponentVersionArtifactResponse": { + "base": null, + "refs": { + } + }, + "GetCoreDeviceRequest": { + "base": null, + "refs": { + } + }, + "GetCoreDeviceResponse": { + "base": null, + "refs": { + } + }, + "GetDeploymentRequest": { + "base": null, + "refs": { + } + }, + "GetDeploymentResponse": { + "base": null, + "refs": { + } + }, + "InstalledComponent": { + "base": "

Contains information about a component on a AWS IoT Greengrass core device.

", + "refs": { + "InstalledComponentList$member": null + } + }, + "InstalledComponentLifecycleState": { + "base": null, + "refs": { + "InstalledComponent$lifecycleState": "

The lifecycle state of the component.

" + } + }, + "InstalledComponentList": { + "base": null, + "refs": { + "ListInstalledComponentsResponse$installedComponents": "

A list that summarizes each component on the core device.

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

AWS IoT Greengrass can't process your request right now. Try again later.

", + "refs": { + } + }, + "IoTJobARN": { + "base": null, + "refs": { + "CreateDeploymentResponse$iotJobArn": "

The ARN of the AWS IoT job that applies the deployment to target devices.

", + "EffectiveDeployment$iotJobArn": "

The ARN of the AWS IoT job that applies the deployment to target devices.

", + "GetDeploymentResponse$iotJobArn": "

The ARN of the AWS IoT job that applies the deployment to target devices.

" + } + }, + "IoTJobAbortAction": { + "base": null, + "refs": { + "IoTJobAbortCriteria$action": "

The action to perform when the criteria are met.

" + } + }, + "IoTJobAbortConfig": { + "base": "

Contains a list of criteria that define when and how to cancel a configuration deployment.

", + "refs": { + "DeploymentIoTJobConfiguration$abortConfig": "

The stop configuration for the job. This configuration defines when and how to stop a job rollout.

" + } + }, + "IoTJobAbortCriteria": { + "base": "

Contains criteria that define when and how to cancel a job.

The deployment stops if the following conditions are true:

  1. The number of things that receive the deployment exceeds the minNumberOfExecutedThings.

  2. The percentage of failures with type failureType exceeds the thresholdPercentage.

", + "refs": { + "IoTJobAbortCriteriaList$member": null + } + }, + "IoTJobAbortCriteriaList": { + "base": null, + "refs": { + "IoTJobAbortConfig$criteriaList": "

The list of criteria that define when and how to cancel the configuration deployment.

" + } + }, + "IoTJobAbortThresholdPercentage": { + "base": null, + "refs": { + "IoTJobAbortCriteria$thresholdPercentage": "

The minimum percentage of failureType failures that occur before the job can cancel.

This parameter supports up to two digits after the decimal (for example, you can specify 10.9 or 10.99, but not 10.999).

" + } + }, + "IoTJobExecutionFailureType": { + "base": null, + "refs": { + "IoTJobAbortCriteria$failureType": "

The type of job deployment failure that can cancel a job.

" + } + }, + "IoTJobExecutionsRolloutConfig": { + "base": "

Contains information about the rollout configuration for a job. This configuration defines the rate at which the job deploys a configuration to a fleet of target devices.

", + "refs": { + "DeploymentIoTJobConfiguration$jobExecutionsRolloutConfig": "

The rollout configuration for the job. This configuration defines the rate at which the job rolls out to the fleet of target devices.

" + } + }, + "IoTJobExponentialRolloutRate": { + "base": "

Contains information about an exponential rollout rate for a configuration deployment job.

", + "refs": { + "IoTJobExecutionsRolloutConfig$exponentialRate": "

The exponential rate to increase the job rollout rate.

" + } + }, + "IoTJobId": { + "base": null, + "refs": { + "EffectiveDeployment$iotJobId": "

The ID of the AWS IoT job that applies the deployment to target devices.

" + } + }, + "IoTJobInProgressTimeoutInMinutes": { + "base": null, + "refs": { + "IoTJobTimeoutConfig$inProgressTimeoutInMinutes": "

The amount of time, in minutes, that devices have to complete the job. The timer starts when the job status is set to IN_PROGRESS. If the job status doesn't change to a terminal state before the time expires, then the job status is set to TIMED_OUT.

The timeout interval must be between 1 minute and 7 days (10080 minutes).

" + } + }, + "IoTJobMaxExecutionsPerMin": { + "base": null, + "refs": { + "IoTJobExecutionsRolloutConfig$maximumPerMinute": "

The maximum number of devices that receive a pending job notification, per minute.

" + } + }, + "IoTJobMinimumNumberOfExecutedThings": { + "base": null, + "refs": { + "IoTJobAbortCriteria$minNumberOfExecutedThings": "

The minimum number of things that receive the configuration before the job can cancel.

" + } + }, + "IoTJobNumberOfThings": { + "base": null, + "refs": { + "IoTJobRateIncreaseCriteria$numberOfNotifiedThings": "

The number of devices to receive the job notification before the rollout rate increases.

", + "IoTJobRateIncreaseCriteria$numberOfSucceededThings": "

The number of devices to successfully run the configuration job before the rollout rate increases.

" + } + }, + "IoTJobRateIncreaseCriteria": { + "base": "

Contains information about criteria to meet before a job increases its rollout rate. Specify either numberOfNotifiedThings or numberOfSucceededThings.

", + "refs": { + "IoTJobExponentialRolloutRate$rateIncreaseCriteria": "

The criteria to increase the rollout rate for the job.

" + } + }, + "IoTJobRolloutBaseRatePerMinute": { + "base": null, + "refs": { + "IoTJobExponentialRolloutRate$baseRatePerMinute": "

The minimum number of devices that receive a pending job notification, per minute, when the job starts. This parameter defines the initial rollout rate of the job.

" + } + }, + "IoTJobRolloutIncrementFactor": { + "base": null, + "refs": { + "IoTJobExponentialRolloutRate$incrementFactor": "

The exponential factor to increase the rollout rate for the job.

This parameter supports up to one digit after the decimal (for example, you can specify 1.5, but not 1.55).

" + } + }, + "IoTJobTimeoutConfig": { + "base": "

Contains information about the timeout configuration for a job.

", + "refs": { + "DeploymentIoTJobConfiguration$timeoutConfig": "

The timeout configuration for the job. This configuration defines the amount of time each device has to complete the job.

" + } + }, + "IsLatestForTarget": { + "base": null, + "refs": { + "Deployment$isLatestForTarget": "

Whether or not the deployment is the latest revision for its target.

", + "GetDeploymentResponse$isLatestForTarget": "

Whether or not the deployment is the latest revision for its target.

" + } + }, + "IsRoot": { + "base": null, + "refs": { + "InstalledComponent$isRoot": "

Whether or not the component is a root component.

" + } + }, + "LambdaContainerParams": { + "base": "

Contains information about a container in which AWS Lambda functions run on AWS IoT Greengrass core devices.

", + "refs": { + "LambdaLinuxProcessParams$containerParams": "

The parameters for the container in which the Lambda function runs.

" + } + }, + "LambdaDeviceList": { + "base": null, + "refs": { + "LambdaContainerParams$devices": "

The list of system devices that the container can access.

" + } + }, + "LambdaDeviceMount": { + "base": "

Contains information about a device that Linux processes in a container can access.

", + "refs": { + "LambdaDeviceList$member": null + } + }, + "LambdaEnvironmentVariables": { + "base": null, + "refs": { + "LambdaExecutionParameters$environmentVariables": "

The map of environment variables that are available to the Lambda function when it runs.

" + } + }, + "LambdaEventSource": { + "base": "

Contains information about an event source for an AWS Lambda function. The event source defines the topics on which this Lambda function subscribes to receive messages that run the function.

", + "refs": { + "LambdaEventSourceList$member": null + } + }, + "LambdaEventSourceList": { + "base": null, + "refs": { + "LambdaExecutionParameters$eventSources": "

The list of event sources to which to subscribe to receive work messages. The Lambda function runs when it receives a message from an event source. You can subscribe this function to local publish/subscribe messages and AWS IoT Core MQTT messages.

" + } + }, + "LambdaEventSourceType": { + "base": null, + "refs": { + "LambdaEventSource$type": "

The type of event source. Choose from the following options:

" + } + }, + "LambdaExecArg": { + "base": null, + "refs": { + "LambdaExecArgsList$member": null + } + }, + "LambdaExecArgsList": { + "base": null, + "refs": { + "LambdaExecutionParameters$execArgs": "

The list of arguments to pass to the Lambda function when it runs.

" + } + }, + "LambdaExecutionParameters": { + "base": "

Contains parameters for a Lambda function that runs on AWS IoT Greengrass.

", + "refs": { + "LambdaFunctionRecipeSource$componentLambdaParameters": "

The system and runtime parameters for the Lambda function as it runs on the AWS IoT Greengrass core device.

" + } + }, + "LambdaFilesystemPermission": { + "base": null, + "refs": { + "LambdaDeviceMount$permission": "

The permission to access the device: read/only (ro) or read/write (rw).

Default: ro

", + "LambdaVolumeMount$permission": "

The permission to access the volume: read/only (ro) or read/write (rw).

Default: ro

" + } + }, + "LambdaFunctionARNWithVersionNumber": { + "base": null, + "refs": { + "LambdaFunctionRecipeSource$lambdaArn": "

The ARN of the Lambda function. The ARN must include the version of the function to import. You can't use version aliases like $LATEST.

" + } + }, + "LambdaFunctionRecipeSource": { + "base": "

Contains information about an AWS Lambda function to import to create a component.

", + "refs": { + "CreateComponentVersionRequest$lambdaFunction": "

The parameters to create a component from a Lambda function.

You must specify either inlineRecipe or lambdaFunction.

" + } + }, + "LambdaInputPayloadEncodingType": { + "base": null, + "refs": { + "LambdaExecutionParameters$inputPayloadEncodingType": "

The encoding type that the Lambda function supports.

Default: json

" + } + }, + "LambdaIsolationMode": { + "base": null, + "refs": { + "LambdaLinuxProcessParams$isolationMode": "

The isolation mode for the process that contains the Lambda function. The process can run in an isolated runtime environment inside the AWS IoT Greengrass container, or as a regular process outside any container.

Default: GreengrassContainer

" + } + }, + "LambdaLinuxProcessParams": { + "base": "

Contains parameters for a Linux process that contains an AWS Lambda function.

", + "refs": { + "LambdaExecutionParameters$linuxProcessParams": "

The parameters for the Linux process that contains the Lambda function.

" + } + }, + "LambdaVolumeList": { + "base": null, + "refs": { + "LambdaContainerParams$volumes": "

The list of volumes that the container can access.

" + } + }, + "LambdaVolumeMount": { + "base": "

Contains information about a volume that Linux processes in a container can access. When you define a volume, the AWS IoT Greengrass Core software mounts the source files to the destination inside the container.

", + "refs": { + "LambdaVolumeList$member": null + } + }, + "LifecycleStateDetails": { + "base": null, + "refs": { + "InstalledComponent$lifecycleStateDetails": "

The details about the lifecycle state of the component.

" + } + }, + "ListComponentVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListComponentVersionsResponse": { + "base": null, + "refs": { + } + }, + "ListComponentsRequest": { + "base": null, + "refs": { + } + }, + "ListComponentsResponse": { + "base": null, + "refs": { + } + }, + "ListCoreDevicesRequest": { + "base": null, + "refs": { + } + }, + "ListCoreDevicesResponse": { + "base": null, + "refs": { + } + }, + "ListDeploymentsRequest": { + "base": null, + "refs": { + } + }, + "ListDeploymentsResponse": { + "base": null, + "refs": { + } + }, + "ListEffectiveDeploymentsRequest": { + "base": null, + "refs": { + } + }, + "ListEffectiveDeploymentsResponse": { + "base": null, + "refs": { + } + }, + "ListInstalledComponentsRequest": { + "base": null, + "refs": { + } + }, + "ListInstalledComponentsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "NextTokenString": { + "base": null, + "refs": { + "ListComponentVersionsRequest$nextToken": "

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

", + "ListComponentVersionsResponse$nextToken": "

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

", + "ListComponentsRequest$nextToken": "

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

", + "ListComponentsResponse$nextToken": "

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

", + "ListCoreDevicesRequest$nextToken": "

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

", + "ListCoreDevicesResponse$nextToken": "

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

", + "ListDeploymentsRequest$nextToken": "

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

", + "ListDeploymentsResponse$nextToken": "

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

", + "ListEffectiveDeploymentsRequest$nextToken": "

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

", + "ListEffectiveDeploymentsResponse$nextToken": "

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

", + "ListInstalledComponentsRequest$nextToken": "

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

", + "ListInstalledComponentsResponse$nextToken": "

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

" + } + }, + "NonEmptyString": { + "base": null, + "refs": { + "CancelDeploymentRequest$deploymentId": "

The ID of the deployment.

", + "CancelDeploymentResponse$message": "

A message that communicates if the cancel was successful.

", + "CloudComponentStatus$message": "

A message that communicates details, such as errors, about the status of the component.

", + "ComponentDependencyMap$key": null, + "ComponentDependencyRequirement$versionRequirement": "

The component version requirement for the component dependency.

AWS IoT Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

", + "ComponentDeploymentSpecifications$key": null, + "ComponentLatestVersion$description": "

The description of the component version.

", + "ComponentLatestVersion$publisher": "

The publisher of the component version.

", + "ComponentPlatform$name": "

The friendly name of the platform. This name helps you identify the platform.

If you omit this parameter, AWS IoT Greengrass creates a friendly name from the os and architecture of the platform.

", + "ComponentRunWith$posixUser": "

The POSIX system user and (optional) group to use to run this component. Specify the user and group separated by a colon (:) in the following format: user:group. The group is optional. If you don't specify a group, the AWS IoT Greengrass Core software uses the primary user for the group.

", + "ComponentVersionListItem$arn": "

The ARN of the component version.

", + "ComponentVersionRequirementMap$key": null, + "ComponentVersionRequirementMap$value": null, + "CreateDeploymentRequest$deploymentName": "

The name of the deployment.

You can create deployments without names. If you create a deployment without a name, the AWS IoT Greengrass V2 console shows the deployment name as <targetType>:<targetName>, where targetType and targetName are the type and name of the deployment target.

", + "CreateDeploymentResponse$deploymentId": "

The ID of the deployment.

", + "CreateDeploymentResponse$iotJobId": "

The ID of the AWS IoT job that applies the deployment to target devices.

", + "Deployment$revisionId": "

The revision number of the deployment.

", + "Deployment$deploymentId": "

The ID of the deployment.

", + "Deployment$deploymentName": "

The name of the deployment.

You can create deployments without names. If you create a deployment without a name, the AWS IoT Greengrass V2 console shows the deployment name as <targetType>:<targetName>, where targetType and targetName are the type and name of the deployment target.

", + "GetComponentVersionArtifactRequest$artifactName": "

The name of the artifact.

", + "GetComponentVersionArtifactResponse$preSignedUrl": "

The URL to the artifact.

", + "GetDeploymentRequest$deploymentId": "

The ID of the deployment.

", + "GetDeploymentResponse$revisionId": "

The revision number of the deployment.

", + "GetDeploymentResponse$deploymentId": "

The ID of the deployment.

", + "LambdaEnvironmentVariables$key": null, + "PlatformAttributesMap$key": null, + "PlatformAttributesMap$value": null, + "StringMap$key": null, + "StringMap$value": null + } + }, + "NullableString": { + "base": null, + "refs": { + "GetDeploymentResponse$deploymentName": "

The name of the deployment.

You can create deployments without names. If you create a deployment without a name, the AWS IoT Greengrass V2 console shows the deployment name as <targetType>:<targetName>, where targetType and targetName are the type and name of the deployment target.

", + "GetDeploymentResponse$iotJobId": "

The ID of the AWS IoT job that applies the deployment to target devices.

" + } + }, + "OptionalBoolean": { + "base": null, + "refs": { + "LambdaContainerParams$mountROSysfs": "

Whether or not the container can read information from the device's /sys folder.

Default: false

", + "LambdaDeviceMount$addGroupOwner": "

Whether or not to add the component's system user as an owner of the device.

Default: false

", + "LambdaExecutionParameters$pinned": "

Whether or not the Lambda function is pinned, or long-lived.

Default: true

", + "LambdaVolumeMount$addGroupOwner": "

Whether or not to add the AWS IoT Greengrass user group as an owner of the volume.

Default: false

" + } + }, + "OptionalInteger": { + "base": null, + "refs": { + "DeploymentComponentUpdatePolicy$timeoutInSeconds": "

The amount of time in seconds that each component on a device has to report that it's safe to update. If the component waits for longer than this timeout, then the deployment proceeds on the device.

Default: 60

", + "DeploymentConfigurationValidationPolicy$timeoutInSeconds": "

The amount of time in seconds that a component can validate its configuration updates. If the validation time exceeds this timeout, then the deployment proceeds for the device.

Default: 30

", + "LambdaContainerParams$memorySizeInKB": "

The memory size of the container, expressed in kilobytes.

Default: 16384 (16 MB)

", + "LambdaExecutionParameters$maxQueueSize": "

The maximum size of the message queue for the Lambda function component. The AWS IoT Greengrass core stores messages in a FIFO (first-in-first-out) queue until it can run the Lambda function to consume each message.

", + "LambdaExecutionParameters$maxInstancesCount": "

The maximum number of instances that a non-pinned Lambda function can run at the same time.

", + "LambdaExecutionParameters$maxIdleTimeInSeconds": "

The maximum amount of time in seconds that a non-pinned Lambda function can idle before the AWS IoT Greengrass Core software stops its process.

", + "LambdaExecutionParameters$timeoutInSeconds": "

The maximum amount of time in seconds that the Lambda function can process a work item.

", + "LambdaExecutionParameters$statusTimeoutInSeconds": "

The interval in seconds at which a pinned (also known as long-lived) Lambda function component sends status updates to the Lambda manager component.

" + } + }, + "PlatformAttributesMap": { + "base": null, + "refs": { + "ComponentPlatform$attributes": "

A dictionary of attributes for the platform. The AWS IoT Greengrass Core software defines the os and platform by default. You can specify additional platform attributes for a core device when you deploy the AWS IoT Greengrass nucleus component. For more information, see the AWS IoT Greengrass nucleus component in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "PublisherString": { + "base": null, + "refs": { + "DescribeComponentResponse$publisher": "

The publisher of the component version.

" + } + }, + "Reason": { + "base": null, + "refs": { + "EffectiveDeployment$reason": "

The reason code for the update, if the job was updated.

" + } + }, + "RecipeBlob": { + "base": null, + "refs": { + "CreateComponentVersionRequest$inlineRecipe": "

The recipe to use to create the component. The recipe defines the component's metadata, parameters, dependencies, lifecycle, artifacts, and platform compatibility.

You must specify either inlineRecipe or lambdaFunction.

", + "GetComponentResponse$recipe": "

The recipe of the component version.

", + "ResolvedComponentVersion$recipe": "

The recipe of the component version.

" + } + }, + "RecipeOutputFormat": { + "base": null, + "refs": { + "GetComponentRequest$recipeOutputFormat": "

The format of the recipe.

", + "GetComponentResponse$recipeOutputFormat": "

The format of the recipe.

" + } + }, + "ResolveComponentCandidatesRequest": { + "base": null, + "refs": { + } + }, + "ResolveComponentCandidatesResponse": { + "base": null, + "refs": { + } + }, + "ResolvedComponentVersion": { + "base": "

Contains information about a component version that is compatible to run on a AWS IoT Greengrass core device.

", + "refs": { + "ResolvedComponentVersionsList$member": null + } + }, + "ResolvedComponentVersionsList": { + "base": null, + "refs": { + "ResolveComponentCandidatesResponse$resolvedComponentVersions": "

A list of components that meet the requirements that you specify in the request. This list includes each component's recipe that you can use to install the component.

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

The requested resource can't be found.

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

The amount of time to wait before you retry the request.

", + "ThrottlingException$retryAfterSeconds": "

The amount of time to wait before you retry the request.

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

Your request exceeds a service quota. For example, you might have the maximum number of components that you can create.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "ConflictException$resourceId": "

The ID of the resource that conflicts with the request.

", + "ConflictException$resourceType": "

The type of the resource that conflicts with the request.

", + "InternalServerException$message": null, + "LambdaEnvironmentVariables$value": null, + "ResourceNotFoundException$message": null, + "ResourceNotFoundException$resourceId": "

The ID of the resource that isn't found.

", + "ResourceNotFoundException$resourceType": "

The type of the resource that isn't found.

", + "ServiceQuotaExceededException$message": null, + "ServiceQuotaExceededException$resourceId": "

The ID of the resource that exceeds the service quota.

", + "ServiceQuotaExceededException$resourceType": "

The type of the resource that exceeds the service quota.

", + "ServiceQuotaExceededException$quotaCode": "

The code for the quota in Service Quotas.

", + "ServiceQuotaExceededException$serviceCode": "

The code for the service in Service Quotas.

", + "ThrottlingException$message": null, + "ThrottlingException$quotaCode": "

The code for the quota in Service Quotas.

", + "ThrottlingException$serviceCode": "

The code for the service in Service Quotas.

", + "ValidationException$message": null, + "ValidationExceptionField$name": "

The name of the exception field.

", + "ValidationExceptionField$message": "

The message of the exception field.

" + } + }, + "StringMap": { + "base": null, + "refs": { + "CloudComponentStatus$errors": "

A dictionary of errors that communicate why the component is in an error state. For example, if AWS IoT Greengrass can't access an artifact for the component, then errors contains the artifact's URI as a key, and the error message as the value for that key.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

A list of keys for tags to remove from the resource.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateComponentVersionRequest$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "CreateDeploymentRequest$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "DescribeComponentResponse$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "GetComponentResponse$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "GetCoreDeviceResponse$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "GetDeploymentResponse$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "ListTagsForResourceResponse$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

", + "TagResourceRequest$tags": "

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "TargetARN": { + "base": null, + "refs": { + "CreateDeploymentRequest$targetArn": "

The ARN of the target AWS IoT thing or thing group.

", + "Deployment$targetArn": "

The ARN of the target AWS IoT thing or thing group.

", + "EffectiveDeployment$targetArn": "

The ARN of the target AWS IoT thing or thing group.

", + "GetDeploymentResponse$targetArn": "

The ARN of the target AWS IoT thing or thing group.

", + "ListDeploymentsRequest$targetArn": "

The ARN of the target AWS IoT thing or thing group.

" + } + }, + "ThingGroupARN": { + "base": null, + "refs": { + "ListCoreDevicesRequest$thingGroupArn": "

The ARN of the AWS IoT thing group by which to filter. If you specify this parameter, the list includes only core devices that are members of this thing group.

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

Your request exceeded a request rate quota. For example, you might have exceeded the amount of times that you can retrieve device or deployment status per second.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "ComponentLatestVersion$creationTimestamp": "

The time at which the component was created, expressed in ISO 8601 format.

", + "CoreDevice$lastStatusUpdateTimestamp": "

The time at which the core device's status last updated, expressed in ISO 8601 format.

", + "CreateComponentVersionResponse$creationTimestamp": "

The time at which the component was created, expressed in ISO 8601 format.

", + "Deployment$creationTimestamp": "

The time at which the deployment was created, expressed in ISO 8601 format.

", + "DescribeComponentResponse$creationTimestamp": "

The time at which the component was created, expressed in ISO 8601 format.

", + "EffectiveDeployment$creationTimestamp": "

The time at which the deployment was created, expressed in ISO 8601 format.

", + "EffectiveDeployment$modifiedTimestamp": "

The time at which the deployment job was last modified, expressed in ISO 8601 format.

", + "GetCoreDeviceResponse$lastStatusUpdateTimestamp": "

The time at which the core device's status last updated, expressed in ISO 8601 format.

", + "GetDeploymentResponse$creationTimestamp": "

The time at which the deployment was created, expressed in ISO 8601 format.

" + } + }, + "TopicString": { + "base": null, + "refs": { + "LambdaEventSource$topic": "

The topic to which to subscribe to receive event messages.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.

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

Contains information about a validation exception field.

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

The list of fields that failed to validate.

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

The reason for the validation exception.

" + } + } + } +} diff --git a/models/apis/greengrassv2/2020-11-30/examples-1.json b/models/apis/greengrassv2/2020-11-30/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/greengrassv2/2020-11-30/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/greengrassv2/2020-11-30/paginators-1.json b/models/apis/greengrassv2/2020-11-30/paginators-1.json new file mode 100644 index 0000000000..8f32216e19 --- /dev/null +++ b/models/apis/greengrassv2/2020-11-30/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListComponentVersions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "componentVersions" + }, + "ListComponents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "components" + }, + "ListCoreDevices": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "coreDevices" + }, + "ListDeployments": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "deployments" + }, + "ListEffectiveDeployments": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "effectiveDeployments" + }, + "ListInstalledComponents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "installedComponents" + } + } +} diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index fdc0bc8717..335b007aaf 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -190,6 +190,21 @@ {"shape":"InternalFailureException"} ] }, + "CancelDetectMitigationActionsTask":{ + "name":"CancelDetectMitigationActionsTask", + "http":{ + "method":"PUT", + "requestUri":"/detect/mitigationactions/tasks/{taskId}/cancel" + }, + "input":{"shape":"CancelDetectMitigationActionsTaskRequest"}, + "output":{"shape":"CancelDetectMitigationActionsTaskResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "CancelJob":{ "name":"CancelJob", "http":{ @@ -319,6 +334,22 @@ {"shape":"InternalFailureException"} ] }, + "CreateCustomMetric":{ + "name":"CreateCustomMetric", + "http":{ + "method":"POST", + "requestUri":"/custom-metric/{metricName}" + }, + "input":{"shape":"CreateCustomMetricRequest"}, + "output":{"shape":"CreateCustomMetricResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "CreateDimension":{ "name":"CreateDimension", "http":{ @@ -777,6 +808,20 @@ {"shape":"ResourceNotFoundException"} ] }, + "DeleteCustomMetric":{ + "name":"DeleteCustomMetric", + "http":{ + "method":"DELETE", + "requestUri":"/custom-metric/{metricName}" + }, + "input":{"shape":"DeleteCustomMetricRequest"}, + "output":{"shape":"DeleteCustomMetricResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "DeleteDimension":{ "name":"DeleteDimension", "http":{ @@ -1288,6 +1333,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeCustomMetric":{ + "name":"DescribeCustomMetric", + "http":{ + "method":"GET", + "requestUri":"/custom-metric/{metricName}" + }, + "input":{"shape":"DescribeCustomMetricRequest"}, + "output":{"shape":"DescribeCustomMetricResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "DescribeDefaultAuthorizer":{ "name":"DescribeDefaultAuthorizer", "http":{ @@ -1305,6 +1365,21 @@ {"shape":"InternalFailureException"} ] }, + "DescribeDetectMitigationActionsTask":{ + "name":"DescribeDetectMitigationActionsTask", + "http":{ + "method":"GET", + "requestUri":"/detect/mitigationactions/tasks/{taskId}" + }, + "input":{"shape":"DescribeDetectMitigationActionsTaskRequest"}, + "output":{"shape":"DescribeDetectMitigationActionsTaskResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "DescribeDimension":{ "name":"DescribeDimension", "http":{ @@ -1683,6 +1758,21 @@ {"shape":"ConflictingResourceUpdateException"} ] }, + "GetBehaviorModelTrainingSummaries":{ + "name":"GetBehaviorModelTrainingSummaries", + "http":{ + "method":"GET", + "requestUri":"/behavior-model-training/summaries" + }, + "input":{"shape":"GetBehaviorModelTrainingSummariesRequest"}, + "output":{"shape":"GetBehaviorModelTrainingSummariesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetCardinality":{ "name":"GetCardinality", "http":{ @@ -2099,6 +2189,48 @@ {"shape":"InternalFailureException"} ] }, + "ListCustomMetrics":{ + "name":"ListCustomMetrics", + "http":{ + "method":"GET", + "requestUri":"/custom-metrics" + }, + "input":{"shape":"ListCustomMetricsRequest"}, + "output":{"shape":"ListCustomMetricsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, + "ListDetectMitigationActionsExecutions":{ + "name":"ListDetectMitigationActionsExecutions", + "http":{ + "method":"GET", + "requestUri":"/detect/mitigationactions/executions" + }, + "input":{"shape":"ListDetectMitigationActionsExecutionsRequest"}, + "output":{"shape":"ListDetectMitigationActionsExecutionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, + "ListDetectMitigationActionsTasks":{ + "name":"ListDetectMitigationActionsTasks", + "http":{ + "method":"GET", + "requestUri":"/detect/mitigationactions/tasks" + }, + "input":{"shape":"ListDetectMitigationActionsTasksRequest"}, + "output":{"shape":"ListDetectMitigationActionsTasksResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "ListDimensions":{ "name":"ListDimensions", "http":{ @@ -2924,6 +3056,22 @@ {"shape":"InternalFailureException"} ] }, + "StartDetectMitigationActionsTask":{ + "name":"StartDetectMitigationActionsTask", + "http":{ + "method":"PUT", + "requestUri":"/detect/mitigationactions/tasks/{taskId}" + }, + "input":{"shape":"StartDetectMitigationActionsTaskRequest"}, + "output":{"shape":"StartDetectMitigationActionsTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TaskAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "StartOnDemandAuditTask":{ "name":"StartOnDemandAuditTask", "http":{ @@ -3152,6 +3300,21 @@ {"shape":"InternalFailureException"} ] }, + "UpdateCustomMetric":{ + "name":"UpdateCustomMetric", + "http":{ + "method":"PATCH", + "requestUri":"/custom-metric/{metricName}" + }, + "input":{"shape":"UpdateCustomMetricRequest"}, + "output":{"shape":"UpdateCustomMetricResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "UpdateDimension":{ "name":"UpdateDimension", "http":{ @@ -3502,7 +3665,8 @@ "iotSiteWise":{"shape":"IotSiteWiseAction"}, "stepFunctions":{"shape":"StepFunctionsAction"}, "timestream":{"shape":"TimestreamAction"}, - "http":{"shape":"HttpAction"} + "http":{"shape":"HttpAction"}, + "kafka":{"shape":"KafkaAction"} } }, "ActionList":{ @@ -3528,6 +3692,7 @@ "securityProfileName":{"shape":"SecurityProfileName"}, "behavior":{"shape":"Behavior"}, "lastViolationValue":{"shape":"MetricValue"}, + "violationEventAdditionalInfo":{"shape":"ViolationEventAdditionalInfo"}, "lastViolationTime":{"shape":"Timestamp"}, "violationStartTime":{"shape":"Timestamp"} } @@ -3909,7 +4074,7 @@ "AuditMitigationActionExecutionMetadata":{ "type":"structure", "members":{ - "taskId":{"shape":"AuditMitigationActionsTaskId"}, + "taskId":{"shape":"MitigationActionsTaskId"}, "findingId":{"shape":"FindingId"}, "actionName":{"shape":"MitigationActionName"}, "actionId":{"shape":"MitigationActionId"}, @@ -3935,16 +4100,10 @@ "PENDING" ] }, - "AuditMitigationActionsTaskId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, "AuditMitigationActionsTaskMetadata":{ "type":"structure", "members":{ - "taskId":{"shape":"AuditMitigationActionsTaskId"}, + "taskId":{"shape":"MitigationActionsTaskId"}, "startTime":{"shape":"Timestamp"}, "taskStatus":{"shape":"AuditMitigationActionsTaskStatus"} } @@ -4260,7 +4419,8 @@ "name":{"shape":"BehaviorName"}, "metric":{"shape":"BehaviorMetric"}, "metricDimension":{"shape":"MetricDimension"}, - "criteria":{"shape":"BehaviorCriteria"} + "criteria":{"shape":"BehaviorCriteria"}, + "suppressAlerts":{"shape":"SuppressAlerts"} } }, "BehaviorCriteria":{ @@ -4271,10 +4431,34 @@ "durationSeconds":{"shape":"DurationSeconds"}, "consecutiveDatapointsToAlarm":{"shape":"ConsecutiveDatapointsToAlarm"}, "consecutiveDatapointsToClear":{"shape":"ConsecutiveDatapointsToClear"}, - "statisticalThreshold":{"shape":"StatisticalThreshold"} + "statisticalThreshold":{"shape":"StatisticalThreshold"}, + "mlDetectionConfig":{"shape":"MachineLearningDetectionConfig"} } }, + "BehaviorCriteriaType":{ + "type":"string", + "enum":[ + "STATIC", + "STATISTICAL", + "MACHINE_LEARNING" + ] + }, "BehaviorMetric":{"type":"string"}, + "BehaviorModelTrainingSummaries":{ + "type":"list", + "member":{"shape":"BehaviorModelTrainingSummary"} + }, + "BehaviorModelTrainingSummary":{ + "type":"structure", + "members":{ + "securityProfileName":{"shape":"SecurityProfileName"}, + "behaviorName":{"shape":"BehaviorName"}, + "trainingDataCollectionStartDate":{"shape":"Timestamp"}, + "modelStatus":{"shape":"ModelStatus"}, + "datapointsCollectionPercentage":{"shape":"DataCollectionPercentage"}, + "lastModelRefreshDate":{"shape":"Timestamp"} + } + }, "BehaviorName":{ "type":"string", "max":128, @@ -4368,7 +4552,7 @@ "required":["taskId"], "members":{ "taskId":{ - "shape":"AuditMitigationActionsTaskId", + "shape":"MitigationActionsTaskId", "location":"uri", "locationName":"taskId" } @@ -4406,6 +4590,22 @@ } } }, + "CancelDetectMitigationActionsTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"MitigationActionsTaskId", + "location":"uri", + "locationName":"taskId" + } + } + }, + "CancelDetectMitigationActionsTaskResponse":{ + "type":"structure", + "members":{ + } + }, "CancelJobExecutionRequest":{ "type":"structure", "required":[ @@ -4597,6 +4797,11 @@ } }, "ClientId":{"type":"string"}, + "ClientProperties":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, "ClientRequestToken":{ "type":"string", "max":64, @@ -4685,10 +4890,20 @@ "in-cidr-set", "not-in-cidr-set", "in-port-set", - "not-in-port-set" + "not-in-port-set", + "in-set", + "not-in-set" ] }, "CompliantChecksCount":{"type":"integer"}, + "ConfidenceLevel":{ + "type":"string", + "enum":[ + "LOW", + "MEDIUM", + "HIGH" + ] + }, "Configuration":{ "type":"structure", "members":{ @@ -4828,6 +5043,35 @@ "certificatePem":{"shape":"CertificatePem"} } }, + "CreateCustomMetricRequest":{ + "type":"structure", + "required":[ + "metricName", + "metricType", + "clientRequestToken" + ], + "members":{ + "metricName":{ + "shape":"MetricName", + "location":"uri", + "locationName":"metricName" + }, + "displayName":{"shape":"CustomMetricDisplayName"}, + "metricType":{"shape":"CustomMetricType"}, + "tags":{"shape":"TagList"}, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateCustomMetricResponse":{ + "type":"structure", + "members":{ + "metricName":{"shape":"MetricName"}, + "metricArn":{"shape":"CustomMetricArn"} + } + }, "CreateDimensionRequest":{ "type":"structure", "required":[ @@ -5376,10 +5620,30 @@ "signatureAlgorithm":{"shape":"SignatureAlgorithm"} } }, + "CustomMetricArn":{"type":"string"}, + "CustomMetricDisplayName":{ + "type":"string", + "max":128, + "pattern":"[\\p{Graph}\\x20]*" + }, + "CustomMetricType":{ + "type":"string", + "enum":[ + "string-list", + "ip-address-list", + "number-list", + "number" + ] + }, "CustomerVersion":{ "type":"integer", "min":1 }, + "DataCollectionPercentage":{ + "type":"double", + "max":100, + "min":0 + }, "DateType":{"type":"timestamp"}, "DayOfMonth":{ "type":"string", @@ -5508,6 +5772,22 @@ "error":{"httpStatusCode":409}, "exception":true }, + "DeleteCustomMetricRequest":{ + "type":"structure", + "required":["metricName"], + "members":{ + "metricName":{ + "shape":"MetricName", + "location":"uri", + "locationName":"metricName" + } + } + }, + "DeleteCustomMetricResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDimensionRequest":{ "type":"structure", "required":["name"], @@ -5975,7 +6255,7 @@ "required":["taskId"], "members":{ "taskId":{ - "shape":"AuditMitigationActionsTaskId", + "shape":"MitigationActionsTaskId", "location":"uri", "locationName":"taskId" } @@ -6110,6 +6390,28 @@ "certificateDescription":{"shape":"CertificateDescription"} } }, + "DescribeCustomMetricRequest":{ + "type":"structure", + "required":["metricName"], + "members":{ + "metricName":{ + "shape":"MetricName", + "location":"uri", + "locationName":"metricName" + } + } + }, + "DescribeCustomMetricResponse":{ + "type":"structure", + "members":{ + "metricName":{"shape":"MetricName"}, + "metricArn":{"shape":"CustomMetricArn"}, + "metricType":{"shape":"CustomMetricType"}, + "displayName":{"shape":"CustomMetricDisplayName"}, + "creationDate":{"shape":"Timestamp"}, + "lastModifiedDate":{"shape":"Timestamp"} + } + }, "DescribeDefaultAuthorizerRequest":{ "type":"structure", "members":{ @@ -6121,6 +6423,23 @@ "authorizerDescription":{"shape":"AuthorizerDescription"} } }, + "DescribeDetectMitigationActionsTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"MitigationActionsTaskId", + "location":"uri", + "locationName":"taskId" + } + } + }, + "DescribeDetectMitigationActionsTaskResponse":{ + "type":"structure", + "members":{ + "taskSummary":{"shape":"DetectMitigationActionsTaskSummary"} + } + }, "DescribeDimensionRequest":{ "type":"structure", "required":["name"], @@ -6632,6 +6951,84 @@ "min":1, "pattern":"[^\\p{C}]+" }, + "DetectMitigationActionExecution":{ + "type":"structure", + "members":{ + "taskId":{"shape":"MitigationActionsTaskId"}, + "violationId":{"shape":"ViolationId"}, + "actionName":{"shape":"MitigationActionName"}, + "thingName":{"shape":"DeviceDefenderThingName"}, + "executionStartDate":{"shape":"Timestamp"}, + "executionEndDate":{"shape":"Timestamp"}, + "status":{"shape":"DetectMitigationActionExecutionStatus"}, + "errorCode":{"shape":"DetectMitigationActionExecutionErrorCode"}, + "message":{"shape":"ErrorMessage"} + } + }, + "DetectMitigationActionExecutionErrorCode":{"type":"string"}, + "DetectMitigationActionExecutionList":{ + "type":"list", + "member":{"shape":"DetectMitigationActionExecution"} + }, + "DetectMitigationActionExecutionStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESSFUL", + "FAILED", + "SKIPPED" + ] + }, + "DetectMitigationActionsTaskStatistics":{ + "type":"structure", + "members":{ + "actionsExecuted":{"shape":"GenericLongValue"}, + "actionsSkipped":{"shape":"GenericLongValue"}, + "actionsFailed":{"shape":"GenericLongValue"} + } + }, + "DetectMitigationActionsTaskStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESSFUL", + "FAILED", + "CANCELED" + ] + }, + "DetectMitigationActionsTaskSummary":{ + "type":"structure", + "members":{ + "taskId":{"shape":"MitigationActionsTaskId"}, + "taskStatus":{"shape":"DetectMitigationActionsTaskStatus"}, + "taskStartTime":{"shape":"Timestamp"}, + "taskEndTime":{"shape":"Timestamp"}, + "target":{"shape":"DetectMitigationActionsTaskTarget"}, + "violationEventOccurrenceRange":{"shape":"ViolationEventOccurrenceRange"}, + "onlyActiveViolationsIncluded":{"shape":"PrimitiveBoolean"}, + "suppressedAlertsIncluded":{"shape":"PrimitiveBoolean"}, + "actionsDefinition":{"shape":"MitigationActionList"}, + "taskStatistics":{"shape":"DetectMitigationActionsTaskStatistics"} + } + }, + "DetectMitigationActionsTaskSummaryList":{ + "type":"list", + "member":{"shape":"DetectMitigationActionsTaskSummary"} + }, + "DetectMitigationActionsTaskTarget":{ + "type":"structure", + "members":{ + "violationIds":{"shape":"TargetViolationIdsForDetectMitigationActions"}, + "securityProfileName":{"shape":"SecurityProfileName"}, + "behaviorName":{"shape":"BehaviorName"} + } + }, + "DetectMitigationActionsToExecuteList":{ + "type":"list", + "member":{"shape":"MitigationActionName"}, + "max":5, + "min":1 + }, "DeviceCertificateUpdateAction":{ "type":"string", "enum":["DEACTIVATE"] @@ -6980,6 +7377,34 @@ "Forced":{"type":"boolean"}, "FunctionArn":{"type":"string"}, "GenerationId":{"type":"string"}, + "GenericLongValue":{"type":"long"}, + "GetBehaviorModelTrainingSummariesRequest":{ + "type":"structure", + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "location":"querystring", + "locationName":"securityProfileName" + }, + "maxResults":{ + "shape":"TinyMaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetBehaviorModelTrainingSummariesResponse":{ + "type":"structure", + "members":{ + "summaries":{"shape":"BehaviorModelTrainingSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, "GetCardinalityRequest":{ "type":"structure", "required":["queryString"], @@ -7629,6 +8054,21 @@ "min":1 }, "JsonDocument":{"type":"string"}, + "KafkaAction":{ + "type":"structure", + "required":[ + "destinationArn", + "topic", + "clientProperties" + ], + "members":{ + "destinationArn":{"shape":"AwsArn"}, + "topic":{"shape":"String"}, + "key":{"shape":"String"}, + "partition":{"shape":"String"}, + "clientProperties":{"shape":"ClientProperties"} + } + }, "Key":{"type":"string"}, "KeyName":{ "type":"string", @@ -7672,6 +8112,7 @@ "min":1 }, "LastModifiedDate":{"type":"timestamp"}, + "LastUpdatedAtDate":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", "members":{ @@ -7693,6 +8134,16 @@ "location":"querystring", "locationName":"securityProfileName" }, + "behaviorCriteriaType":{ + "shape":"BehaviorCriteriaType", + "location":"querystring", + "locationName":"behaviorCriteriaType" + }, + "listSuppressedAlerts":{ + "shape":"ListSuppressedAlerts", + "location":"querystring", + "locationName":"listSuppressedAlerts" + }, "nextToken":{ "shape":"NextToken", "location":"querystring", @@ -7773,7 +8224,7 @@ ], "members":{ "taskId":{ - "shape":"AuditMitigationActionsTaskId", + "shape":"MitigationActionsTaskId", "location":"querystring", "locationName":"taskId" }, @@ -8066,6 +8517,111 @@ "nextMarker":{"shape":"Marker"} } }, + "ListCustomMetricsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListCustomMetricsResponse":{ + "type":"structure", + "members":{ + "metricNames":{"shape":"MetricNames"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListDetectMitigationActionsExecutionsRequest":{ + "type":"structure", + "members":{ + "taskId":{ + "shape":"MitigationActionsTaskId", + "location":"querystring", + "locationName":"taskId" + }, + "violationId":{ + "shape":"ViolationId", + "location":"querystring", + "locationName":"violationId" + }, + "thingName":{ + "shape":"DeviceDefenderThingName", + "location":"querystring", + "locationName":"thingName" + }, + "startTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"endTime" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListDetectMitigationActionsExecutionsResponse":{ + "type":"structure", + "members":{ + "actionsExecutions":{"shape":"DetectMitigationActionExecutionList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListDetectMitigationActionsTasksRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "startTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"endTime" + } + } + }, + "ListDetectMitigationActionsTasksResponse":{ + "type":"structure", + "members":{ + "tasks":{"shape":"DetectMitigationActionsTaskSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListDimensionsRequest":{ "type":"structure", "members":{ @@ -8623,6 +9179,11 @@ "shape":"DimensionName", "location":"querystring", "locationName":"dimensionName" + }, + "metricName":{ + "shape":"MetricName", + "location":"querystring", + "locationName":"metricName" } } }, @@ -8660,6 +9221,7 @@ "nextToken":{"shape":"NextToken"} } }, + "ListSuppressedAlerts":{"type":"boolean"}, "ListSuppressedFindings":{"type":"boolean"}, "ListTagsForResourceRequest":{ "type":"structure", @@ -9130,6 +9692,16 @@ "location":"querystring", "locationName":"securityProfileName" }, + "behaviorCriteriaType":{ + "shape":"BehaviorCriteriaType", + "location":"querystring", + "locationName":"behaviorCriteriaType" + }, + "listSuppressedAlerts":{ + "shape":"ListSuppressedAlerts", + "location":"querystring", + "locationName":"listSuppressedAlerts" + }, "nextToken":{ "shape":"NextToken", "location":"querystring", @@ -9195,6 +9767,13 @@ "logLevel":{"shape":"LogLevel"} } }, + "MachineLearningDetectionConfig":{ + "type":"structure", + "required":["confidenceLevel"], + "members":{ + "confidenceLevel":{"shape":"ConfidenceLevel"} + } + }, "MalformedPolicyException":{ "type":"structure", "members":{ @@ -9247,6 +9826,16 @@ "operator":{"shape":"DimensionValueOperator"} } }, + "MetricName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "MetricNames":{ + "type":"list", + "member":{"shape":"MetricName"} + }, "MetricToRetain":{ "type":"structure", "required":["metric"], @@ -9260,7 +9849,10 @@ "members":{ "count":{"shape":"UnsignedLong"}, "cidrs":{"shape":"Cidrs"}, - "ports":{"shape":"Ports"} + "ports":{"shape":"Ports"}, + "number":{"shape":"Number"}, + "numbers":{"shape":"NumberList"}, + "strings":{"shape":"StringList"} } }, "Minimum":{"type":"double"}, @@ -9333,6 +9925,20 @@ "PUBLISH_FINDING_TO_SNS" ] }, + "MitigationActionsTaskId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "ModelStatus":{ + "type":"string", + "enum":[ + "PENDING_BUILD", + "ACTIVE", + "EXPIRED" + ] + }, "MqttClientId":{ "type":"string", "max":65535, @@ -9381,6 +9987,12 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NullableBoolean":{"type":"boolean"}, + "Number":{"type":"double"}, + "NumberList":{ + "type":"list", + "member":{"shape":"Number"} + }, "NumberOfThings":{ "type":"integer", "min":1 @@ -9597,6 +10209,7 @@ "expiresInSec":{"shape":"ExpiresInSec"} } }, + "PrimitiveBoolean":{"type":"boolean"}, "Principal":{"type":"string"}, "PrincipalArn":{"type":"string"}, "PrincipalId":{ @@ -10196,6 +10809,11 @@ "member":{"shape":"AttributeName"} }, "Seconds":{"type":"integer"}, + "SecurityGroupId":{"type":"string"}, + "SecurityGroupList":{ + "type":"list", + "member":{"shape":"SecurityGroupId"} + }, "SecurityProfileArn":{"type":"string"}, "SecurityProfileDescription":{ "type":"string", @@ -10436,7 +11054,7 @@ ], "members":{ "taskId":{ - "shape":"AuditMitigationActionsTaskId", + "shape":"MitigationActionsTaskId", "location":"uri", "locationName":"taskId" }, @@ -10451,7 +11069,38 @@ "StartAuditMitigationActionsTaskResponse":{ "type":"structure", "members":{ - "taskId":{"shape":"AuditMitigationActionsTaskId"} + "taskId":{"shape":"MitigationActionsTaskId"} + } + }, + "StartDetectMitigationActionsTaskRequest":{ + "type":"structure", + "required":[ + "taskId", + "target", + "actions", + "clientRequestToken" + ], + "members":{ + "taskId":{ + "shape":"MitigationActionsTaskId", + "location":"uri", + "locationName":"taskId" + }, + "target":{"shape":"DetectMitigationActionsTaskTarget"}, + "actions":{"shape":"DetectMitigationActionsToExecuteList"}, + "violationEventOccurrenceRange":{"shape":"ViolationEventOccurrenceRange"}, + "includeOnlyActiveViolations":{"shape":"NullableBoolean"}, + "includeSuppressedAlerts":{"shape":"NullableBoolean"}, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "StartDetectMitigationActionsTaskResponse":{ + "type":"structure", + "members":{ + "taskId":{"shape":"MitigationActionsTaskId"} } }, "StartOnDemandAuditTaskRequest":{ @@ -10643,15 +11292,25 @@ "member":{"shape":"StreamSummary"} }, "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"stringValue"} + }, "StringMap":{ "type":"map", "key":{"shape":"String"}, "value":{"shape":"String"} }, + "SubnetId":{"type":"string"}, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"SubnetId"} + }, "SucceededFindingsCount":{"type":"long"}, "SucceededThings":{"type":"integer"}, "Sum":{"type":"double"}, "SumOfSquares":{"type":"double"}, + "SuppressAlerts":{"type":"boolean"}, "SuppressIndefinitely":{"type":"boolean"}, "SuppressedNonCompliantResourcesCount":{"type":"long"}, "TableName":{"type":"string"}, @@ -10714,6 +11373,12 @@ "SNAPSHOT" ] }, + "TargetViolationIdsForDetectMitigationActions":{ + "type":"list", + "member":{"shape":"ViolationId"}, + "max":25, + "min":1 + }, "Targets":{ "type":"list", "member":{"shape":"Target"}, @@ -11082,6 +11747,11 @@ }, "TimestreamTimestampUnit":{"type":"string"}, "TimestreamTimestampValue":{"type":"string"}, + "TinyMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, "TlsContext":{ "type":"structure", "members":{ @@ -11125,14 +11795,18 @@ "members":{ "arn":{"shape":"AwsArn"}, "status":{"shape":"TopicRuleDestinationStatus"}, + "createdAt":{"shape":"CreatedAtDate"}, + "lastUpdatedAt":{"shape":"LastUpdatedAtDate"}, "statusReason":{"shape":"String"}, - "httpUrlProperties":{"shape":"HttpUrlDestinationProperties"} + "httpUrlProperties":{"shape":"HttpUrlDestinationProperties"}, + "vpcProperties":{"shape":"VpcDestinationProperties"} } }, "TopicRuleDestinationConfiguration":{ "type":"structure", "members":{ - "httpUrlConfiguration":{"shape":"HttpUrlDestinationConfiguration"} + "httpUrlConfiguration":{"shape":"HttpUrlDestinationConfiguration"}, + "vpcConfiguration":{"shape":"VpcDestinationConfiguration"} } }, "TopicRuleDestinationMaxResults":{ @@ -11146,7 +11820,8 @@ "ENABLED", "IN_PROGRESS", "DISABLED", - "ERROR" + "ERROR", + "DELETING" ] }, "TopicRuleDestinationSummaries":{ @@ -11158,8 +11833,11 @@ "members":{ "arn":{"shape":"AwsArn"}, "status":{"shape":"TopicRuleDestinationStatus"}, + "createdAt":{"shape":"CreatedAtDate"}, + "lastUpdatedAt":{"shape":"LastUpdatedAtDate"}, "statusReason":{"shape":"String"}, - "httpUrlSummary":{"shape":"HttpUrlDestinationSummary"} + "httpUrlSummary":{"shape":"HttpUrlDestinationSummary"}, + "vpcDestinationSummary":{"shape":"VpcDestinationSummary"} } }, "TopicRuleList":{ @@ -11405,6 +12083,32 @@ } } }, + "UpdateCustomMetricRequest":{ + "type":"structure", + "required":[ + "metricName", + "displayName" + ], + "members":{ + "metricName":{ + "shape":"MetricName", + "location":"uri", + "locationName":"metricName" + }, + "displayName":{"shape":"CustomMetricDisplayName"} + } + }, + "UpdateCustomMetricResponse":{ + "type":"structure", + "members":{ + "metricName":{"shape":"MetricName"}, + "metricArn":{"shape":"CustomMetricArn"}, + "metricType":{"shape":"CustomMetricType"}, + "displayName":{"shape":"CustomMetricDisplayName"}, + "creationDate":{"shape":"Timestamp"}, + "lastModifiedDate":{"shape":"Timestamp"} + } + }, "UpdateDeviceCertificateParams":{ "type":"structure", "required":["action"], @@ -11811,10 +12515,28 @@ "securityProfileName":{"shape":"SecurityProfileName"}, "behavior":{"shape":"Behavior"}, "metricValue":{"shape":"MetricValue"}, + "violationEventAdditionalInfo":{"shape":"ViolationEventAdditionalInfo"}, "violationEventType":{"shape":"ViolationEventType"}, "violationEventTime":{"shape":"Timestamp"} } }, + "ViolationEventAdditionalInfo":{ + "type":"structure", + "members":{ + "confidenceLevel":{"shape":"ConfidenceLevel"} + } + }, + "ViolationEventOccurrenceRange":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"} + } + }, "ViolationEventType":{ "type":"string", "enum":[ @@ -11833,9 +12555,43 @@ "min":1, "pattern":"[a-zA-Z0-9\\-]+" }, + "VpcDestinationConfiguration":{ + "type":"structure", + "required":[ + "subnetIds", + "vpcId", + "roleArn" + ], + "members":{ + "subnetIds":{"shape":"SubnetIdList"}, + "securityGroups":{"shape":"SecurityGroupList"}, + "vpcId":{"shape":"VpcId"}, + "roleArn":{"shape":"AwsArn"} + } + }, + "VpcDestinationProperties":{ + "type":"structure", + "members":{ + "subnetIds":{"shape":"SubnetIdList"}, + "securityGroups":{"shape":"SecurityGroupList"}, + "vpcId":{"shape":"VpcId"}, + "roleArn":{"shape":"AwsArn"} + } + }, + "VpcDestinationSummary":{ + "type":"structure", + "members":{ + "subnetIds":{"shape":"SubnetIdList"}, + "securityGroups":{"shape":"SecurityGroupList"}, + "vpcId":{"shape":"VpcId"}, + "roleArn":{"shape":"AwsArn"} + } + }, + "VpcId":{"type":"string"}, "WaitingForDataCollectionChecksCount":{"type":"integer"}, "errorMessage":{"type":"string"}, "resourceArn":{"type":"string"}, - "resourceId":{"type":"string"} + "resourceId":{"type":"string"}, + "stringValue":{"type":"string"} } } diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index 6273781ba8..74dddb6ab8 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -11,8 +11,9 @@ "AttachSecurityProfile": "

Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it.

", "AttachThingPrincipal": "

Attaches the specified principal to the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

", "CancelAuditMitigationActionsTask": "

Cancels a mitigation action task that is in progress. If the task is not in progress, an InvalidRequestException occurs.

", - "CancelAuditTask": "

Cancels an audit that is in progress. The audit can be either scheduled or on-demand. If the audit is not in progress, an \"InvalidRequestException\" occurs.

", + "CancelAuditTask": "

Cancels an audit that is in progress. The audit can be either scheduled or on demand. If the audit isn't in progress, an \"InvalidRequestException\" occurs.

", "CancelCertificateTransfer": "

Cancels a pending transfer for the specified certificate.

Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled.

After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.

", + "CancelDetectMitigationActionsTask": "

Cancels a Device Defender ML Detect mitigation action.

", "CancelJob": "

Cancels a job.

", "CancelJobExecution": "

Cancels the execution of a job for a given thing.

", "ClearDefaultAuthorizer": "

Clears the default authorizer.

", @@ -21,6 +22,7 @@ "CreateAuthorizer": "

Creates an authorizer.

", "CreateBillingGroup": "

Creates a billing group.

", "CreateCertificateFromCsr": "

Creates an X.509 certificate using the specified certificate signing request.

Note: The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves.

Note: Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

", + "CreateCustomMetric": "

Use this API to define a Custom Metric published by your devices to Device Defender.

", "CreateDimension": "

Create a dimension that you can use to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

", "CreateDomainConfiguration": "

Creates a domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "CreateDynamicThingGroup": "

Creates a dynamic thing group.

", @@ -48,6 +50,7 @@ "DeleteBillingGroup": "

Deletes the billing group.

", "DeleteCACertificate": "

Deletes a registered CA certificate.

", "DeleteCertificate": "

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.

", + "DeleteCustomMetric": "

Before you can delete a custom metric, you must first remove the custom metric from all security profiles it's a part of. The security profile associated with the custom metric can be found using the ListSecurityProfiles API with metricName set to your custom metric name.

Deletes a Device Defender detect custom metric.

", "DeleteDimension": "

Removes the specified dimension from your AWS account.

", "DeleteDomainConfiguration": "

Deletes the specified domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "DeleteDynamicThingGroup": "

Deletes a dynamic thing group.

", @@ -72,7 +75,7 @@ "DeleteV2LoggingLevel": "

Deletes a logging level.

", "DeprecateThingType": "

Deprecates a thing type. You can not associate new things with deprecated thing type.

", "DescribeAccountAuditConfiguration": "

Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

", - "DescribeAuditFinding": "

Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and when the audit that returned the finding was started.

", + "DescribeAuditFinding": "

Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and the start time when the audit that returned the finding.

", "DescribeAuditMitigationActionsTask": "

Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings. Properties include the actions being applied, the audit checks to which they're being applied, the task status, and aggregated task statistics.

", "DescribeAuditSuppression": "

Gets information about a Device Defender audit suppression.

", "DescribeAuditTask": "

Gets information about a Device Defender audit.

", @@ -80,7 +83,9 @@ "DescribeBillingGroup": "

Returns information about a billing group.

", "DescribeCACertificate": "

Describes a registered CA certificate.

", "DescribeCertificate": "

Gets information about the specified certificate.

", + "DescribeCustomMetric": "

Gets information about a Device Defender detect custom metric.

", "DescribeDefaultAuthorizer": "

Describes the default authorizer.

", + "DescribeDetectMitigationActionsTask": "

Gets information about a Device Defender ML Detect mitigation action.

", "DescribeDimension": "

Provides details about a dimension that is defined in your AWS account.

", "DescribeDomainConfiguration": "

Gets summary information about a domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "DescribeEndpoint": "

Returns a unique endpoint specific to the AWS account making the call.

", @@ -105,6 +110,7 @@ "DetachThingPrincipal": "

Detaches the specified principal from the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

This call is asynchronous. It might take several seconds for the detachment to propagate.

", "DisableTopicRule": "

Disables the rule.

", "EnableTopicRule": "

Enables the rule.

", + "GetBehaviorModelTrainingSummaries": "

Returns a Device Defender's ML Detect Security Profile training model's status.

", "GetCardinality": "

Returns the approximate count of unique values that match the query.

", "GetEffectivePolicies": "

Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the AWS IoT device gateway.

", "GetIndexingConfiguration": "

Gets the indexing configuration.

", @@ -131,6 +137,9 @@ "ListCACertificates": "

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

", "ListCertificates": "

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

", "ListCertificatesByCA": "

List the device certificates signed by the specified CA certificate.

", + "ListCustomMetrics": "

Lists your Device Defender detect custom metrics.

", + "ListDetectMitigationActionsExecutions": "

Lists mitigation actions executions for a Device Defender ML Detect Security Profile.

", + "ListDetectMitigationActionsTasks": "

List of Device Defender ML Detect mitigation actions tasks.

", "ListDimensions": "

List the set of dimensions that are defined for your AWS account.

", "ListDomainConfigurations": "

Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name.

The domain configuration feature is in public preview and is subject to change.

", "ListIndices": "

Lists the search indices.

", @@ -149,7 +158,7 @@ "ListProvisioningTemplates": "

Lists the fleet provisioning templates in your AWS account.

", "ListRoleAliases": "

Lists the role aliases registered in your account.

", "ListScheduledAudits": "

Lists all of your scheduled audits.

", - "ListSecurityProfiles": "

Lists the Device Defender security profiles you have created. You can use filters to list only those security profiles associated with a thing group or only those associated with your account.

", + "ListSecurityProfiles": "

Lists the Device Defender security profiles you've created. You can filter security profiles by dimension or custom metric.

dimensionName and metricName cannot be used in the same request.

", "ListSecurityProfilesForTarget": "

Lists the Device Defender security profiles attached to a target (thing group).

", "ListStreams": "

Lists all of the streams in your AWS account.

", "ListTagsForResource": "

Lists the tags (metadata) you have assigned to the resource.

", @@ -183,6 +192,7 @@ "SetV2LoggingLevel": "

Sets the logging level.

", "SetV2LoggingOptions": "

Sets the logging options for the V2 logging service.

", "StartAuditMitigationActionsTask": "

Starts a task that applies a set of mitigation actions to the specified target.

", + "StartDetectMitigationActionsTask": "

Starts a Device Defender ML Detect mitigation actions task.

", "StartOnDemandAuditTask": "

Starts an on-demand Device Defender audit.

", "StartThingRegistrationTask": "

Creates a bulk thing provisioning task.

", "StopThingRegistrationTask": "

Cancels a bulk thing provisioning task.

", @@ -197,7 +207,8 @@ "UpdateBillingGroup": "

Updates information about the billing group.

", "UpdateCACertificate": "

Updates a registered CA certificate.

", "UpdateCertificate": "

Updates the status of the specified certificate. This operation is idempotent.

Certificates must be in the ACTIVE state to authenticate devices that use a certificate to connect to AWS IoT.

Within a few minutes of updating a certificate from the ACTIVE state to any other state, AWS IoT disconnects all devices that used that certificate to connect. Devices cannot use a certificate that is not in the ACTIVE state to reconnect.

", - "UpdateDimension": "

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and re-create it).

", + "UpdateCustomMetric": "

Updates a Device Defender detect custom metric.

", + "UpdateDimension": "

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and recreate it).

", "UpdateDomainConfiguration": "

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

The domain configuration feature is in public preview and is subject to change.

", "UpdateDynamicThingGroup": "

Updates a dynamic thing group.

", "UpdateEventConfigurations": "

Updates the event configurations.

", @@ -323,19 +334,19 @@ "AdditionalMetricsToRetainList": { "base": null, "refs": { - "CreateSecurityProfileRequest$additionalMetricsToRetain": "

Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "CreateSecurityProfileRequest$additionalMetricsToRetain": "

Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

", "DescribeSecurityProfileResponse$additionalMetricsToRetain": "

Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", - "UpdateSecurityProfileRequest$additionalMetricsToRetain": "

Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "UpdateSecurityProfileRequest$additionalMetricsToRetain": "

Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

", "UpdateSecurityProfileResponse$additionalMetricsToRetain": "

Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

" } }, "AdditionalMetricsToRetainV2List": { "base": null, "refs": { - "CreateSecurityProfileRequest$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "CreateSecurityProfileRequest$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

", "DescribeSecurityProfileResponse$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", - "UpdateSecurityProfileRequest$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", - "UpdateSecurityProfileResponse$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

" + "UpdateSecurityProfileRequest$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

", + "UpdateSecurityProfileResponse$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

" } }, "AdditionalParameterMap": { @@ -368,7 +379,7 @@ "AlertTargetArn": { "base": null, "refs": { - "AlertTarget$alertTargetArn": "

The ARN of the notification target to which alerts are sent.

" + "AlertTarget$alertTargetArn": "

The Amazon Resource Name (ARN) of the notification target to which alerts are sent.

" } }, "AlertTargetType": { @@ -612,7 +623,7 @@ "base": null, "refs": { "DescribeAccountAuditConfigurationResponse$auditCheckConfigurations": "

Which audit checks are enabled and disabled for this account.

", - "UpdateAccountAuditConfigurationRequest$auditCheckConfigurations": "

Specifies which audit checks are enabled and disabled for this account. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are currently enabled.

Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted.

You cannot disable a check if it is used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself.

On the first call to UpdateAccountAuditConfiguration, this parameter is required and must specify at least one enabled check.

" + "UpdateAccountAuditConfigurationRequest$auditCheckConfigurations": "

Specifies which audit checks are enabled and disabled for this account. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are currently enabled.

Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted.

You cannot disable a check if it's used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself.

On the first call to UpdateAccountAuditConfiguration, this parameter is required and must specify at least one enabled check.

" } }, "AuditCheckDetails": { @@ -697,10 +708,10 @@ "AuditFrequency": { "base": null, "refs": { - "CreateScheduledAuditRequest$frequency": "

How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\" or \"MONTHLY\". The start time of each audit is determined by the system.

", - "DescribeScheduledAuditResponse$frequency": "

How often the scheduled audit takes place. One of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\", or \"MONTHLY\". The start time of each audit is determined by the system.

", + "CreateScheduledAuditRequest$frequency": "

How often the scheduled audit takes place, either DAILY, WEEKLY, BIWEEKLY or MONTHLY. The start time of each audit is determined by the system.

", + "DescribeScheduledAuditResponse$frequency": "

How often the scheduled audit takes place, either one of DAILY, WEEKLY, BIWEEKLY, or MONTHLY. The start time of each audit is determined by the system.

", "ScheduledAuditMetadata$frequency": "

How often the scheduled audit occurs.

", - "UpdateScheduledAuditRequest$frequency": "

How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\", or \"MONTHLY\". The start time of each audit is determined by the system.

" + "UpdateScheduledAuditRequest$frequency": "

How often the scheduled audit takes place, either DAILY, WEEKLY, BIWEEKLY, or MONTHLY. The start time of each audit is determined by the system.

" } }, "AuditMitigationActionExecutionMetadata": { @@ -722,18 +733,6 @@ "ListAuditMitigationActionsExecutionsRequest$actionStatus": "

Specify this filter to limit results to those with a specific status.

" } }, - "AuditMitigationActionsTaskId": { - "base": null, - "refs": { - "AuditMitigationActionExecutionMetadata$taskId": "

The unique identifier for the task that applies the mitigation action.

", - "AuditMitigationActionsTaskMetadata$taskId": "

The unique identifier for the task.

", - "CancelAuditMitigationActionsTaskRequest$taskId": "

The unique identifier for the task that you want to cancel.

", - "DescribeAuditMitigationActionsTaskRequest$taskId": "

The unique identifier for the audit mitigation task.

", - "ListAuditMitigationActionsExecutionsRequest$taskId": "

Specify this filter to limit results to actions for a specific audit mitigation actions task.

", - "StartAuditMitigationActionsTaskRequest$taskId": "

A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.

", - "StartAuditMitigationActionsTaskResponse$taskId": "

The unique identifier for the audit mitigation task. This matches the taskId that you specified in the request.

" - } - }, "AuditMitigationActionsTaskMetadata": { "base": "

Information about an audit mitigation actions task that is returned by ListAuditMitigationActionsTasks.

", "refs": { @@ -764,7 +763,7 @@ "base": "

Used in MitigationActionParams, this information identifies the target findings to which the mitigation actions are applied. Only one entry appears.

", "refs": { "DescribeAuditMitigationActionsTaskResponse$target": "

Identifies the findings to which the mitigation actions are applied. This can be by audit checks, by audit task, or a set of findings.

", - "StartAuditMitigationActionsTaskRequest$target": "

Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a speecific set of findings.

" + "StartAuditMitigationActionsTaskRequest$target": "

Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a specific set of findings.

" } }, "AuditNotificationTarget": { @@ -984,6 +983,7 @@ "IotAnalyticsAction$roleArn": "

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

", "IotEventsAction$roleArn": "

The ARN of the role that grants AWS IoT permission to send an input to an AWS IoT Events detector. (\"Action\":\"iotevents:BatchPutMessage\").

", "IotSiteWiseAction$roleArn": "

The ARN of the role that grants AWS IoT permission to send an asset property value to AWS IoTSiteWise. (\"Action\": \"iotsitewise:BatchPutAssetPropertyValue\"). The trust policy can restrict access to specific asset hierarchy paths.

", + "KafkaAction$destinationArn": "

The ARN of Kafka action's VPC TopicRuleDestination.

", "KinesisAction$roleArn": "

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

", "LoggingOptionsPayload$roleArn": "

The ARN of the IAM role that grants access.

", "RepublishAction$roleArn": "

The ARN of the IAM role that grants access.

", @@ -997,7 +997,10 @@ "TimestreamAction$roleArn": "

The ARN of the role that grants permission to write to the Amazon Timestream database table.

", "TopicRuleDestination$arn": "

The topic rule destination URL.

", "TopicRuleDestinationSummary$arn": "

The topic rule destination ARN.

", - "UpdateTopicRuleDestinationRequest$arn": "

The ARN of the topic rule destination.

" + "UpdateTopicRuleDestinationRequest$arn": "

The ARN of the topic rule destination.

", + "VpcDestinationConfiguration$roleArn": "

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

", + "VpcDestinationProperties$roleArn": "

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

", + "VpcDestinationSummary$roleArn": "

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

" } }, "AwsIotJobArn": { @@ -1131,9 +1134,9 @@ "Behavior": { "base": "

A Device Defender security profile behavior.

", "refs": { - "ActiveViolation$behavior": "

The behavior which is being violated.

", + "ActiveViolation$behavior": "

The behavior that is being violated.

", "Behaviors$member": null, - "ViolationEvent$behavior": "

The behavior which was violated.

" + "ViolationEvent$behavior": "

The behavior that was violated.

" } }, "BehaviorCriteria": { @@ -1142,6 +1145,13 @@ "Behavior$criteria": "

The criteria that determine if a device is behaving normally in regard to the metric.

" } }, + "BehaviorCriteriaType": { + "base": null, + "refs": { + "ListActiveViolationsRequest$behaviorCriteriaType": "

The criteria for a behavior.

", + "ListViolationEventsRequest$behaviorCriteriaType": "

The criteria for a behavior.

" + } + }, "BehaviorMetric": { "base": null, "refs": { @@ -1150,10 +1160,24 @@ "MetricToRetain$metric": "

What is measured by the behavior.

" } }, + "BehaviorModelTrainingSummaries": { + "base": null, + "refs": { + "GetBehaviorModelTrainingSummariesResponse$summaries": "

A list of all ML Detect behaviors and their model status for a given Security Profile.

" + } + }, + "BehaviorModelTrainingSummary": { + "base": "

The summary of an ML Detect behavior model.

", + "refs": { + "BehaviorModelTrainingSummaries$member": null + } + }, "BehaviorName": { "base": null, "refs": { - "Behavior$name": "

The name you have given to the behavior.

" + "Behavior$name": "

The name you've given to the behavior.

", + "BehaviorModelTrainingSummary$behaviorName": "

The name of the behavior.

", + "DetectMitigationActionsTaskTarget$behaviorName": "

The name of the behavior.

" } }, "Behaviors": { @@ -1268,7 +1292,7 @@ "CACertificateUpdateAction": { "base": null, "refs": { - "UpdateCACertificateParams$action": "

The action that you want to apply to the CA cerrtificate. The only supported value is DEACTIVATE.

" + "UpdateCACertificateParams$action": "

The action that you want to apply to the CA certificate. The only supported value is DEACTIVATE.

" } }, "CACertificates": { @@ -1302,6 +1326,16 @@ "refs": { } }, + "CancelDetectMitigationActionsTaskRequest": { + "base": null, + "refs": { + } + }, + "CancelDetectMitigationActionsTaskResponse": { + "base": null, + "refs": { + } + }, "CancelJobExecutionRequest": { "base": null, "refs": { @@ -1522,12 +1556,20 @@ "TestAuthorizationRequest$clientId": "

The MQTT client ID.

" } }, + "ClientProperties": { + "base": null, + "refs": { + "KafkaAction$clientProperties": "

Properties of the Apache Kafka producer client.

" + } + }, "ClientRequestToken": { "base": null, "refs": { "CreateAuditSuppressionRequest$clientRequestToken": "

The epoch timestamp in seconds at which this suppression expires.

", + "CreateCustomMetricRequest$clientRequestToken": "

Each custom metric must have a unique client request token. If you try to create a new custom metric that already exists with a different token, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", "CreateDimensionRequest$clientRequestToken": "

Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", - "StartAuditMitigationActionsTaskRequest$clientRequestToken": "

Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

" + "StartAuditMitigationActionsTaskRequest$clientRequestToken": "

Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

", + "StartDetectMitigationActionsTaskRequest$clientRequestToken": "

Each mitigation action task must have a unique client request token. If you try to create a new task with the same token as a task that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

" } }, "CloudwatchAlarmAction": { @@ -1591,7 +1633,7 @@ "ComparisonOperator": { "base": null, "refs": { - "BehaviorCriteria$comparisonOperator": "

The operator that relates the thing measured (metric) to the criteria (containing a value or statisticalThreshold).

" + "BehaviorCriteria$comparisonOperator": "

The operator that relates the thing measured (metric) to the criteria (containing a value or statisticalThreshold). Valid operators include:

" } }, "CompliantChecksCount": { @@ -1600,6 +1642,13 @@ "TaskStatistics$compliantChecks": "

The number of checks that found compliant resources.

" } }, + "ConfidenceLevel": { + "base": null, + "refs": { + "MachineLearningDetectionConfig$confidenceLevel": "

The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or High.

", + "ViolationEventAdditionalInfo$confidenceLevel": "

The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or High.

" + } + }, "Configuration": { "base": "

Configuration.

", "refs": { @@ -1694,6 +1743,16 @@ "refs": { } }, + "CreateCustomMetricRequest": { + "base": null, + "refs": { + } + }, + "CreateCustomMetricResponse": { + "base": null, + "refs": { + } + }, "CreateDimensionRequest": { "base": null, "refs": { @@ -1903,6 +1962,8 @@ "base": null, "refs": { "TopicRule$createdAt": "

The date and time the rule was created.

", + "TopicRuleDestination$createdAt": "

The date and time when the topic rule destination was created.

", + "TopicRuleDestinationSummary$createdAt": "

The date and time when the topic rule destination was created.

", "TopicRuleListItem$createdAt": "

The date and time the rule was created.

" } }, @@ -1930,6 +1991,31 @@ "CodeSigning$customCodeSigning": "

A custom method for code signing a file.

" } }, + "CustomMetricArn": { + "base": null, + "refs": { + "CreateCustomMetricResponse$metricArn": "

The Amazon Resource Number (ARN) of the custom metric, e.g. arn:aws-partition:iot:region:accountId:custommetric/metricName

", + "DescribeCustomMetricResponse$metricArn": "

The Amazon Resource Number (ARN) of the custom metric.

", + "UpdateCustomMetricResponse$metricArn": "

The Amazon Resource Number (ARN) of the custom metric.

" + } + }, + "CustomMetricDisplayName": { + "base": null, + "refs": { + "CreateCustomMetricRequest$displayName": "

Field represents a friendly name in the console for the custom metric; it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated once defined.

", + "DescribeCustomMetricResponse$displayName": "

Field represents a friendly name in the console for the custom metric; doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated.

", + "UpdateCustomMetricRequest$displayName": "

Field represents a friendly name in the console for the custom metric, it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated.

", + "UpdateCustomMetricResponse$displayName": "

A friendly name in the console for the custom metric

" + } + }, + "CustomMetricType": { + "base": null, + "refs": { + "CreateCustomMetricRequest$metricType": "

The type of the custom metric. Types include string-list, ip-address-list, number-list, and number.

", + "DescribeCustomMetricResponse$metricType": "

The type of the custom metric. Types include string-list, ip-address-list, number-list, and number.

", + "UpdateCustomMetricResponse$metricType": "

The type of the custom metric. Types include string-list, ip-address-list, number-list, and number.

" + } + }, "CustomerVersion": { "base": null, "refs": { @@ -1937,6 +2023,12 @@ "CertificateDescription$customerVersion": "

The customer version of the certificate.

" } }, + "DataCollectionPercentage": { + "base": null, + "refs": { + "BehaviorModelTrainingSummary$datapointsCollectionPercentage": "

The percentage of datapoints collected.

" + } + }, "DateType": { "base": null, "refs": { @@ -1992,19 +2084,19 @@ "DayOfMonth": { "base": null, "refs": { - "CreateScheduledAuditRequest$dayOfMonth": "

The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

", - "DescribeScheduledAuditResponse$dayOfMonth": "

The day of the month on which the scheduled audit takes place. Will be \"1\" through \"31\" or \"LAST\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

", + "CreateScheduledAuditRequest$dayOfMonth": "

The day of the month on which the scheduled audit takes place. This can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to MONTHLY. If days 29 to 31 are specified, and the month doesn't have that many days, the audit takes place on the LAST day of the month.

", + "DescribeScheduledAuditResponse$dayOfMonth": "

The day of the month on which the scheduled audit takes place. This is will be 1 through 31 or LAST. If days 29-31 are specified, and the month does not have that many days, the audit takes place on the LAST day of the month.

", "ScheduledAuditMetadata$dayOfMonth": "

The day of the month on which the scheduled audit is run (if the frequency is \"MONTHLY\"). If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

", - "UpdateScheduledAuditRequest$dayOfMonth": "

The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" + "UpdateScheduledAuditRequest$dayOfMonth": "

The day of the month on which the scheduled audit takes place. This can be 1 through 31 or LAST. This field is required if the frequency parameter is set to MONTHLY. If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" } }, "DayOfWeek": { "base": null, "refs": { - "CreateScheduledAuditRequest$dayOfWeek": "

The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".

", - "DescribeScheduledAuditResponse$dayOfWeek": "

The day of the week on which the scheduled audit takes place. One of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\".

", + "CreateScheduledAuditRequest$dayOfWeek": "

The day of the week on which the scheduled audit takes place, either SUN, MON, TUE, WED, THU, FRI, or SAT. This field is required if the frequency parameter is set to WEEKLY or BIWEEKLY.

", + "DescribeScheduledAuditResponse$dayOfWeek": "

The day of the week on which the scheduled audit takes place, either one of SUN, MON, TUE, WED, THU, FRI, or SAT.

", "ScheduledAuditMetadata$dayOfWeek": "

The day of the week on which the scheduled audit is run (if the frequency is \"WEEKLY\" or \"BIWEEKLY\").

", - "UpdateScheduledAuditRequest$dayOfWeek": "

The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".

" + "UpdateScheduledAuditRequest$dayOfWeek": "

The day of the week on which the scheduled audit takes place. This can be one of SUN, MON, TUE, WED, THU, FRI, or SAT. This field is required if the \"frequency\" parameter is set to WEEKLY or BIWEEKLY.

" } }, "DeleteAccountAuditConfigurationRequest": { @@ -2085,6 +2177,16 @@ "refs": { } }, + "DeleteCustomMetricRequest": { + "base": null, + "refs": { + } + }, + "DeleteCustomMetricResponse": { + "base": null, + "refs": { + } + }, "DeleteDimensionRequest": { "base": null, "refs": { @@ -2405,6 +2507,16 @@ "refs": { } }, + "DescribeCustomMetricRequest": { + "base": null, + "refs": { + } + }, + "DescribeCustomMetricResponse": { + "base": null, + "refs": { + } + }, "DescribeDefaultAuthorizerRequest": { "base": null, "refs": { @@ -2415,6 +2527,16 @@ "refs": { } }, + "DescribeDetectMitigationActionsTaskRequest": { + "base": null, + "refs": { + } + }, + "DescribeDetectMitigationActionsTaskResponse": { + "base": null, + "refs": { + } + }, "DescribeDimensionRequest": { "base": null, "refs": { @@ -2657,17 +2779,81 @@ "DetailsMap$value": null } }, + "DetectMitigationActionExecution": { + "base": "

Describes which mitigation actions should be executed.

", + "refs": { + "DetectMitigationActionExecutionList$member": null + } + }, + "DetectMitigationActionExecutionErrorCode": { + "base": null, + "refs": { + "DetectMitigationActionExecution$errorCode": "

The error code of a mitigation action.

" + } + }, + "DetectMitigationActionExecutionList": { + "base": null, + "refs": { + "ListDetectMitigationActionsExecutionsResponse$actionsExecutions": "

List of actions executions.

" + } + }, + "DetectMitigationActionExecutionStatus": { + "base": null, + "refs": { + "DetectMitigationActionExecution$status": "

The status of a mitigation action.

" + } + }, + "DetectMitigationActionsTaskStatistics": { + "base": "

The statistics of a mitigation action task.

", + "refs": { + "DetectMitigationActionsTaskSummary$taskStatistics": "

The statistics of a mitigation action task.

" + } + }, + "DetectMitigationActionsTaskStatus": { + "base": null, + "refs": { + "DetectMitigationActionsTaskSummary$taskStatus": "

The status of the task.

" + } + }, + "DetectMitigationActionsTaskSummary": { + "base": "

The summary of the mitigation action tasks.

", + "refs": { + "DescribeDetectMitigationActionsTaskResponse$taskSummary": "

The description of a task.

", + "DetectMitigationActionsTaskSummaryList$member": null + } + }, + "DetectMitigationActionsTaskSummaryList": { + "base": null, + "refs": { + "ListDetectMitigationActionsTasksResponse$tasks": "

The collection of ML Detect mitigation tasks that matched the filter criteria.

" + } + }, + "DetectMitigationActionsTaskTarget": { + "base": "

The target of a mitigation action task.

", + "refs": { + "DetectMitigationActionsTaskSummary$target": "

Specifies the ML Detect findings to which the mitigation actions are applied.

", + "StartDetectMitigationActionsTaskRequest$target": "

Specifies the ML Detect findings to which the mitigation actions are applied.

" + } + }, + "DetectMitigationActionsToExecuteList": { + "base": null, + "refs": { + "StartDetectMitigationActionsTaskRequest$actions": "

The actions to be performed when a device has unexpected behavior.

" + } + }, "DeviceCertificateUpdateAction": { "base": null, "refs": { - "UpdateDeviceCertificateParams$action": "

The action that you want to apply to the device cerrtificate. The only supported value is DEACTIVATE.

" + "UpdateDeviceCertificateParams$action": "

The action that you want to apply to the device certificate. The only supported value is DEACTIVATE.

" } }, "DeviceDefenderThingName": { "base": null, "refs": { "ActiveViolation$thingName": "

The name of the thing responsible for the active violation.

", + "DetectMitigationActionExecution$thingName": "

The name of the thing.

", "ListActiveViolationsRequest$thingName": "

The name of the thing whose active violations are listed.

", + "ListDetectMitigationActionsExecutionsRequest$thingName": "

The name of the thing whose mitigation actions are listed.

", "ListViolationEventsRequest$thingName": "

A filter to limit results to those alerts caused by the specified thing.

", "ViolationEvent$thingName": "

The name of the thing responsible for the violation event.

" } @@ -2675,9 +2861,9 @@ "DimensionArn": { "base": null, "refs": { - "CreateDimensionResponse$arn": "

The ARN (Amazon resource name) of the created dimension.

", - "DescribeDimensionResponse$arn": "

The ARN (Amazon resource name) for the dimension.

", - "UpdateDimensionResponse$arn": "

The ARN (Amazon resource name) of the created dimension.

" + "CreateDimensionResponse$arn": "

The Amazon Resource Name (ARN) of the created dimension.

", + "DescribeDimensionResponse$arn": "

The Amazon Resource Name (ARN) for the dimension.

", + "UpdateDimensionResponse$arn": "

The Amazon Resource Name (ARN)of the created dimension.

" } }, "DimensionName": { @@ -2689,7 +2875,7 @@ "DescribeDimensionRequest$name": "

The unique identifier for the dimension.

", "DescribeDimensionResponse$name": "

The unique identifier for the dimension.

", "DimensionNames$member": null, - "ListSecurityProfilesRequest$dimensionName": "

A filter to limit results to the security profiles that use the defined dimension.

", + "ListSecurityProfilesRequest$dimensionName": "

A filter to limit results to the security profiles that use the defined dimension. Cannot be used with metricName

", "MetricDimension$dimensionName": "

A unique identifier for the dimension.

", "UpdateDimensionRequest$name": "

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

", "UpdateDimensionResponse$name": "

A unique identifier for the dimension.

" @@ -2794,7 +2980,7 @@ "DurationSeconds": { "base": null, "refs": { - "BehaviorCriteria$durationSeconds": "

Use this to specify the time duration over which the behavior is evaluated, for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT). For a statisticalThreshhold metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank.

" + "BehaviorCriteria$durationSeconds": "

Use this to specify the time duration over which the behavior is evaluated, for those criteria that have a time dimension (for example, NUM_MESSAGES_SENT). For a statisticalThreshhold metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank. Cannot be used with list-based metric datatypes.

" } }, "DynamicGroupStatus": { @@ -2924,13 +3110,14 @@ "AuditCheckDetails$message": "

The message associated with any error encountered when this check is performed during this audit.

", "AuditMitigationActionExecutionMetadata$message": "

If an error occurred, a message that describes the error.

", "DescribeThingRegistrationTaskResponse$message": "

The message.

", + "DetectMitigationActionExecution$message": "

The message of a mitigation action.

", "ValidationError$errorMessage": "

The description of an error found in the behaviors.

" } }, "EvaluationStatistic": { "base": null, "refs": { - "StatisticalThreshold$statistic": "

The percentile which resolves to a threshold value by which compliance with a behavior is determined. Metrics are collected over the specified period (durationSeconds) from all reporting devices in your account and statistical ranks are calculated. Then, the measurements from a device are collected over the same period. If the accumulated measurements from the device fall above or below (comparisonOperator) the value associated with the percentile specified, then the device is considered to be in compliance with the behavior, otherwise a violation occurs.

" + "StatisticalThreshold$statistic": "

The percentile that resolves to a threshold value by which compliance with a behavior is determined. Metrics are collected over the specified period (durationSeconds) from all reporting devices in your account and statistical ranks are calculated. Then, the measurements from a device are collected over the same period. If the accumulated measurements from the device fall above or below (comparisonOperator) the value associated with the percentile specified, then the device is considered to be in compliance with the behavior, otherwise a violation occurs.

" } }, "EventConfigurations": { @@ -3139,6 +3326,24 @@ "GetPolicyVersionResponse$generationId": "

The generation ID of the policy version.

" } }, + "GenericLongValue": { + "base": null, + "refs": { + "DetectMitigationActionsTaskStatistics$actionsExecuted": "

The actions that were performed.

", + "DetectMitigationActionsTaskStatistics$actionsSkipped": "

The actions that were skipped.

", + "DetectMitigationActionsTaskStatistics$actionsFailed": "

The actions that failed.

" + } + }, + "GetBehaviorModelTrainingSummariesRequest": { + "base": null, + "refs": { + } + }, + "GetBehaviorModelTrainingSummariesResponse": { + "base": null, + "refs": { + } + }, "GetCardinalityRequest": { "base": null, "refs": { @@ -3724,6 +3929,12 @@ "ThingDocument$shadow": "

The shadow.

" } }, + "KafkaAction": { + "base": "

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

", + "refs": { + "Action$kafka": "

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

" + } + }, "Key": { "base": null, "refs": { @@ -3776,6 +3987,13 @@ "DescribeThingRegistrationTaskResponse$lastModifiedDate": "

The date when the task was last modified.

" } }, + "LastUpdatedAtDate": { + "base": null, + "refs": { + "TopicRuleDestination$lastUpdatedAt": "

The date and time when the topic rule destination was last updated.

", + "TopicRuleDestinationSummary$lastUpdatedAt": "

The date and time when the topic rule destination was last updated.

" + } + }, "LimitExceededException": { "base": "

A limit has been exceeded.

", "refs": { @@ -3901,6 +4119,36 @@ "refs": { } }, + "ListCustomMetricsRequest": { + "base": null, + "refs": { + } + }, + "ListCustomMetricsResponse": { + "base": null, + "refs": { + } + }, + "ListDetectMitigationActionsExecutionsRequest": { + "base": null, + "refs": { + } + }, + "ListDetectMitigationActionsExecutionsResponse": { + "base": null, + "refs": { + } + }, + "ListDetectMitigationActionsTasksRequest": { + "base": null, + "refs": { + } + }, + "ListDetectMitigationActionsTasksResponse": { + "base": null, + "refs": { + } + }, "ListDimensionsRequest": { "base": null, "refs": { @@ -4111,6 +4359,13 @@ "refs": { } }, + "ListSuppressedAlerts": { + "base": null, + "refs": { + "ListActiveViolationsRequest$listSuppressedAlerts": "

A list of all suppressed alerts.

", + "ListViolationEventsRequest$listSuppressedAlerts": "

A list of all suppressed alerts.

" + } + }, "ListSuppressedFindings": { "base": null, "refs": { @@ -4286,7 +4541,7 @@ "LogLevel": { "base": null, "refs": { - "EnableIoTLoggingParams$logLevel": "

Specifies the types of information to be logged.

", + "EnableIoTLoggingParams$logLevel": "

Specifies the type of information to be logged.

", "GetLoggingOptionsResponse$logLevel": "

The logging level.

", "GetV2LoggingOptionsResponse$defaultLogLevel": "

The default log level.

", "LogTargetConfiguration$logLevel": "

The logging level.

", @@ -4335,6 +4590,12 @@ "SetLoggingOptionsRequest$loggingOptionsPayload": "

The logging options payload.

" } }, + "MachineLearningDetectionConfig": { + "base": "

The configuration of an ML Detect Security Profile.

", + "refs": { + "BehaviorCriteria$mlDetectionConfig": "

The configuration of an ML Detect

" + } + }, "MalformedPolicyException": { "base": "

The policy documentation is not valid.

", "refs": { @@ -4384,6 +4645,9 @@ "ListAuditMitigationActionsTasksRequest$maxResults": "

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

", "ListAuditSuppressionsRequest$maxResults": "

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

", "ListAuditTasksRequest$maxResults": "

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

", + "ListCustomMetricsRequest$maxResults": "

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

", + "ListDetectMitigationActionsExecutionsRequest$maxResults": "

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

", + "ListDetectMitigationActionsTasksRequest$maxResults": "

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

", "ListDimensionsRequest$maxResults": "

The maximum number of results to retrieve at one time.

", "ListMitigationActionsRequest$maxResults": "

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

", "ListOTAUpdatesRequest$maxResults": "

The maximum number of results to return at one time.

", @@ -4434,8 +4698,28 @@ "MetricDimension": { "base": "

The dimension of a metric.

", "refs": { - "Behavior$metricDimension": "

The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

", - "MetricToRetain$metricDimension": "

The dimension of a metric.

" + "Behavior$metricDimension": "

The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric to only MQTT topics where the name matches the pattern specified in the dimension. This can't be used with custom metrics.

", + "MetricToRetain$metricDimension": "

The dimension of a metric. This can't be used with custom metrics.

" + } + }, + "MetricName": { + "base": null, + "refs": { + "CreateCustomMetricRequest$metricName": "

The name of the custom metric. This will be used in the metric report submitted from the device/thing. Shouldn't begin with aws:. Cannot be updated once defined.

", + "CreateCustomMetricResponse$metricName": "

The name of the custom metric to be used in the metric report.

", + "DeleteCustomMetricRequest$metricName": "

The name of the custom metric.

", + "DescribeCustomMetricRequest$metricName": "

The name of the custom metric.

", + "DescribeCustomMetricResponse$metricName": "

The name of the custom metric.

", + "ListSecurityProfilesRequest$metricName": "

The name of the custom metric. Cannot be used with dimensionName.

", + "MetricNames$member": null, + "UpdateCustomMetricRequest$metricName": "

The name of the custom metric. Cannot be updated.

", + "UpdateCustomMetricResponse$metricName": "

The name of the custom metric.

" + } + }, + "MetricNames": { + "base": null, + "refs": { + "ListCustomMetricsResponse$metricNames": "

The name of the custom metric.

" } }, "MetricToRetain": { @@ -4447,7 +4731,7 @@ "MetricValue": { "base": "

The value to be compared with the metric.

", "refs": { - "ActiveViolation$lastViolationValue": "

The value of the metric (the measurement) which caused the most recent violation.

", + "ActiveViolation$lastViolationValue": "

The value of the metric (the measurement) that caused the most recent violation.

", "BehaviorCriteria$value": "

The value to be compared with the metric.

", "ViolationEvent$metricValue": "

The value of the metric (the measurement).

" } @@ -4516,7 +4800,8 @@ "MitigationActionList": { "base": null, "refs": { - "DescribeAuditMitigationActionsTaskResponse$actionsDefinition": "

Specifies the mitigation actions and their parameters that are applied as part of this task.

" + "DescribeAuditMitigationActionsTaskResponse$actionsDefinition": "

Specifies the mitigation actions and their parameters that are applied as part of this task.

", + "DetectMitigationActionsTaskSummary$actionsDefinition": "

The definition of the actions.

" } }, "MitigationActionName": { @@ -4527,10 +4812,12 @@ "DeleteMitigationActionRequest$actionName": "

The name of the mitigation action that you want to delete.

", "DescribeMitigationActionRequest$actionName": "

The friendly name that uniquely identifies the mitigation action.

", "DescribeMitigationActionResponse$actionName": "

The friendly name that uniquely identifies the mitigation action.

", + "DetectMitigationActionExecution$actionName": "

The friendly name that uniquely identifies the mitigation action.

", + "DetectMitigationActionsToExecuteList$member": null, "MitigationAction$name": "

A user-friendly name for the mitigation action.

", "MitigationActionIdentifier$actionName": "

The friendly name of the mitigation action.

", "MitigationActionNameList$member": null, - "UpdateMitigationActionRequest$actionName": "

The friendly name for the mitigation action. You can't change the name by using UpdateMitigationAction. Instead, you must delete and re-create the mitigation action with the new name.

" + "UpdateMitigationActionRequest$actionName": "

The friendly name for the mitigation action. You cannot change the name by using UpdateMitigationAction. Instead, you must delete and recreate the mitigation action with the new name.

" } }, "MitigationActionNameList": { @@ -4555,6 +4842,31 @@ "ListMitigationActionsRequest$actionType": "

Specify a value to limit the result to mitigation actions with a specific action type.

" } }, + "MitigationActionsTaskId": { + "base": null, + "refs": { + "AuditMitigationActionExecutionMetadata$taskId": "

The unique identifier for the task that applies the mitigation action.

", + "AuditMitigationActionsTaskMetadata$taskId": "

The unique identifier for the task.

", + "CancelAuditMitigationActionsTaskRequest$taskId": "

The unique identifier for the task that you want to cancel.

", + "CancelDetectMitigationActionsTaskRequest$taskId": "

The unique identifier of the task.

", + "DescribeAuditMitigationActionsTaskRequest$taskId": "

The unique identifier for the audit mitigation task.

", + "DescribeDetectMitigationActionsTaskRequest$taskId": "

The unique identifier of the task.

", + "DetectMitigationActionExecution$taskId": "

The unique identifier of the task.

", + "DetectMitigationActionsTaskSummary$taskId": "

The unique identifier of the task.

", + "ListAuditMitigationActionsExecutionsRequest$taskId": "

Specify this filter to limit results to actions for a specific audit mitigation actions task.

", + "ListDetectMitigationActionsExecutionsRequest$taskId": "

The unique identifier of the task.

", + "StartAuditMitigationActionsTaskRequest$taskId": "

A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.

", + "StartAuditMitigationActionsTaskResponse$taskId": "

The unique identifier for the audit mitigation task. This matches the taskId that you specified in the request.

", + "StartDetectMitigationActionsTaskRequest$taskId": "

The unique identifier of the task.

", + "StartDetectMitigationActionsTaskResponse$taskId": "

The unique identifier of the task.

" + } + }, + "ModelStatus": { + "base": null, + "refs": { + "BehaviorModelTrainingSummary$modelStatus": "

The status of the behavior model.

" + } + }, "MqttClientId": { "base": null, "refs": { @@ -4595,6 +4907,8 @@ "NextToken": { "base": null, "refs": { + "GetBehaviorModelTrainingSummariesRequest$nextToken": "

The token for the next set of results.

", + "GetBehaviorModelTrainingSummariesResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListActiveViolationsRequest$nextToken": "

The token for the next set of results.

", "ListActiveViolationsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListAuditFindingsRequest$nextToken": "

The token for the next set of results.

", @@ -4609,6 +4923,12 @@ "ListAuditTasksResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListBillingGroupsRequest$nextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", "ListBillingGroupsResponse$nextToken": "

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

", + "ListCustomMetricsRequest$nextToken": "

The token for the next set of results.

", + "ListCustomMetricsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListDetectMitigationActionsExecutionsRequest$nextToken": "

The token for the next set of results.

", + "ListDetectMitigationActionsExecutionsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", + "ListDetectMitigationActionsTasksRequest$nextToken": "

The token for the next set of results.

", + "ListDetectMitigationActionsTasksResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListDimensionsRequest$nextToken": "

The token for the next set of results.

", "ListDimensionsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListIndicesRequest$nextToken": "

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

", @@ -4694,6 +5014,26 @@ "refs": { } }, + "NullableBoolean": { + "base": null, + "refs": { + "StartDetectMitigationActionsTaskRequest$includeOnlyActiveViolations": "

Specifies to list only active violations.

", + "StartDetectMitigationActionsTaskRequest$includeSuppressedAlerts": "

Specifies to include suppressed alerts.

" + } + }, + "Number": { + "base": null, + "refs": { + "MetricValue$number": "

The numeral value of a metric.

", + "NumberList$member": null + } + }, + "NumberList": { + "base": null, + "refs": { + "MetricValue$numbers": "

The numeral values of a metric.

" + } + }, "NumberOfThings": { "base": null, "refs": { @@ -4809,7 +5149,7 @@ "base": null, "refs": { "AddThingToThingGroupRequest$overrideDynamicGroups": "

Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.

", - "AddThingsToThingGroupParams$overrideDynamicGroups": "

Specifies if this mitigation action can move the things that triggered the mitigation action even if they are part of one or more dynamic things groups.

", + "AddThingsToThingGroupParams$overrideDynamicGroups": "

Specifies if this mitigation action can move the things that triggered the mitigation action even if they are part of one or more dynamic thing groups.

", "UpdateThingGroupsForThingRequest$overrideDynamicGroups": "

Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.

" } }, @@ -5062,6 +5402,13 @@ "UpdateJobRequest$presignedUrlConfig": "

Configuration information for pre-signed S3 URLs.

" } }, + "PrimitiveBoolean": { + "base": null, + "refs": { + "DetectMitigationActionsTaskSummary$onlyActiveViolationsIncluded": "

Includes only active violations.

", + "DetectMitigationActionsTaskSummary$suppressedAlertsIncluded": "

Includes suppressed alerts.

" + } + }, "Principal": { "base": null, "refs": { @@ -5174,7 +5521,7 @@ "PublishFindingToSnsParams": { "base": "

Parameters to define a mitigation action that publishes findings to Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

", "refs": { - "MitigationActionParams$publishFindingToSnsParams": "

Parameters to define a mitigation action that publishes findings to Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

" + "MitigationActionParams$publishFindingToSnsParams": "

Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service (Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

" } }, "PutAssetPropertyValueEntry": { @@ -5618,7 +5965,7 @@ "DescribeMitigationActionResponse$roleArn": "

The ARN of the IAM role used to apply this action.

", "DescribeProvisioningTemplateResponse$provisioningRoleArn": "

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

", "DescribeThingRegistrationTaskResponse$roleArn": "

The role ARN that grants access to the input file bucket.

", - "EnableIoTLoggingParams$roleArnForLogging": "

The ARN of the IAM role used for logging.

", + "EnableIoTLoggingParams$roleArnForLogging": "

The Amazon Resource Name (ARN) of the IAM role used for logging.

", "MitigationAction$roleArn": "

The IAM role ARN used to apply this mitigation action.

", "PresignedUrlConfig$roleArn": "

The ARN of an IAM role that grants grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files.

", "RegistrationConfig$roleArn": "

The ARN of the role.

", @@ -5626,7 +5973,7 @@ "RoleAliasDescription$roleArn": "

The role ARN.

", "StartThingRegistrationTaskRequest$roleArn": "

The IAM role ARN that grants permission the input file.

", "StreamInfo$roleArn": "

An IAM role AWS IoT assumes to access your S3 files.

", - "UpdateAccountAuditConfigurationRequest$roleArn": "

The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates and other items as required when performing an audit.

", + "UpdateAccountAuditConfigurationRequest$roleArn": "

The Amazon Resource Name (ARN) of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.

", "UpdateMitigationActionRequest$roleArn": "

The ARN of the IAM role that is used to apply the mitigation action.

", "UpdateProvisioningTemplateRequest$provisioningRoleArn": "

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

", "UpdateRoleAliasRequest$roleArn": "

The role ARN.

", @@ -5790,6 +6137,20 @@ "TestInvokeAuthorizerResponse$disconnectAfterInSeconds": "

The number of seconds after which the connection is terminated.

" } }, + "SecurityGroupId": { + "base": null, + "refs": { + "SecurityGroupList$member": null + } + }, + "SecurityGroupList": { + "base": null, + "refs": { + "VpcDestinationConfiguration$securityGroups": "

The security groups of the VPC destination.

", + "VpcDestinationProperties$securityGroups": "

The security groups of the VPC destination.

", + "VpcDestinationSummary$securityGroups": "

The security groups of the VPC destination.

" + } + }, "SecurityProfileArn": { "base": null, "refs": { @@ -5824,18 +6185,21 @@ "SecurityProfileName": { "base": null, "refs": { - "ActiveViolation$securityProfileName": "

The security profile whose behavior is in violation.

", + "ActiveViolation$securityProfileName": "

The security profile with the behavior is in violation.

", "AttachSecurityProfileRequest$securityProfileName": "

The security profile that is attached.

", + "BehaviorModelTrainingSummary$securityProfileName": "

The name of the security profile.

", "CreateSecurityProfileRequest$securityProfileName": "

The name you are giving to the security profile.

", "CreateSecurityProfileResponse$securityProfileName": "

The name you gave to the security profile.

", "DeleteSecurityProfileRequest$securityProfileName": "

The name of the security profile to be deleted.

", "DescribeSecurityProfileRequest$securityProfileName": "

The name of the security profile whose information you want to get.

", "DescribeSecurityProfileResponse$securityProfileName": "

The name of the security profile.

", "DetachSecurityProfileRequest$securityProfileName": "

The security profile that is detached.

", + "DetectMitigationActionsTaskTarget$securityProfileName": "

The name of the security profile.

", + "GetBehaviorModelTrainingSummariesRequest$securityProfileName": "

The name of the security profile.

", "ListActiveViolationsRequest$securityProfileName": "

The name of the Device Defender security profile for which violations are listed.

", "ListTargetsForSecurityProfileRequest$securityProfileName": "

The security profile.

", "ListViolationEventsRequest$securityProfileName": "

A filter to limit results to those alerts generated by the specified security profile.

", - "SecurityProfileIdentifier$name": "

The name you have given to the security profile.

", + "SecurityProfileIdentifier$name": "

The name you've given to the security profile.

", "UpdateSecurityProfileRequest$securityProfileName": "

The name of the security profile you want to update.

", "UpdateSecurityProfileResponse$securityProfileName": "

The name of the security profile that was updated.

", "ViolationEvent$securityProfileName": "

The name of the security profile whose behavior was violated.

" @@ -6070,6 +6434,16 @@ "refs": { } }, + "StartDetectMitigationActionsTaskRequest": { + "base": null, + "refs": { + } + }, + "StartDetectMitigationActionsTaskResponse": { + "base": null, + "refs": { + } + }, "StartOnDemandAuditTaskRequest": { "base": null, "refs": { @@ -6115,9 +6489,9 @@ } }, "StatisticalThreshold": { - "base": "

A statistical ranking (percentile) which indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

", + "base": "

A statistical ranking (percentile) that indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

", "refs": { - "BehaviorCriteria$statisticalThreshold": "

A statistical ranking (percentile) which indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

" + "BehaviorCriteria$statisticalThreshold": "

A statistical ranking (percentile)that indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

" } }, "Statistics": { @@ -6245,18 +6619,29 @@ "String": { "base": null, "refs": { + "ClientProperties$key": null, + "ClientProperties$value": null, "CloudwatchMetricAction$metricNamespace": "

The CloudWatch metric namespace name.

", "CloudwatchMetricAction$metricName": "

The CloudWatch metric name.

", "CloudwatchMetricAction$metricValue": "

The CloudWatch metric value.

", "CloudwatchMetricAction$metricUnit": "

The metric unit supported by CloudWatch.

", "CloudwatchMetricAction$metricTimestamp": "

An optional Unix timestamp.

", "CreateTopicRuleRequest$tags": "

Metadata which can be used to manage the topic rule.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: --tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

", + "KafkaAction$topic": "

The Kafka topic for messages to be sent to the Kafka broker.

", + "KafkaAction$key": "

The Kafka message key.

", + "KafkaAction$partition": "

The Kafka message partition.

", "StringMap$key": null, "StringMap$value": null, "TopicRuleDestination$statusReason": "

Additional details or reason why the topic rule destination is in the current status.

", "TopicRuleDestinationSummary$statusReason": "

The reason the topic rule destination is in the current status.

" } }, + "StringList": { + "base": null, + "refs": { + "MetricValue$strings": "

The string values of a metric.

" + } + }, "StringMap": { "base": null, "refs": { @@ -6264,6 +6649,20 @@ "RelatedResource$additionalInfo": "

Other information about the resource.

" } }, + "SubnetId": { + "base": null, + "refs": { + "SubnetIdList$member": null + } + }, + "SubnetIdList": { + "base": null, + "refs": { + "VpcDestinationConfiguration$subnetIds": "

The subnet IDs of the VPC destination.

", + "VpcDestinationProperties$subnetIds": "

The subnet IDs of the VPC destination.

", + "VpcDestinationSummary$subnetIds": "

The subnet IDs of the VPC destination.

" + } + }, "SucceededFindingsCount": { "base": null, "refs": { @@ -6288,6 +6687,12 @@ "Statistics$sumOfSquares": "

The sum of the squares of the aggregated field values.

" } }, + "SuppressAlerts": { + "base": null, + "refs": { + "Behavior$suppressAlerts": "

Suppresses alerts.

" + } + }, "SuppressIndefinitely": { "base": null, "refs": { @@ -6334,6 +6739,7 @@ "refs": { "CreateAuthorizerRequest$tags": "

Metadata which can be used to manage the custom authorizer.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

", "CreateBillingGroupRequest$tags": "

Metadata which can be used to manage the billing group.

", + "CreateCustomMetricRequest$tags": "

Metadata that can be used to manage the custom metric.

", "CreateDimensionRequest$tags": "

Metadata that can be used to manage the dimension.

", "CreateDomainConfigurationRequest$tags": "

Metadata which can be used to manage the domain configuration.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

", "CreateDynamicThingGroupRequest$tags": "

Metadata which can be used to manage the dynamic thing group.

", @@ -6403,6 +6809,12 @@ "OTAUpdateInfo$targetSelection": "

Specifies whether the OTA update will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the OTA update (SNAPSHOT). If continuous, the OTA update may also be run on a thing when a change is detected in a target. For example, an OTA update will run on a thing when the thing is added to a target group, even after the OTA update was completed by all things originally in the group.

" } }, + "TargetViolationIdsForDetectMitigationActions": { + "base": null, + "refs": { + "DetectMitigationActionsTaskTarget$violationIds": "

The unique identifiers of the violations.

" + } + }, "Targets": { "base": null, "refs": { @@ -6411,7 +6823,7 @@ } }, "TaskAlreadyExistsException": { - "base": "

This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.

", + "base": "

This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.

", "refs": { } }, @@ -6689,7 +7101,7 @@ "ThingGroupNames": { "base": null, "refs": { - "AddThingsToThingGroupParams$thingGroupNames": "

The list of groups to which you want to add the things that triggered the mitigation action. You can add a thing to a maximum of 10 groups, but you cannot add a thing to more than one group in the same hierarchy.

" + "AddThingsToThingGroupParams$thingGroupNames": "

The list of groups to which you want to add the things that triggered the mitigation action. You can add a thing to a maximum of 10 groups, but you can't add a thing to more than one group in the same hierarchy.

" } }, "ThingGroupProperties": { @@ -6856,32 +7268,48 @@ "AuditMitigationActionExecutionMetadata$endTime": "

The date and time when the task was completed or canceled. Blank if the task is still running.

", "AuditMitigationActionsTaskMetadata$startTime": "

The time at which the audit mitigation actions task was started.

", "AuditSuppression$expirationDate": "

The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.

", + "BehaviorModelTrainingSummary$trainingDataCollectionStartDate": "

The date a training model started collecting data.

", + "BehaviorModelTrainingSummary$lastModelRefreshDate": "

The date the model was last refreshed.

", "CreateAuditSuppressionRequest$expirationDate": "

The epoch timestamp in seconds at which this suppression expires.

", "DescribeAuditMitigationActionsTaskResponse$startTime": "

The date and time when the task was started.

", "DescribeAuditMitigationActionsTaskResponse$endTime": "

The date and time when the task was completed or canceled.

", "DescribeAuditSuppressionResponse$expirationDate": "

The epoch timestamp in seconds at which this suppression expires.

", "DescribeAuditTaskResponse$taskStartTime": "

The time the audit started.

", + "DescribeCustomMetricResponse$creationDate": "

The creation date of the custom metric in milliseconds since epoch.

", + "DescribeCustomMetricResponse$lastModifiedDate": "

The time the custom metric was last modified in milliseconds since epoch.

", "DescribeDimensionResponse$creationDate": "

The date the dimension was created.

", "DescribeDimensionResponse$lastModifiedDate": "

The date the dimension was last modified.

", "DescribeMitigationActionResponse$creationDate": "

The date and time when the mitigation action was added to your AWS account.

", "DescribeMitigationActionResponse$lastModifiedDate": "

The date and time when the mitigation action was last changed.

", "DescribeSecurityProfileResponse$creationDate": "

The time the security profile was created.

", "DescribeSecurityProfileResponse$lastModifiedDate": "

The time the security profile was last modified.

", + "DetectMitigationActionExecution$executionStartDate": "

The date a mitigation action was started.

", + "DetectMitigationActionExecution$executionEndDate": "

The date a mitigation action ended.

", + "DetectMitigationActionsTaskSummary$taskStartTime": "

The date the task started.

", + "DetectMitigationActionsTaskSummary$taskEndTime": "

The date the task ended.

", "ListAuditFindingsRequest$startTime": "

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

", "ListAuditFindingsRequest$endTime": "

A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.

", "ListAuditMitigationActionsTasksRequest$startTime": "

Specify this filter to limit results to tasks that began on or after a specific date and time.

", "ListAuditMitigationActionsTasksRequest$endTime": "

Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time.

", "ListAuditTasksRequest$startTime": "

The beginning of the time period. Audit information is retained for a limited time (90 days). Requesting a start time prior to what is retained results in an \"InvalidRequestException\".

", "ListAuditTasksRequest$endTime": "

The end of the time period.

", + "ListDetectMitigationActionsExecutionsRequest$startTime": "

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

", + "ListDetectMitigationActionsExecutionsRequest$endTime": "

The end of the time period for which ML Detect mitigation actions executions are returned.

", + "ListDetectMitigationActionsTasksRequest$startTime": "

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

", + "ListDetectMitigationActionsTasksRequest$endTime": "

The end of the time period for which ML Detect mitigation actions tasks are returned.

", "ListViolationEventsRequest$startTime": "

The start time for the alerts to be listed.

", "ListViolationEventsRequest$endTime": "

The end time for the alerts to be listed.

", "MitigationActionIdentifier$creationDate": "

The date when this mitigation action was created.

", "UpdateAuditSuppressionRequest$expirationDate": "

The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.

", + "UpdateCustomMetricResponse$creationDate": "

The creation date of the custom metric in milliseconds since epoch.

", + "UpdateCustomMetricResponse$lastModifiedDate": "

The time the custom metric was last modified in milliseconds since epoch.

", "UpdateDimensionResponse$creationDate": "

The date and time, in milliseconds since epoch, when the dimension was initially created.

", "UpdateDimensionResponse$lastModifiedDate": "

The date and time, in milliseconds since epoch, when the dimension was most recently updated.

", "UpdateSecurityProfileResponse$creationDate": "

The time the security profile was created.

", "UpdateSecurityProfileResponse$lastModifiedDate": "

The time the security profile was last modified.

", - "ViolationEvent$violationEventTime": "

The time the violation event occurred.

" + "ViolationEvent$violationEventTime": "

The time the violation event occurred.

", + "ViolationEventOccurrenceRange$startTime": "

The start date and time of a time period in which violation events occurred.

", + "ViolationEventOccurrenceRange$endTime": "

The end date and time of a time period in which violation events occurred.

" } }, "TimestreamAction": { @@ -6944,6 +7372,12 @@ "TimestreamTimestamp$value": "

An expression that returns a long epoch time value.

" } }, + "TinyMaxResults": { + "base": null, + "refs": { + "GetBehaviorModelTrainingSummariesRequest$maxResults": "

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

" + } + }, "TlsContext": { "base": "

Specifies the TLS context to use for the test authorizer request.

", "refs": { @@ -7180,6 +7614,16 @@ "refs": { } }, + "UpdateCustomMetricRequest": { + "base": null, + "refs": { + } + }, + "UpdateCustomMetricResponse": { + "base": null, + "refs": { + } + }, "UpdateDeviceCertificateParams": { "base": "

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

", "refs": { @@ -7435,6 +7879,20 @@ "ViolationEvents$member": null } }, + "ViolationEventAdditionalInfo": { + "base": "

The details of a violation event.

", + "refs": { + "ActiveViolation$violationEventAdditionalInfo": "

The details of a violation event.

", + "ViolationEvent$violationEventAdditionalInfo": "

The details of a violation event.

" + } + }, + "ViolationEventOccurrenceRange": { + "base": "

Specifies the time period of which violation events occurred between.

", + "refs": { + "DetectMitigationActionsTaskSummary$violationEventOccurrenceRange": "

Specifies the time period of which violation events occurred between.

", + "StartDetectMitigationActionsTaskRequest$violationEventOccurrenceRange": "

Specifies the time period of which violation events occurred between.

" + } + }, "ViolationEventType": { "base": null, "refs": { @@ -7451,9 +7909,38 @@ "base": null, "refs": { "ActiveViolation$violationId": "

The ID of the active violation.

", + "DetectMitigationActionExecution$violationId": "

The unique identifier of the violation.

", + "ListDetectMitigationActionsExecutionsRequest$violationId": "

The unique identifier of the violation.

", + "TargetViolationIdsForDetectMitigationActions$member": null, "ViolationEvent$violationId": "

The ID of the violation event.

" } }, + "VpcDestinationConfiguration": { + "base": "

The configuration information for a virtual private cloud (VPC) destination.

", + "refs": { + "TopicRuleDestinationConfiguration$vpcConfiguration": "

Configuration of the virtual private cloud (VPC) connection.

" + } + }, + "VpcDestinationProperties": { + "base": "

The properties of a virtual private cloud (VPC) destination.

", + "refs": { + "TopicRuleDestination$vpcProperties": "

Properties of the virtual private cloud (VPC) connection.

" + } + }, + "VpcDestinationSummary": { + "base": "

The summary of a virtual private cloud (VPC) destination.

", + "refs": { + "TopicRuleDestinationSummary$vpcDestinationSummary": "

Information about the virtual private cloud (VPC) connection.

" + } + }, + "VpcId": { + "base": null, + "refs": { + "VpcDestinationConfiguration$vpcId": "

The ID of the VPC.

", + "VpcDestinationProperties$vpcId": "

The ID of the VPC.

", + "VpcDestinationSummary$vpcId": "

The ID of the VPC.

" + } + }, "WaitingForDataCollectionChecksCount": { "base": null, "refs": { @@ -7505,6 +7992,12 @@ "refs": { "ResourceAlreadyExistsException$resourceId": "

The ID of the resource that caused the exception.

" } + }, + "stringValue": { + "base": null, + "refs": { + "StringList$member": null + } } } } diff --git a/models/apis/iot/2015-05-28/paginators-1.json b/models/apis/iot/2015-05-28/paginators-1.json index c4c12bf3f8..202b85002c 100644 --- a/models/apis/iot/2015-05-28/paginators-1.json +++ b/models/apis/iot/2015-05-28/paginators-1.json @@ -1,5 +1,11 @@ { "pagination": { + "GetBehaviorModelTrainingSummaries": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, "ListActiveViolations": { "input_token": "nextToken", "limit_key": "maxResults", @@ -72,6 +78,24 @@ "output_token": "nextMarker", "result_key": "certificates" }, + "ListCustomMetrics": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "metricNames" + }, + "ListDetectMitigationActionsExecutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "actionsExecutions" + }, + "ListDetectMitigationActionsTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tasks" + }, "ListDimensions": { "input_token": "nextToken", "limit_key": "maxResults", diff --git a/models/apis/iotanalytics/2017-11-27/api-2.json b/models/apis/iotanalytics/2017-11-27/api-2.json index 1f727d22ed..1792faab3d 100644 --- a/models/apis/iotanalytics/2017-11-27/api-2.json +++ b/models/apis/iotanalytics/2017-11-27/api-2.json @@ -693,6 +693,12 @@ } }, "ChannelArn":{"type":"string"}, + "ChannelMessages":{ + "type":"structure", + "members":{ + "s3Paths":{"shape":"S3PathChannelMessages"} + } + }, "ChannelName":{ "type":"string", "max":128, @@ -742,6 +748,33 @@ "lastMessageArrivalTime":{"shape":"Timestamp"} } }, + "Column":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{"shape":"ColumnName"}, + "type":{"shape":"ColumnDataType"} + } + }, + "ColumnDataType":{ + "type":"string", + "max":131072, + "min":1, + "pattern":"^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" + }, + "ColumnName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$" + }, + "Columns":{ + "type":"list", + "member":{"shape":"Column"} + }, "ComputeType":{ "type":"string", "enum":[ @@ -831,7 +864,8 @@ "datastoreName":{"shape":"DatastoreName"}, "datastoreStorage":{"shape":"DatastoreStorage"}, "retentionPeriod":{"shape":"RetentionPeriod"}, - "tags":{"shape":"TagList"} + "tags":{"shape":"TagList"}, + "fileFormatConfiguration":{"shape":"FileFormatConfiguration"} } }, "CreateDatastoreResponse":{ @@ -1083,7 +1117,8 @@ "retentionPeriod":{"shape":"RetentionPeriod"}, "creationTime":{"shape":"Timestamp"}, "lastUpdateTime":{"shape":"Timestamp"}, - "lastMessageArrivalTime":{"shape":"Timestamp"} + "lastMessageArrivalTime":{"shape":"Timestamp"}, + "fileFormatConfiguration":{"shape":"FileFormatConfiguration"} } }, "DatastoreActivity":{ @@ -1144,7 +1179,8 @@ "status":{"shape":"DatastoreStatus"}, "creationTime":{"shape":"Timestamp"}, "lastUpdateTime":{"shape":"Timestamp"}, - "lastMessageArrivalTime":{"shape":"Timestamp"} + "lastMessageArrivalTime":{"shape":"Timestamp"}, + "fileFormatType":{"shape":"FileFormatType"} } }, "DeleteChannelRequest":{ @@ -1360,6 +1396,20 @@ "estimatedOn":{"shape":"Timestamp"} } }, + "FileFormatConfiguration":{ + "type":"structure", + "members":{ + "jsonConfiguration":{"shape":"JsonConfiguration"}, + "parquetConfiguration":{"shape":"ParquetConfiguration"} + } + }, + "FileFormatType":{ + "type":"string", + "enum":[ + "JSON", + "PARQUET" + ] + }, "FilterActivity":{ "type":"structure", "required":[ @@ -1463,6 +1513,11 @@ "min":1, "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" }, + "JsonConfiguration":{ + "type":"structure", + "members":{ + } + }, "LambdaActivity":{ "type":"structure", "required":[ @@ -1753,6 +1808,12 @@ "fileName":{"shape":"OutputFileName"} } }, + "ParquetConfiguration":{ + "type":"structure", + "members":{ + "schemaDefinition":{"shape":"SchemaDefinition"} + } + }, "Pipeline":{ "type":"structure", "members":{ @@ -1948,6 +2009,18 @@ "min":1, "pattern":"^[a-zA-Z0-9!_.*'()/{}:-]*/$" }, + "S3PathChannelMessage":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[a-zA-Z0-9/_!'(){}\\*\\s\\.\\-\\=\\:]+$" + }, + "S3PathChannelMessages":{ + "type":"list", + "member":{"shape":"S3PathChannelMessage"}, + "max":100, + "min":1 + }, "SampleChannelDataRequest":{ "type":"structure", "required":["channelName"], @@ -1987,6 +2060,12 @@ } }, "ScheduleExpression":{"type":"string"}, + "SchemaDefinition":{ + "type":"structure", + "members":{ + "columns":{"shape":"Columns"} + } + }, "SelectAttributesActivity":{ "type":"structure", "required":[ @@ -2053,7 +2132,8 @@ "locationName":"pipelineName" }, "startTime":{"shape":"StartTime"}, - "endTime":{"shape":"EndTime"} + "endTime":{"shape":"EndTime"}, + "channelMessages":{"shape":"ChannelMessages"} } }, "StartPipelineReprocessingResponse":{ @@ -2207,7 +2287,8 @@ "locationName":"datastoreName" }, "retentionPeriod":{"shape":"RetentionPeriod"}, - "datastoreStorage":{"shape":"DatastoreStorage"} + "datastoreStorage":{"shape":"DatastoreStorage"}, + "fileFormatConfiguration":{"shape":"FileFormatConfiguration"} } }, "UpdatePipelineRequest":{ diff --git a/models/apis/iotanalytics/2017-11-27/docs-2.json b/models/apis/iotanalytics/2017-11-27/docs-2.json index 8598482739..867d18f849 100644 --- a/models/apis/iotanalytics/2017-11-27/docs-2.json +++ b/models/apis/iotanalytics/2017-11-27/docs-2.json @@ -167,6 +167,12 @@ "CreateChannelResponse$channelArn": "

The ARN of the channel.

" } }, + "ChannelMessages": { + "base": "

Specifies one or more sets of channel messages.

", + "refs": { + "StartPipelineReprocessingRequest$channelMessages": "

Specifies one or more sets of channel messages that you want to reprocess.

If you use the channelMessages object, you must not specify a value for startTime and endTime.

" + } + }, "ChannelName": { "base": null, "refs": { @@ -221,6 +227,30 @@ "ChannelSummaries$member": null } }, + "Column": { + "base": "

Contains information about a column that stores your data.

", + "refs": { + "Columns$member": null + } + }, + "ColumnDataType": { + "base": null, + "refs": { + "Column$type": "

The type of data. For more information about the supported data types, see Common data types in the AWS Glue Developer Guide.

" + } + }, + "ColumnName": { + "base": null, + "refs": { + "Column$name": "

The name of the column.

" + } + }, + "Columns": { + "base": null, + "refs": { + "SchemaDefinition$columns": "

Specifies one or more columns that store your data.

Each schema can have up to 100 columns. Each column can have up to 100 nested types

" + } + }, "ComputeType": { "base": null, "refs": { @@ -664,7 +694,7 @@ "base": null, "refs": { "SampleChannelDataRequest$endTime": "

The end of the time window from which sample messages are retrieved.

", - "StartPipelineReprocessingRequest$endTime": "

The end time (exclusive) of raw message data that is reprocessed.

" + "StartPipelineReprocessingRequest$endTime": "

The end time (exclusive) of raw message data that is reprocessed.

If you specify a value for the endTime parameter, you must not use the channelMessages object.

" } }, "EntryName": { @@ -693,6 +723,20 @@ "DatastoreStatistics$size": "

The estimated size of the data store.

" } }, + "FileFormatConfiguration": { + "base": "

Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and Parquet.

The default file format is JSON. You can specify only one format.

You can't change the file format after you create the data store.

", + "refs": { + "CreateDatastoreRequest$fileFormatConfiguration": "

Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and Parquet.

The default file format is JSON. You can specify only one format.

You can't change the file format after you create the data store.

", + "Datastore$fileFormatConfiguration": "

Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and Parquet.

The default file format is JSON. You can specify only one format.

You can't change the file format after you create the data store.

", + "UpdateDatastoreRequest$fileFormatConfiguration": "

Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and Parquet.

The default file format is JSON. You can specify only one format.

You can't change the file format after you create the data store.

" + } + }, + "FileFormatType": { + "base": null, + "refs": { + "DatastoreSummary$fileFormatType": "

The file format of the data in the data store.

" + } + }, "FilterActivity": { "base": "

An activity that filters a message based on its attributes.

", "refs": { @@ -768,6 +812,12 @@ "IotEventsDestinationConfiguration$inputName": "

The name of the AWS IoT Events input to which dataset contents are delivered.

" } }, + "JsonConfiguration": { + "base": "

Contains the configuration information of the JSON format.

", + "refs": { + "FileFormatConfiguration$jsonConfiguration": "

Contains the configuration information of the JSON format.

" + } + }, "LambdaActivity": { "base": "

An activity that runs a Lambda function to modify the message.

", "refs": { @@ -997,6 +1047,12 @@ "Variable$outputFileUriValue": "

The value of the variable as a structure that specifies an output file URI.

" } }, + "ParquetConfiguration": { + "base": "

Contains the configuration information of the Parquet format.

", + "refs": { + "FileFormatConfiguration$parquetConfiguration": "

Contains the configuration information of the Parquet format.

" + } + }, "Pipeline": { "base": "

Contains information about a pipeline.

", "refs": { @@ -1200,6 +1256,18 @@ "CustomerManagedDatastoreS3StorageSummary$keyPrefix": "

Optional. The prefix used to create the keys of the data store data objects. Each object in an S3 bucket 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 (/).

" } }, + "S3PathChannelMessage": { + "base": null, + "refs": { + "S3PathChannelMessages$member": null + } + }, + "S3PathChannelMessages": { + "base": null, + "refs": { + "ChannelMessages$s3Paths": "

Specifies one or more keys that identify the Amazon Simple Storage Service (Amazon S3) objects that save your channel messages.

" + } + }, "SampleChannelDataRequest": { "base": null, "refs": { @@ -1222,6 +1290,12 @@ "Schedule$expression": "

The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch Events User Guide.

" } }, + "SchemaDefinition": { + "base": "

Information needed to define a schema.

", + "refs": { + "ParquetConfiguration$schemaDefinition": "

Information needed to define a schema.

" + } + }, "SelectAttributesActivity": { "base": "

Creates a new message using only the specified attributes from the original message.

", "refs": { @@ -1295,7 +1369,7 @@ "base": null, "refs": { "SampleChannelDataRequest$startTime": "

The start of the time window from which sample messages are retrieved.

", - "StartPipelineReprocessingRequest$startTime": "

The start time (inclusive) of raw message data that is reprocessed.

" + "StartPipelineReprocessingRequest$startTime": "

The start time (inclusive) of raw message data that is reprocessed.

If you specify a value for the startTime parameter, you must not use the channelMessages object.

" } }, "StringValue": { diff --git a/models/apis/iotdeviceadvisor/2020-09-18/api-2.json b/models/apis/iotdeviceadvisor/2020-09-18/api-2.json new file mode 100644 index 0000000000..7f9b0f8234 --- /dev/null +++ b/models/apis/iotdeviceadvisor/2020-09-18/api-2.json @@ -0,0 +1,782 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-09-18", + "endpointPrefix":"api.iotdeviceadvisor", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AWSIoTDeviceAdvisor", + "serviceFullName":"AWS IoT Core Device Advisor", + "serviceId":"IotDeviceAdvisor", + "signatureVersion":"v4", + "signingName":"iotdeviceadvisor", + "uid":"iotdeviceadvisor-2020-09-18" + }, + "operations":{ + "CreateSuiteDefinition":{ + "name":"CreateSuiteDefinition", + "http":{ + "method":"POST", + "requestUri":"/suiteDefinitions" + }, + "input":{"shape":"CreateSuiteDefinitionRequest"}, + "output":{"shape":"CreateSuiteDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteSuiteDefinition":{ + "name":"DeleteSuiteDefinition", + "http":{ + "method":"DELETE", + "requestUri":"/suiteDefinitions/{suiteDefinitionId}" + }, + "input":{"shape":"DeleteSuiteDefinitionRequest"}, + "output":{"shape":"DeleteSuiteDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "GetSuiteDefinition":{ + "name":"GetSuiteDefinition", + "http":{ + "method":"GET", + "requestUri":"/suiteDefinitions/{suiteDefinitionId}" + }, + "input":{"shape":"GetSuiteDefinitionRequest"}, + "output":{"shape":"GetSuiteDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetSuiteRun":{ + "name":"GetSuiteRun", + "http":{ + "method":"GET", + "requestUri":"/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}" + }, + "input":{"shape":"GetSuiteRunRequest"}, + "output":{"shape":"GetSuiteRunResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetSuiteRunReport":{ + "name":"GetSuiteRunReport", + "http":{ + "method":"GET", + "requestUri":"/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}/report" + }, + "input":{"shape":"GetSuiteRunReportRequest"}, + "output":{"shape":"GetSuiteRunReportResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListSuiteDefinitions":{ + "name":"ListSuiteDefinitions", + "http":{ + "method":"GET", + "requestUri":"/suiteDefinitions" + }, + "input":{"shape":"ListSuiteDefinitionsRequest"}, + "output":{"shape":"ListSuiteDefinitionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListSuiteRuns":{ + "name":"ListSuiteRuns", + "http":{ + "method":"GET", + "requestUri":"/suiteRuns" + }, + "input":{"shape":"ListSuiteRunsRequest"}, + "output":{"shape":"ListSuiteRunsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTestCases":{ + "name":"ListTestCases", + "http":{ + "method":"GET", + "requestUri":"/testCases" + }, + "input":{"shape":"ListTestCasesRequest"}, + "output":{"shape":"ListTestCasesResponse"}, + "errors":[ + {"shape":"InternalServerException"} + ] + }, + "StartSuiteRun":{ + "name":"StartSuiteRun", + "http":{ + "method":"POST", + "requestUri":"/suiteDefinitions/{suiteDefinitionId}/suiteRuns" + }, + "input":{"shape":"StartSuiteRunRequest"}, + "output":{"shape":"StartSuiteRunResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateSuiteDefinition":{ + "name":"UpdateSuiteDefinition", + "http":{ + "method":"PATCH", + "requestUri":"/suiteDefinitions/{suiteDefinitionId}" + }, + "input":{"shape":"UpdateSuiteDefinitionRequest"}, + "output":{"shape":"UpdateSuiteDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + } + }, + "shapes":{ + "AmazonResourceName":{ + "type":"string", + "max":2048, + "min":20 + }, + "CategoryName":{"type":"string"}, + "ConfigString":{"type":"string"}, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "CreateSuiteDefinitionRequest":{ + "type":"structure", + "members":{ + "suiteDefinitionConfiguration":{"shape":"SuiteDefinitionConfiguration"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateSuiteDefinitionResponse":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{"shape":"UUID"}, + "suiteDefinitionArn":{"shape":"AmazonResourceName"}, + "suiteDefinitionName":{"shape":"SuiteDefinitionName"}, + "createdAt":{"shape":"Timestamp"} + } + }, + "DeleteSuiteDefinitionRequest":{ + "type":"structure", + "required":["suiteDefinitionId"], + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteDefinitionId" + } + } + }, + "DeleteSuiteDefinitionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeviceUnderTest":{ + "type":"structure", + "members":{ + "thingArn":{"shape":"AmazonResourceName"}, + "certificateArn":{"shape":"AmazonResourceName"} + } + }, + "DeviceUnderTestList":{ + "type":"list", + "member":{"shape":"DeviceUnderTest"}, + "max":2, + "min":0 + }, + "ErrorReason":{"type":"string"}, + "Failure":{"type":"string"}, + "GetSuiteDefinitionRequest":{ + "type":"structure", + "required":["suiteDefinitionId"], + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteDefinitionId" + }, + "suiteDefinitionVersion":{ + "shape":"SuiteDefinitionVersion", + "location":"querystring", + "locationName":"suiteDefinitionVersion" + } + } + }, + "GetSuiteDefinitionResponse":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{"shape":"UUID"}, + "suiteDefinitionArn":{"shape":"AmazonResourceName"}, + "suiteDefinitionVersion":{"shape":"SuiteDefinitionVersion"}, + "latestVersion":{"shape":"SuiteDefinitionVersion"}, + "suiteDefinitionConfiguration":{"shape":"SuiteDefinitionConfiguration"}, + "createdAt":{"shape":"Timestamp"}, + "lastModifiedAt":{"shape":"Timestamp"}, + "tags":{"shape":"TagMap"} + } + }, + "GetSuiteRunReportRequest":{ + "type":"structure", + "required":[ + "suiteDefinitionId", + "suiteRunId" + ], + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteDefinitionId" + }, + "suiteRunId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteRunId" + } + } + }, + "GetSuiteRunReportResponse":{ + "type":"structure", + "members":{ + "qualificationReportDownloadUrl":{"shape":"QualificationReportDownloadUrl"} + } + }, + "GetSuiteRunRequest":{ + "type":"structure", + "required":[ + "suiteDefinitionId", + "suiteRunId" + ], + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteDefinitionId" + }, + "suiteRunId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteRunId" + } + } + }, + "GetSuiteRunResponse":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{"shape":"UUID"}, + "suiteDefinitionVersion":{"shape":"SuiteDefinitionVersion"}, + "suiteRunId":{"shape":"UUID"}, + "suiteRunArn":{"shape":"AmazonResourceName"}, + "suiteRunConfiguration":{"shape":"SuiteRunConfiguration"}, + "testResult":{"shape":"TestResult"}, + "startTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "status":{"shape":"SuiteRunStatus"}, + "errorReason":{"shape":"ErrorReason"}, + "tags":{"shape":"TagMap"} + } + }, + "GroupName":{"type":"string"}, + "GroupResult":{ + "type":"structure", + "members":{ + "groupId":{"shape":"UUID"}, + "groupName":{"shape":"GroupName"}, + "tests":{"shape":"TestCaseRuns"} + } + }, + "GroupResultList":{ + "type":"list", + "member":{"shape":"GroupResult"} + }, + "IntendedForQualificationBoolean":{"type":"boolean"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListSuiteDefinitionsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSuiteDefinitionsResponse":{ + "type":"structure", + "members":{ + "suiteDefinitionInformationList":{"shape":"SuiteDefinitionInformationList"}, + "nextToken":{"shape":"Token"} + } + }, + "ListSuiteRunsRequest":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"suiteDefinitionId" + }, + "suiteDefinitionVersion":{ + "shape":"SuiteDefinitionVersion", + "location":"querystring", + "locationName":"suiteDefinitionVersion" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSuiteRunsResponse":{ + "type":"structure", + "members":{ + "suiteRunsList":{"shape":"SuiteRunsList"}, + "nextToken":{"shape":"Token"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "ListTestCasesRequest":{ + "type":"structure", + "members":{ + "intendedForQualification":{ + "shape":"IntendedForQualificationBoolean", + "location":"querystring", + "locationName":"intendedForQualification" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTestCasesResponse":{ + "type":"structure", + "members":{ + "categories":{"shape":"TestCategory"}, + "rootGroupConfiguration":{"shape":"TestConfiguration"}, + "groupConfiguration":{"shape":"TestConfiguration"}, + "nextToken":{"shape":"Token"} + } + }, + "LogUrl":{"type":"string"}, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "Message":{ + "type":"string", + "max":2048, + "min":1 + }, + "QualificationReportDownloadUrl":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "RootGroup":{ + "type":"string", + "max":2048, + "min":1 + }, + "SelectedTestList":{ + "type":"list", + "member":{"shape":"UUID"}, + "max":100, + "min":0 + }, + "StartSuiteRunRequest":{ + "type":"structure", + "required":["suiteDefinitionId"], + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteDefinitionId" + }, + "suiteDefinitionVersion":{"shape":"SuiteDefinitionVersion"}, + "suiteRunConfiguration":{"shape":"SuiteRunConfiguration"}, + "tags":{"shape":"TagMap"} + } + }, + "StartSuiteRunResponse":{ + "type":"structure", + "members":{ + "suiteRunId":{"shape":"UUID"}, + "suiteRunArn":{"shape":"AmazonResourceName"}, + "createdAt":{"shape":"Timestamp"} + } + }, + "Status":{ + "type":"string", + "enum":[ + "PASS", + "FAIL", + "CANCELED", + "PENDING", + "RUNNING", + "PASS_WITH_WARNINGS", + "ERROR" + ] + }, + "String128":{ + "type":"string", + "max":128, + "min":1 + }, + "String256":{ + "type":"string", + "max":256, + "min":1 + }, + "SuiteDefinitionConfiguration":{ + "type":"structure", + "members":{ + "suiteDefinitionName":{"shape":"SuiteDefinitionName"}, + "devices":{"shape":"DeviceUnderTestList"}, + "intendedForQualification":{"shape":"IntendedForQualificationBoolean"}, + "rootGroup":{"shape":"RootGroup"}, + "devicePermissionRoleArn":{"shape":"AmazonResourceName"} + } + }, + "SuiteDefinitionInformation":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{"shape":"UUID"}, + "suiteDefinitionName":{"shape":"SuiteDefinitionName"}, + "defaultDevices":{"shape":"DeviceUnderTestList"}, + "intendedForQualification":{"shape":"IntendedForQualificationBoolean"}, + "createdAt":{"shape":"Timestamp"} + } + }, + "SuiteDefinitionInformationList":{ + "type":"list", + "member":{"shape":"SuiteDefinitionInformation"} + }, + "SuiteDefinitionName":{ + "type":"string", + "max":256, + "min":1 + }, + "SuiteDefinitionVersion":{ + "type":"string", + "max":255, + "min":2 + }, + "SuiteRunConfiguration":{ + "type":"structure", + "members":{ + "primaryDevice":{"shape":"DeviceUnderTest"}, + "secondaryDevice":{"shape":"DeviceUnderTest"}, + "selectedTestList":{"shape":"SelectedTestList"} + } + }, + "SuiteRunInformation":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{"shape":"UUID"}, + "suiteDefinitionVersion":{"shape":"SuiteDefinitionVersion"}, + "suiteDefinitionName":{"shape":"SuiteDefinitionName"}, + "suiteRunId":{"shape":"UUID"}, + "createdAt":{"shape":"Timestamp"}, + "startedAt":{"shape":"Timestamp"}, + "endAt":{"shape":"Timestamp"}, + "status":{"shape":"SuiteRunStatus"}, + "passed":{"shape":"SuiteRunResultCount"}, + "failed":{"shape":"SuiteRunResultCount"} + } + }, + "SuiteRunResultCount":{ + "type":"integer", + "max":500, + "min":0 + }, + "SuiteRunStatus":{ + "type":"string", + "enum":[ + "PASS", + "FAIL", + "CANCELED", + "PENDING", + "RUNNING", + "PASS_WITH_WARNINGS", + "ERROR" + ] + }, + "SuiteRunsList":{ + "type":"list", + "member":{"shape":"SuiteRunInformation"} + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"String128"}, + "max":50, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"String128"}, + "value":{"shape":"String256"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TestCase":{ + "type":"structure", + "members":{ + "name":{"shape":"TestCaseName"}, + "configuration":{"shape":"TestConfiguration"}, + "test":{"shape":"TestCaseDefinition"} + } + }, + "TestCaseCategory":{ + "type":"structure", + "members":{ + "name":{"shape":"CategoryName"}, + "tests":{"shape":"TestCaseList"} + } + }, + "TestCaseDefinition":{ + "type":"structure", + "members":{ + "id":{"shape":"TestCaseName"}, + "testCaseVersion":{"shape":"TestCaseVersion"} + } + }, + "TestCaseDefinitionName":{"type":"string"}, + "TestCaseList":{ + "type":"list", + "member":{"shape":"TestCase"} + }, + "TestCaseName":{"type":"string"}, + "TestCaseRun":{ + "type":"structure", + "members":{ + "testCaseRunId":{"shape":"UUID"}, + "testCaseDefinitionId":{"shape":"UUID"}, + "testCaseDefinitionName":{"shape":"TestCaseDefinitionName"}, + "status":{"shape":"Status"}, + "startTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "logUrl":{"shape":"LogUrl"}, + "warnings":{"shape":"Warnings"}, + "failure":{"shape":"Failure"} + } + }, + "TestCaseRuns":{ + "type":"list", + "member":{"shape":"TestCaseRun"} + }, + "TestCaseVersion":{"type":"string"}, + "TestCategory":{ + "type":"list", + "member":{"shape":"TestCaseCategory"} + }, + "TestConfiguration":{ + "type":"map", + "key":{"shape":"ConfigString"}, + "value":{"shape":"ConfigString"} + }, + "TestResult":{ + "type":"structure", + "members":{ + "groups":{"shape":"GroupResultList"} + } + }, + "Timestamp":{"type":"timestamp"}, + "Token":{ + "type":"string", + "max":2000 + }, + "UUID":{ + "type":"string", + "max":36, + "min":36 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateSuiteDefinitionRequest":{ + "type":"structure", + "required":["suiteDefinitionId"], + "members":{ + "suiteDefinitionId":{ + "shape":"UUID", + "location":"uri", + "locationName":"suiteDefinitionId" + }, + "suiteDefinitionConfiguration":{"shape":"SuiteDefinitionConfiguration"} + } + }, + "UpdateSuiteDefinitionResponse":{ + "type":"structure", + "members":{ + "suiteDefinitionId":{"shape":"UUID"}, + "suiteDefinitionArn":{"shape":"AmazonResourceName"}, + "suiteDefinitionName":{"shape":"SuiteDefinitionName"}, + "suiteDefinitionVersion":{"shape":"SuiteDefinitionVersion"}, + "createdAt":{"shape":"Timestamp"}, + "lastUpdatedAt":{"shape":"Timestamp"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Warnings":{"type":"string"} + } +} diff --git a/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json b/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json new file mode 100644 index 0000000000..0028e35821 --- /dev/null +++ b/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json @@ -0,0 +1,544 @@ +{ + "version": "2.0", + "service": "

AWS IoT Core Device Advisor is a cloud-based, fully managed test capability for validating IoT devices during device software development. Device Advisor provides pre-built tests that you can use to validate IoT devices for reliable and secure connectivity with AWS IoT Core before deploying devices to production. By using Device Advisor, you can confirm that your devices can connect to AWS IoT Core, follow security best practices and, if applicable, receive software updates from IoT Device Management. You can also download signed qualification reports to submit to the AWS Partner Network to get your device qualified for the AWS Partner Device Catalog without the need to send your device in and wait for it to be tested.

", + "operations": { + "CreateSuiteDefinition": "

Creates a Device Advisor test suite.

", + "DeleteSuiteDefinition": "

Deletes a Device Advisor test suite.

", + "GetSuiteDefinition": "

Gets information about a Device Advisor test suite.

", + "GetSuiteRun": "

Gets information about a Device Advisor test suite run.

", + "GetSuiteRunReport": "

Gets a report download link for a successful Device Advisor qualifying test suite run.

", + "ListSuiteDefinitions": "

Lists the Device Advisor test suites you have created.

", + "ListSuiteRuns": "

Lists the runs of the specified Device Advisor test suite. You can list all runs of the test suite, or the runs of a specific version of the test suite.

", + "ListTagsForResource": "

Lists the tags attached to an IoT Device Advisor resource.

", + "ListTestCases": "

Lists all the test cases in the test suite.

", + "StartSuiteRun": "

Starts a Device Advisor test suite run.

", + "TagResource": "

Adds to and modifies existing tags of an IoT Device Advisor resource.

", + "UntagResource": "

Removes tags from an IoT Device Advisor resource.

", + "UpdateSuiteDefinition": "

Updates a Device Advisor test suite.

" + }, + "shapes": { + "AmazonResourceName": { + "base": null, + "refs": { + "CreateSuiteDefinitionResponse$suiteDefinitionArn": "

Creates a Device Advisor test suite with Amazon Resource name.

", + "DeviceUnderTest$thingArn": "

Lists devices thing arn

", + "DeviceUnderTest$certificateArn": "

Lists devices certificate arn

", + "GetSuiteDefinitionResponse$suiteDefinitionArn": "

The ARN of the suite definition.

", + "GetSuiteRunResponse$suiteRunArn": "

The ARN of the suite run.

", + "ListTagsForResourceRequest$resourceArn": "

The ARN of the IoT Device Advisor resource.

", + "StartSuiteRunResponse$suiteRunArn": "

Starts a Device Advisor test suite run based on suite run arn.

", + "SuiteDefinitionConfiguration$devicePermissionRoleArn": "

Gets device permission arn.

", + "TagResourceRequest$resourceArn": "

The resource ARN of an IoT Device Advisor resource.

", + "UntagResourceRequest$resourceArn": "

The resource ARN of an IoT Device Advisor resource.

", + "UpdateSuiteDefinitionResponse$suiteDefinitionArn": "

Updates a Device Advisor test suite with Amazon Resource name.

" + } + }, + "CategoryName": { + "base": null, + "refs": { + "TestCaseCategory$name": "

Lists all the tests name in the specified category.

" + } + }, + "ConfigString": { + "base": null, + "refs": { + "TestConfiguration$key": null, + "TestConfiguration$value": null + } + }, + "ConflictException": { + "base": "

Sends Conflict Exception.

", + "refs": { + } + }, + "CreateSuiteDefinitionRequest": { + "base": null, + "refs": { + } + }, + "CreateSuiteDefinitionResponse": { + "base": null, + "refs": { + } + }, + "DeleteSuiteDefinitionRequest": { + "base": null, + "refs": { + } + }, + "DeleteSuiteDefinitionResponse": { + "base": null, + "refs": { + } + }, + "DeviceUnderTest": { + "base": "

Lists all the devices under test

", + "refs": { + "DeviceUnderTestList$member": null, + "SuiteRunConfiguration$primaryDevice": "

Gets the primary device for suite run.

", + "SuiteRunConfiguration$secondaryDevice": "

Gets the secondary device for suite run.

" + } + }, + "DeviceUnderTestList": { + "base": null, + "refs": { + "SuiteDefinitionConfiguration$devices": "

Gets the devices configured.

", + "SuiteDefinitionInformation$defaultDevices": "

Specifies the devices under test.

" + } + }, + "ErrorReason": { + "base": null, + "refs": { + "GetSuiteRunResponse$errorReason": "

Gets the information about Device Advisor test suite run based on error.

" + } + }, + "Failure": { + "base": null, + "refs": { + "TestCaseRun$failure": "

Provides test case run failure result.

" + } + }, + "GetSuiteDefinitionRequest": { + "base": null, + "refs": { + } + }, + "GetSuiteDefinitionResponse": { + "base": null, + "refs": { + } + }, + "GetSuiteRunReportRequest": { + "base": null, + "refs": { + } + }, + "GetSuiteRunReportResponse": { + "base": null, + "refs": { + } + }, + "GetSuiteRunRequest": { + "base": null, + "refs": { + } + }, + "GetSuiteRunResponse": { + "base": null, + "refs": { + } + }, + "GroupName": { + "base": null, + "refs": { + "GroupResult$groupName": "

Show Group Result Name.

" + } + }, + "GroupResult": { + "base": "

Show Group Result.

", + "refs": { + "GroupResultList$member": null + } + }, + "GroupResultList": { + "base": "

how Group Result list.

", + "refs": { + "TestResult$groups": "

Show each group of test results.

" + } + }, + "IntendedForQualificationBoolean": { + "base": null, + "refs": { + "ListTestCasesRequest$intendedForQualification": "

Lists all the qualification test cases in the test suite.

", + "SuiteDefinitionConfiguration$intendedForQualification": "

Gets the tests intended for qualification in a suite.

", + "SuiteDefinitionInformation$intendedForQualification": "

Gets the test suites which will be used for qualification.

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

Sends Internal Failure Exception.

", + "refs": { + } + }, + "ListSuiteDefinitionsRequest": { + "base": null, + "refs": { + } + }, + "ListSuiteDefinitionsResponse": { + "base": null, + "refs": { + } + }, + "ListSuiteRunsRequest": { + "base": null, + "refs": { + } + }, + "ListSuiteRunsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTestCasesRequest": { + "base": null, + "refs": { + } + }, + "ListTestCasesResponse": { + "base": null, + "refs": { + } + }, + "LogUrl": { + "base": null, + "refs": { + "TestCaseRun$logUrl": "

Provides test case run log Url.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListSuiteDefinitionsRequest$maxResults": "

Request the list of all the Device Advisor test suites.

", + "ListSuiteRunsRequest$maxResults": "

MaxResults for list suite run API request.

", + "ListTestCasesRequest$maxResults": "

Requests the test cases max results.

" + } + }, + "Message": { + "base": null, + "refs": { + "ConflictException$message": "

Sends Conflict Exception message.

", + "InternalServerException$message": "

Sends Internal Failure Exception message.

", + "ResourceNotFoundException$message": "

Sends Resource Not Found Exception message.

", + "ValidationException$message": "

Sends invalid request exception message.

" + } + }, + "QualificationReportDownloadUrl": { + "base": null, + "refs": { + "GetSuiteRunReportResponse$qualificationReportDownloadUrl": "

Gets the download URL of the qualification report.

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

Sends Resource Not Found Exception.

", + "refs": { + } + }, + "RootGroup": { + "base": null, + "refs": { + "SuiteDefinitionConfiguration$rootGroup": "

Gets test suite root group.

" + } + }, + "SelectedTestList": { + "base": null, + "refs": { + "SuiteRunConfiguration$selectedTestList": "

Gets test case list.

" + } + }, + "StartSuiteRunRequest": { + "base": null, + "refs": { + } + }, + "StartSuiteRunResponse": { + "base": null, + "refs": { + } + }, + "Status": { + "base": null, + "refs": { + "TestCaseRun$status": "

Provides test case run status.

" + } + }, + "String128": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "String256": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "SuiteDefinitionConfiguration": { + "base": "

Gets Suite Definition Configuration.

", + "refs": { + "CreateSuiteDefinitionRequest$suiteDefinitionConfiguration": "

Creates a Device Advisor test suite with suite definition configuration.

", + "GetSuiteDefinitionResponse$suiteDefinitionConfiguration": "

Gets the suite configuration with GetSuiteDefinition API call.

", + "UpdateSuiteDefinitionRequest$suiteDefinitionConfiguration": "

Updates a Device Advisor test suite with suite definition configuration.

" + } + }, + "SuiteDefinitionInformation": { + "base": "

Get suite definition information.

", + "refs": { + "SuiteDefinitionInformationList$member": null + } + }, + "SuiteDefinitionInformationList": { + "base": null, + "refs": { + "ListSuiteDefinitionsResponse$suiteDefinitionInformationList": "

Lists test suite information using List suite definition.

" + } + }, + "SuiteDefinitionName": { + "base": null, + "refs": { + "CreateSuiteDefinitionResponse$suiteDefinitionName": "

Creates a Device Advisor test suite with suite definition name.

", + "SuiteDefinitionConfiguration$suiteDefinitionName": "

Gets Suite Definition Configuration name.

", + "SuiteDefinitionInformation$suiteDefinitionName": "

Get test suite name.

", + "SuiteRunInformation$suiteDefinitionName": "

Get suite run information based on suite definition name.

", + "UpdateSuiteDefinitionResponse$suiteDefinitionName": "

Updates a Device Advisor test suite with suite definition name.

" + } + }, + "SuiteDefinitionVersion": { + "base": null, + "refs": { + "GetSuiteDefinitionRequest$suiteDefinitionVersion": "

Requests the suite definition version of a test suite.

", + "GetSuiteDefinitionResponse$suiteDefinitionVersion": "

Gets suite definition version with GetSuiteDefinition API call.

", + "GetSuiteDefinitionResponse$latestVersion": "

Gets latest suite definition version with GetSuiteDefinition API call.

", + "GetSuiteRunResponse$suiteDefinitionVersion": "

Gets the information about Device Advisor test suite run based on suite definition version.

", + "ListSuiteRunsRequest$suiteDefinitionVersion": "

Lists the runs of the specified Device Advisor test suite based on suite definition version.

", + "StartSuiteRunRequest$suiteDefinitionVersion": "

Request to start suite run based on suite definition version.

", + "SuiteRunInformation$suiteDefinitionVersion": "

Get suite run information based on suite definition version.

", + "UpdateSuiteDefinitionResponse$suiteDefinitionVersion": "

Updates a Device Advisor test suite with suite definition version.

" + } + }, + "SuiteRunConfiguration": { + "base": "

Gets suite run configuration.

", + "refs": { + "GetSuiteRunResponse$suiteRunConfiguration": "

Gets the information about Device Advisor test suite run based on suite configuration.

", + "StartSuiteRunRequest$suiteRunConfiguration": "

Request to start suite run based on suite configuration.

" + } + }, + "SuiteRunInformation": { + "base": "

Get suite run information.

", + "refs": { + "SuiteRunsList$member": null + } + }, + "SuiteRunResultCount": { + "base": null, + "refs": { + "SuiteRunInformation$passed": "

Get suite run information based on result of the test suite run.

", + "SuiteRunInformation$failed": "

Get suite run information based on result of the test suite run.

" + } + }, + "SuiteRunStatus": { + "base": null, + "refs": { + "GetSuiteRunResponse$status": "

Gets the information about Device Advisor test suite run based on its status.

", + "SuiteRunInformation$status": "

Get suite run information based on test run status.

" + } + }, + "SuiteRunsList": { + "base": null, + "refs": { + "ListSuiteRunsResponse$suiteRunsList": "

Lists the runs of the specified Device Advisor test suite.

" + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

List of tag keys to remove from the IoT Device Advisor resource.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateSuiteDefinitionRequest$tags": "

The tags to be attached to the suite definition.

", + "GetSuiteDefinitionResponse$tags": "

Tags attached to the suite definition.

", + "GetSuiteRunResponse$tags": "

The tags attached to the suite run.

", + "ListTagsForResourceResponse$tags": "

The tags attached to the IoT Device Advisor resource.

", + "StartSuiteRunRequest$tags": "

The tags to be attached to the suite run.

", + "TagResourceRequest$tags": "

The tags to be attached to the IoT Device Advisor resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TestCase": { + "base": "

Shows tests in a test group.

", + "refs": { + "TestCaseList$member": null + } + }, + "TestCaseCategory": { + "base": "

Gets the test case category.

", + "refs": { + "TestCategory$member": null + } + }, + "TestCaseDefinition": { + "base": "

Provides test case definition.

", + "refs": { + "TestCase$test": "

Specifies a test.

" + } + }, + "TestCaseDefinitionName": { + "base": null, + "refs": { + "TestCaseRun$testCaseDefinitionName": "

Provides test case run definition Name.

" + } + }, + "TestCaseList": { + "base": null, + "refs": { + "TestCaseCategory$tests": "

Lists all the tests in the specified category.

" + } + }, + "TestCaseName": { + "base": null, + "refs": { + "TestCase$name": "

Shows test case name.

", + "TestCaseDefinition$id": "

Provides test case definition Id.

" + } + }, + "TestCaseRun": { + "base": "

Provides test case run.

", + "refs": { + "TestCaseRuns$member": null + } + }, + "TestCaseRuns": { + "base": "

Show each group result.

", + "refs": { + "GroupResult$tests": "

Show Group Result.

" + } + }, + "TestCaseVersion": { + "base": null, + "refs": { + "TestCaseDefinition$testCaseVersion": "

Provides test case definition version.

" + } + }, + "TestCategory": { + "base": null, + "refs": { + "ListTestCasesResponse$categories": "

Gets the category of test case.

" + } + }, + "TestConfiguration": { + "base": null, + "refs": { + "ListTestCasesResponse$rootGroupConfiguration": "

Gets the configuration of root test group.

", + "ListTestCasesResponse$groupConfiguration": "

Gets the configuration of test group.

", + "TestCase$configuration": "

Shows test case configuration.

" + } + }, + "TestResult": { + "base": "

Show each group result.

", + "refs": { + "GetSuiteRunResponse$testResult": "

Gets the information about Device Advisor test suite run based on test case runs.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "CreateSuiteDefinitionResponse$createdAt": "

Creates a Device Advisor test suite with TimeStamp of when it was created.

", + "GetSuiteDefinitionResponse$createdAt": "

Gets the timestamp of the time suite was created with GetSuiteDefinition API call.

", + "GetSuiteDefinitionResponse$lastModifiedAt": "

Gets the timestamp of the time suite was modified with GetSuiteDefinition API call.

", + "GetSuiteRunResponse$startTime": "

Gets the information about Device Advisor test suite run based on start time.

", + "GetSuiteRunResponse$endTime": "

Gets the information about Device Advisor test suite run based on end time.

", + "StartSuiteRunResponse$createdAt": "

Starts a Device Advisor test suite run based on suite create time.

", + "SuiteDefinitionInformation$createdAt": "

Gets the information of when the test suite was created.

", + "SuiteRunInformation$createdAt": "

Get suite run information based on time suite was created.

", + "SuiteRunInformation$startedAt": "

Get suite run information based on start time of the run.

", + "SuiteRunInformation$endAt": "

Get suite run information based on end time of the run.

", + "TestCaseRun$startTime": "

Provides test case run start time.

", + "TestCaseRun$endTime": "

Provides test case run end time.

", + "UpdateSuiteDefinitionResponse$createdAt": "

Updates a Device Advisor test suite with TimeStamp of when it was created.

", + "UpdateSuiteDefinitionResponse$lastUpdatedAt": "

Updates a Device Advisor test suite with TimeStamp of when it was updated.

" + } + }, + "Token": { + "base": null, + "refs": { + "ListSuiteDefinitionsRequest$nextToken": "

Requests the Device Advisor test suites next token.

", + "ListSuiteDefinitionsResponse$nextToken": "

Creates a Device Advisor test suite.

", + "ListSuiteRunsRequest$nextToken": "

Next pagination token for list suite run request.

", + "ListSuiteRunsResponse$nextToken": "

Next pagination token for list suite run response.

", + "ListTestCasesRequest$nextToken": "

Requests the test cases next token.

", + "ListTestCasesResponse$nextToken": "

Test cases next token response.

" + } + }, + "UUID": { + "base": null, + "refs": { + "CreateSuiteDefinitionResponse$suiteDefinitionId": "

Creates a Device Advisor test suite with suite UUID.

", + "DeleteSuiteDefinitionRequest$suiteDefinitionId": "

Deletes a Device Advisor test suite with defined suite Id.

", + "GetSuiteDefinitionRequest$suiteDefinitionId": "

Requests suite definition Id with GetSuiteDefinition API call.

", + "GetSuiteDefinitionResponse$suiteDefinitionId": "

Gets suite definition Id with GetSuiteDefinition API call.

", + "GetSuiteRunReportRequest$suiteDefinitionId": "

Device Advisor suite definition Id.

", + "GetSuiteRunReportRequest$suiteRunId": "

Device Advisor suite run Id.

", + "GetSuiteRunRequest$suiteDefinitionId": "

Requests the information about Device Advisor test suite run based on suite definition Id.

", + "GetSuiteRunRequest$suiteRunId": "

Requests the information about Device Advisor test suite run based on suite run Id.

", + "GetSuiteRunResponse$suiteDefinitionId": "

Gets the information about Device Advisor test suite run based on suite definition Id.

", + "GetSuiteRunResponse$suiteRunId": "

Gets the information about Device Advisor test suite run based on suite run Id.

", + "GroupResult$groupId": "

Show Group Result Id.

", + "ListSuiteRunsRequest$suiteDefinitionId": "

Lists the runs of the specified Device Advisor test suite based on suite definition Id.

", + "SelectedTestList$member": null, + "StartSuiteRunRequest$suiteDefinitionId": "

Request to start suite run based on suite definition Id.

", + "StartSuiteRunResponse$suiteRunId": "

Starts a Device Advisor test suite run based on suite Run Id.

", + "SuiteDefinitionInformation$suiteDefinitionId": "

Get suite definition Id.

", + "SuiteRunInformation$suiteDefinitionId": "

Get suite run information based on suite definition Id.

", + "SuiteRunInformation$suiteRunId": "

Get suite run information based on suite run Id.

", + "TestCaseRun$testCaseRunId": "

Provides test case run Id.

", + "TestCaseRun$testCaseDefinitionId": "

Provides test case run definition Id.

", + "UpdateSuiteDefinitionRequest$suiteDefinitionId": "

Updates a Device Advisor test suite with suite definition id.

", + "UpdateSuiteDefinitionResponse$suiteDefinitionId": "

Updates a Device Advisor test suite with suite UUID.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateSuiteDefinitionRequest": { + "base": null, + "refs": { + } + }, + "UpdateSuiteDefinitionResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

Sends invalid request exception.

", + "refs": { + } + }, + "Warnings": { + "base": null, + "refs": { + "TestCaseRun$warnings": "

Provides test case run warnings.

" + } + } + } +} diff --git a/models/apis/iotdeviceadvisor/2020-09-18/examples-1.json b/models/apis/iotdeviceadvisor/2020-09-18/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/iotdeviceadvisor/2020-09-18/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/iotdeviceadvisor/2020-09-18/paginators-1.json b/models/apis/iotdeviceadvisor/2020-09-18/paginators-1.json new file mode 100644 index 0000000000..cdc8ace5f7 --- /dev/null +++ b/models/apis/iotdeviceadvisor/2020-09-18/paginators-1.json @@ -0,0 +1,19 @@ +{ + "pagination": { + "ListSuiteDefinitions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListSuiteRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListTestCases": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/apis/iotfleethub/2020-11-03/api-2.json b/models/apis/iotfleethub/2020-11-03/api-2.json new file mode 100644 index 0000000000..3764ceba82 --- /dev/null +++ b/models/apis/iotfleethub/2020-11-03/api-2.json @@ -0,0 +1,477 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-11-03", + "endpointPrefix":"api.fleethub.iot", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Fleet Hub", + "serviceId":"IoTFleetHub", + "signatureVersion":"v4", + "signingName":"iotfleethub", + "uid":"iotfleethub-2020-11-03" + }, + "operations":{ + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/applications", + "responseCode":201 + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ] + }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{applicationId}", + "responseCode":204 + }, + "input":{"shape":"DeleteApplicationRequest"}, + "output":{"shape":"DeleteApplicationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ] + }, + "DescribeApplication":{ + "name":"DescribeApplication", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}", + "responseCode":200 + }, + "input":{"shape":"DescribeApplicationRequest"}, + "output":{"shape":"DescribeApplicationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"GET", + "requestUri":"/applications", + "responseCode":200 + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"ListApplicationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{applicationId}", + "responseCode":202 + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ] + } + }, + "shapes":{ + "ApplicationState":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "ACTIVE", + "CREATE_FAILED", + "DELETE_FAILED" + ] + }, + "ApplicationSummaries":{ + "type":"list", + "member":{"shape":"ApplicationSummary"} + }, + "ApplicationSummary":{ + "type":"structure", + "required":[ + "applicationId", + "applicationName", + "applicationUrl" + ], + "members":{ + "applicationId":{"shape":"Id"}, + "applicationName":{"shape":"Name"}, + "applicationDescription":{"shape":"Description"}, + "applicationUrl":{"shape":"Url"}, + "applicationCreationDate":{"shape":"Timestamp"}, + "applicationLastUpdateDate":{"shape":"Timestamp"}, + "applicationState":{"shape":"ApplicationState"} + } + }, + "Arn":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"^arn:[!-~]+$" + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateApplicationRequest":{ + "type":"structure", + "required":[ + "applicationName", + "roleArn" + ], + "members":{ + "applicationName":{"shape":"Name"}, + "applicationDescription":{"shape":"Description"}, + "clientToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "roleArn":{"shape":"Arn"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "required":[ + "applicationId", + "applicationArn" + ], + "members":{ + "applicationId":{"shape":"Id"}, + "applicationArn":{"shape":"Arn"} + } + }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"applicationId" + }, + "clientToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"applicationId" + } + } + }, + "DescribeApplicationResponse":{ + "type":"structure", + "required":[ + "applicationId", + "applicationArn", + "applicationName", + "applicationUrl", + "applicationState", + "applicationCreationDate", + "applicationLastUpdateDate", + "roleArn" + ], + "members":{ + "applicationId":{"shape":"Id"}, + "applicationArn":{"shape":"Arn"}, + "applicationName":{"shape":"Name"}, + "applicationDescription":{"shape":"Description"}, + "applicationUrl":{"shape":"Url"}, + "applicationState":{"shape":"ApplicationState"}, + "applicationCreationDate":{"shape":"Timestamp"}, + "applicationLastUpdateDate":{"shape":"Timestamp"}, + "roleArn":{"shape":"Arn"}, + "ssoClientId":{"shape":"SsoClientId"}, + "errorMessage":{"shape":"ErrorMessage"}, + "tags":{"shape":"TagMap"} + } + }, + "Description":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[ -~]*$" + }, + "ErrorMessage":{"type":"string"}, + "Id":{ + "type":"string", + "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}$" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListApplicationsResponse":{ + "type":"structure", + "members":{ + "applicationSummaries":{"shape":"ApplicationSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "Name":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[ -~]*$" + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[A-Za-z0-9+/=]+$" + }, + "ResourceArn":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "SsoClientId":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Timestamp":{"type":"long"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"applicationId" + }, + "applicationName":{"shape":"Name"}, + "applicationDescription":{"shape":"Description"}, + "clientToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "Url":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^https\\://\\S+$" + }, + "errorMessage":{"type":"string"} + } +} diff --git a/models/apis/iotfleethub/2020-11-03/docs-2.json b/models/apis/iotfleethub/2020-11-03/docs-2.json new file mode 100644 index 0000000000..30da8b132a --- /dev/null +++ b/models/apis/iotfleethub/2020-11-03/docs-2.json @@ -0,0 +1,273 @@ +{ + "version": "2.0", + "service": "

With Fleet Hub for AWS IoT Device Management you can build stand-alone web applications for monitoring the health of your device fleets.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "operations": { + "CreateApplication": "

Creates a Fleet Hub for AWS IoT Device Management web application.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "DeleteApplication": "

Deletes a Fleet Hub for AWS IoT Device Management web application.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "DescribeApplication": "

Gets information about a Fleet Hub for AWS IoT Device Management web application.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "ListApplications": "

Gets a list of Fleet Hub for AWS IoT Device Management web applications for the current account.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "ListTagsForResource": "

Lists the tags for the specified resource.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "TagResource": "

Adds to or modifies the tags of the specified resource. Tags are metadata which can be used to manage a resource.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "UntagResource": "

Removes the specified tags (metadata) from the resource.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "UpdateApplication": "

Updates information about a Fleet Hub for a AWS IoT Device Management web application.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

" + }, + "shapes": { + "ApplicationState": { + "base": null, + "refs": { + "ApplicationSummary$applicationState": "

The current state of the web application.

", + "DescribeApplicationResponse$applicationState": "

The current state of the web application.

" + } + }, + "ApplicationSummaries": { + "base": null, + "refs": { + "ListApplicationsResponse$applicationSummaries": "

An array of objects that provide summaries of information about the web applications in the list.

" + } + }, + "ApplicationSummary": { + "base": "

A summary of information about a AWS IoT Device Management web application.

Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

", + "refs": { + "ApplicationSummaries$member": null + } + }, + "Arn": { + "base": null, + "refs": { + "CreateApplicationRequest$roleArn": "

The ARN of the role that the web application assumes when it interacts with AWS IoT Core.

The name of the role must be in the form AWSIotFleetHub_random_string .

", + "CreateApplicationResponse$applicationArn": "

The ARN of the web application.

", + "DescribeApplicationResponse$applicationArn": "

The ARN of the web application.

", + "DescribeApplicationResponse$roleArn": "

The ARN of the role that the web application assumes when it interacts with AWS IoT Core.

" + } + }, + "ClientRequestToken": { + "base": null, + "refs": { + "CreateApplicationRequest$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.

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

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

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

The request conflicts with the current state of the resource.

", + "refs": { + } + }, + "CreateApplicationRequest": { + "base": null, + "refs": { + } + }, + "CreateApplicationResponse": { + "base": null, + "refs": { + } + }, + "DeleteApplicationRequest": { + "base": null, + "refs": { + } + }, + "DeleteApplicationResponse": { + "base": null, + "refs": { + } + }, + "DescribeApplicationRequest": { + "base": null, + "refs": { + } + }, + "DescribeApplicationResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "ApplicationSummary$applicationDescription": "

An optional description of the web application.

", + "CreateApplicationRequest$applicationDescription": "

An optional description of the web application.

", + "DescribeApplicationResponse$applicationDescription": "

An optional description of the web application.

", + "UpdateApplicationRequest$applicationDescription": "

An optional description of the web application.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "DescribeApplicationResponse$errorMessage": "

A message indicating why the DescribeApplication API failed.

" + } + }, + "Id": { + "base": null, + "refs": { + "ApplicationSummary$applicationId": "

The unique Id of the web application.

", + "CreateApplicationResponse$applicationId": "

The unique Id of the web application.

", + "DeleteApplicationRequest$applicationId": "

The unique Id of the web application.

", + "DescribeApplicationRequest$applicationId": "

The unique Id of the web application.

", + "DescribeApplicationResponse$applicationId": "

The unique Id of the web application.

", + "UpdateApplicationRequest$applicationId": "

The unique Id of the web application.

" + } + }, + "InternalFailureException": { + "base": "

An unexpected error has occurred.

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

The request is not valid.

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

A limit has been exceeded.

", + "refs": { + } + }, + "ListApplicationsRequest": { + "base": null, + "refs": { + } + }, + "ListApplicationsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "Name": { + "base": null, + "refs": { + "ApplicationSummary$applicationName": "

The name of the web application.

", + "CreateApplicationRequest$applicationName": "

The name of the web application.

", + "DescribeApplicationResponse$applicationName": "

The name of the web application.

", + "UpdateApplicationRequest$applicationName": "

The name of the web application.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListApplicationsRequest$nextToken": "

A token used to get the next set of results.

", + "ListApplicationsResponse$nextToken": "

A token used to get the next set of results.

" + } + }, + "ResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource.

", + "TagResourceRequest$resourceArn": "

The ARN of the resource.

", + "UntagResourceRequest$resourceArn": "

The ARN of the resource.

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

The specified resource does not exist.

", + "refs": { + } + }, + "SsoClientId": { + "base": null, + "refs": { + "DescribeApplicationResponse$ssoClientId": "

The Id of the single sign-on client that you use to authenticate and authorize users on the web application.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

A list of the keys of the tags to be removed from the resource.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateApplicationRequest$tags": "

A set of key/value pairs that you can use to manage the web application resource.

", + "DescribeApplicationResponse$tags": "

A set of key/value pairs that you can use to manage the web application resource.

", + "ListTagsForResourceResponse$tags": "

The list of tags assigned to the resource.

", + "TagResourceRequest$tags": "

The new or modified tags for the resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "ThrottlingException": { + "base": "

The rate exceeds the limit.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "ApplicationSummary$applicationCreationDate": "

The date (in Unix epoch time) when the web application was created.

", + "ApplicationSummary$applicationLastUpdateDate": "

The date (in Unix epoch time) when the web application was last updated.

", + "DescribeApplicationResponse$applicationCreationDate": "

The date (in Unix epoch time) when the application was created.

", + "DescribeApplicationResponse$applicationLastUpdateDate": "

The date (in Unix epoch time) when the application was last updated.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateApplicationRequest": { + "base": null, + "refs": { + } + }, + "UpdateApplicationResponse": { + "base": null, + "refs": { + } + }, + "Url": { + "base": null, + "refs": { + "ApplicationSummary$applicationUrl": "

The URL of the web application.

", + "DescribeApplicationResponse$applicationUrl": "

The URL of the web application.

" + } + }, + "errorMessage": { + "base": null, + "refs": { + "ConflictException$message": null, + "InternalFailureException$message": null, + "InvalidRequestException$message": null, + "LimitExceededException$message": null, + "ResourceNotFoundException$message": null, + "ThrottlingException$message": null + } + } + } +} diff --git a/models/apis/iotfleethub/2020-11-03/examples-1.json b/models/apis/iotfleethub/2020-11-03/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/iotfleethub/2020-11-03/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/iotfleethub/2020-11-03/paginators-1.json b/models/apis/iotfleethub/2020-11-03/paginators-1.json new file mode 100644 index 0000000000..74c96f5177 --- /dev/null +++ b/models/apis/iotfleethub/2020-11-03/paginators-1.json @@ -0,0 +1,9 @@ +{ + "pagination": { + "ListApplications": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "applicationSummaries" + } + } +} diff --git a/models/apis/iotwireless/2020-11-22/api-2.json b/models/apis/iotwireless/2020-11-22/api-2.json new file mode 100644 index 0000000000..fa43bdab66 --- /dev/null +++ b/models/apis/iotwireless/2020-11-22/api-2.json @@ -0,0 +1,2779 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-11-22", + "endpointPrefix":"api.iotwireless", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Wireless", + "serviceId":"IoT Wireless", + "signatureVersion":"v4", + "signingName":"iotwireless", + "uid":"iotwireless-2020-11-22" + }, + "operations":{ + "AssociateAwsAccountWithPartnerAccount":{ + "name":"AssociateAwsAccountWithPartnerAccount", + "http":{ + "method":"POST", + "requestUri":"/partner-accounts" + }, + "input":{"shape":"AssociateAwsAccountWithPartnerAccountRequest"}, + "output":{"shape":"AssociateAwsAccountWithPartnerAccountResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"} + ] + }, + "AssociateWirelessDeviceWithThing":{ + "name":"AssociateWirelessDeviceWithThing", + "http":{ + "method":"PUT", + "requestUri":"/wireless-devices/{Id}/thing", + "responseCode":204 + }, + "input":{"shape":"AssociateWirelessDeviceWithThingRequest"}, + "output":{"shape":"AssociateWirelessDeviceWithThingResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "AssociateWirelessGatewayWithCertificate":{ + "name":"AssociateWirelessGatewayWithCertificate", + "http":{ + "method":"PUT", + "requestUri":"/wireless-gateways/{Id}/certificate" + }, + "input":{"shape":"AssociateWirelessGatewayWithCertificateRequest"}, + "output":{"shape":"AssociateWirelessGatewayWithCertificateResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "AssociateWirelessGatewayWithThing":{ + "name":"AssociateWirelessGatewayWithThing", + "http":{ + "method":"PUT", + "requestUri":"/wireless-gateways/{Id}/thing", + "responseCode":204 + }, + "input":{"shape":"AssociateWirelessGatewayWithThingRequest"}, + "output":{"shape":"AssociateWirelessGatewayWithThingResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "CreateDestination":{ + "name":"CreateDestination", + "http":{ + "method":"POST", + "requestUri":"/destinations", + "responseCode":201 + }, + "input":{"shape":"CreateDestinationRequest"}, + "output":{"shape":"CreateDestinationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateDeviceProfile":{ + "name":"CreateDeviceProfile", + "http":{ + "method":"POST", + "requestUri":"/device-profiles", + "responseCode":201 + }, + "input":{"shape":"CreateDeviceProfileRequest"}, + "output":{"shape":"CreateDeviceProfileResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateServiceProfile":{ + "name":"CreateServiceProfile", + "http":{ + "method":"POST", + "requestUri":"/service-profiles", + "responseCode":201 + }, + "input":{"shape":"CreateServiceProfileRequest"}, + "output":{"shape":"CreateServiceProfileResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateWirelessDevice":{ + "name":"CreateWirelessDevice", + "http":{ + "method":"POST", + "requestUri":"/wireless-devices", + "responseCode":201 + }, + "input":{"shape":"CreateWirelessDeviceRequest"}, + "output":{"shape":"CreateWirelessDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateWirelessGateway":{ + "name":"CreateWirelessGateway", + "http":{ + "method":"POST", + "requestUri":"/wireless-gateways", + "responseCode":201 + }, + "input":{"shape":"CreateWirelessGatewayRequest"}, + "output":{"shape":"CreateWirelessGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateWirelessGatewayTask":{ + "name":"CreateWirelessGatewayTask", + "http":{ + "method":"POST", + "requestUri":"/wireless-gateways/{Id}/tasks", + "responseCode":201 + }, + "input":{"shape":"CreateWirelessGatewayTaskRequest"}, + "output":{"shape":"CreateWirelessGatewayTaskResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateWirelessGatewayTaskDefinition":{ + "name":"CreateWirelessGatewayTaskDefinition", + "http":{ + "method":"POST", + "requestUri":"/wireless-gateway-task-definitions", + "responseCode":201 + }, + "input":{"shape":"CreateWirelessGatewayTaskDefinitionRequest"}, + "output":{"shape":"CreateWirelessGatewayTaskDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteDestination":{ + "name":"DeleteDestination", + "http":{ + "method":"DELETE", + "requestUri":"/destinations/{Name}", + "responseCode":204 + }, + "input":{"shape":"DeleteDestinationRequest"}, + "output":{"shape":"DeleteDestinationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteDeviceProfile":{ + "name":"DeleteDeviceProfile", + "http":{ + "method":"DELETE", + "requestUri":"/device-profiles/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDeviceProfileRequest"}, + "output":{"shape":"DeleteDeviceProfileResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteServiceProfile":{ + "name":"DeleteServiceProfile", + "http":{ + "method":"DELETE", + "requestUri":"/service-profiles/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteServiceProfileRequest"}, + "output":{"shape":"DeleteServiceProfileResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteWirelessDevice":{ + "name":"DeleteWirelessDevice", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-devices/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteWirelessDeviceRequest"}, + "output":{"shape":"DeleteWirelessDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteWirelessGateway":{ + "name":"DeleteWirelessGateway", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-gateways/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteWirelessGatewayRequest"}, + "output":{"shape":"DeleteWirelessGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteWirelessGatewayTask":{ + "name":"DeleteWirelessGatewayTask", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-gateways/{Id}/tasks", + "responseCode":204 + }, + "input":{"shape":"DeleteWirelessGatewayTaskRequest"}, + "output":{"shape":"DeleteWirelessGatewayTaskResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteWirelessGatewayTaskDefinition":{ + "name":"DeleteWirelessGatewayTaskDefinition", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-gateway-task-definitions/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteWirelessGatewayTaskDefinitionRequest"}, + "output":{"shape":"DeleteWirelessGatewayTaskDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DisassociateAwsAccountFromPartnerAccount":{ + "name":"DisassociateAwsAccountFromPartnerAccount", + "http":{ + "method":"DELETE", + "requestUri":"/partner-accounts/{PartnerAccountId}", + "responseCode":204 + }, + "input":{"shape":"DisassociateAwsAccountFromPartnerAccountRequest"}, + "output":{"shape":"DisassociateAwsAccountFromPartnerAccountResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DisassociateWirelessDeviceFromThing":{ + "name":"DisassociateWirelessDeviceFromThing", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-devices/{Id}/thing", + "responseCode":204 + }, + "input":{"shape":"DisassociateWirelessDeviceFromThingRequest"}, + "output":{"shape":"DisassociateWirelessDeviceFromThingResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "DisassociateWirelessGatewayFromCertificate":{ + "name":"DisassociateWirelessGatewayFromCertificate", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-gateways/{Id}/certificate", + "responseCode":204 + }, + "input":{"shape":"DisassociateWirelessGatewayFromCertificateRequest"}, + "output":{"shape":"DisassociateWirelessGatewayFromCertificateResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "DisassociateWirelessGatewayFromThing":{ + "name":"DisassociateWirelessGatewayFromThing", + "http":{ + "method":"DELETE", + "requestUri":"/wireless-gateways/{Id}/thing", + "responseCode":204 + }, + "input":{"shape":"DisassociateWirelessGatewayFromThingRequest"}, + "output":{"shape":"DisassociateWirelessGatewayFromThingResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "GetDestination":{ + "name":"GetDestination", + "http":{ + "method":"GET", + "requestUri":"/destinations/{Name}" + }, + "input":{"shape":"GetDestinationRequest"}, + "output":{"shape":"GetDestinationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetDeviceProfile":{ + "name":"GetDeviceProfile", + "http":{ + "method":"GET", + "requestUri":"/device-profiles/{Id}" + }, + "input":{"shape":"GetDeviceProfileRequest"}, + "output":{"shape":"GetDeviceProfileResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetPartnerAccount":{ + "name":"GetPartnerAccount", + "http":{ + "method":"GET", + "requestUri":"/partner-accounts/{PartnerAccountId}" + }, + "input":{"shape":"GetPartnerAccountRequest"}, + "output":{"shape":"GetPartnerAccountResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetServiceEndpoint":{ + "name":"GetServiceEndpoint", + "http":{ + "method":"GET", + "requestUri":"/service-endpoint" + }, + "input":{"shape":"GetServiceEndpointRequest"}, + "output":{"shape":"GetServiceEndpointResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetServiceProfile":{ + "name":"GetServiceProfile", + "http":{ + "method":"GET", + "requestUri":"/service-profiles/{Id}" + }, + "input":{"shape":"GetServiceProfileRequest"}, + "output":{"shape":"GetServiceProfileResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessDevice":{ + "name":"GetWirelessDevice", + "http":{ + "method":"GET", + "requestUri":"/wireless-devices/{Identifier}" + }, + "input":{"shape":"GetWirelessDeviceRequest"}, + "output":{"shape":"GetWirelessDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessDeviceStatistics":{ + "name":"GetWirelessDeviceStatistics", + "http":{ + "method":"GET", + "requestUri":"/wireless-devices/{Id}/statistics", + "responseCode":200 + }, + "input":{"shape":"GetWirelessDeviceStatisticsRequest"}, + "output":{"shape":"GetWirelessDeviceStatisticsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessGateway":{ + "name":"GetWirelessGateway", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateways/{Identifier}" + }, + "input":{"shape":"GetWirelessGatewayRequest"}, + "output":{"shape":"GetWirelessGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessGatewayCertificate":{ + "name":"GetWirelessGatewayCertificate", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateways/{Id}/certificate" + }, + "input":{"shape":"GetWirelessGatewayCertificateRequest"}, + "output":{"shape":"GetWirelessGatewayCertificateResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessGatewayFirmwareInformation":{ + "name":"GetWirelessGatewayFirmwareInformation", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateways/{Id}/firmware-information" + }, + "input":{"shape":"GetWirelessGatewayFirmwareInformationRequest"}, + "output":{"shape":"GetWirelessGatewayFirmwareInformationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessGatewayStatistics":{ + "name":"GetWirelessGatewayStatistics", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateways/{Id}/statistics", + "responseCode":200 + }, + "input":{"shape":"GetWirelessGatewayStatisticsRequest"}, + "output":{"shape":"GetWirelessGatewayStatisticsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessGatewayTask":{ + "name":"GetWirelessGatewayTask", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateways/{Id}/tasks" + }, + "input":{"shape":"GetWirelessGatewayTaskRequest"}, + "output":{"shape":"GetWirelessGatewayTaskResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetWirelessGatewayTaskDefinition":{ + "name":"GetWirelessGatewayTaskDefinition", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateway-task-definitions/{Id}" + }, + "input":{"shape":"GetWirelessGatewayTaskDefinitionRequest"}, + "output":{"shape":"GetWirelessGatewayTaskDefinitionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListDestinations":{ + "name":"ListDestinations", + "http":{ + "method":"GET", + "requestUri":"/destinations" + }, + "input":{"shape":"ListDestinationsRequest"}, + "output":{"shape":"ListDestinationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListDeviceProfiles":{ + "name":"ListDeviceProfiles", + "http":{ + "method":"GET", + "requestUri":"/device-profiles" + }, + "input":{"shape":"ListDeviceProfilesRequest"}, + "output":{"shape":"ListDeviceProfilesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListPartnerAccounts":{ + "name":"ListPartnerAccounts", + "http":{ + "method":"GET", + "requestUri":"/partner-accounts" + }, + "input":{"shape":"ListPartnerAccountsRequest"}, + "output":{"shape":"ListPartnerAccountsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListServiceProfiles":{ + "name":"ListServiceProfiles", + "http":{ + "method":"GET", + "requestUri":"/service-profiles" + }, + "input":{"shape":"ListServiceProfilesRequest"}, + "output":{"shape":"ListServiceProfilesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListWirelessDevices":{ + "name":"ListWirelessDevices", + "http":{ + "method":"GET", + "requestUri":"/wireless-devices" + }, + "input":{"shape":"ListWirelessDevicesRequest"}, + "output":{"shape":"ListWirelessDevicesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListWirelessGatewayTaskDefinitions":{ + "name":"ListWirelessGatewayTaskDefinitions", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateway-task-definitions" + }, + "input":{"shape":"ListWirelessGatewayTaskDefinitionsRequest"}, + "output":{"shape":"ListWirelessGatewayTaskDefinitionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListWirelessGateways":{ + "name":"ListWirelessGateways", + "http":{ + "method":"GET", + "requestUri":"/wireless-gateways" + }, + "input":{"shape":"ListWirelessGatewaysRequest"}, + "output":{"shape":"ListWirelessGatewaysResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "SendDataToWirelessDevice":{ + "name":"SendDataToWirelessDevice", + "http":{ + "method":"POST", + "requestUri":"/wireless-devices/{Id}/data", + "responseCode":202 + }, + "input":{"shape":"SendDataToWirelessDeviceRequest"}, + "output":{"shape":"SendDataToWirelessDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"TooManyTagsException"} + ] + }, + "TestWirelessDevice":{ + "name":"TestWirelessDevice", + "http":{ + "method":"POST", + "requestUri":"/wireless-devices/{Id}/test", + "responseCode":200 + }, + "input":{"shape":"TestWirelessDeviceRequest"}, + "output":{"shape":"TestWirelessDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateDestination":{ + "name":"UpdateDestination", + "http":{ + "method":"PATCH", + "requestUri":"/destinations/{Name}", + "responseCode":204 + }, + "input":{"shape":"UpdateDestinationRequest"}, + "output":{"shape":"UpdateDestinationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdatePartnerAccount":{ + "name":"UpdatePartnerAccount", + "http":{ + "method":"PATCH", + "requestUri":"/partner-accounts/{PartnerAccountId}", + "responseCode":204 + }, + "input":{"shape":"UpdatePartnerAccountRequest"}, + "output":{"shape":"UpdatePartnerAccountResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateWirelessDevice":{ + "name":"UpdateWirelessDevice", + "http":{ + "method":"PATCH", + "requestUri":"/wireless-devices/{Id}", + "responseCode":204 + }, + "input":{"shape":"UpdateWirelessDeviceRequest"}, + "output":{"shape":"UpdateWirelessDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateWirelessGateway":{ + "name":"UpdateWirelessGateway", + "http":{ + "method":"PATCH", + "requestUri":"/wireless-gateways/{Id}", + "responseCode":204 + }, + "input":{"shape":"UpdateWirelessGatewayRequest"}, + "output":{"shape":"UpdateWirelessGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + } + }, + "shapes":{ + "AbpV1_0_x":{ + "type":"structure", + "members":{ + "DevAddr":{"shape":"DevAddr"}, + "SessionKeys":{"shape":"SessionKeysAbpV1_0_x"} + } + }, + "AbpV1_1":{ + "type":"structure", + "members":{ + "DevAddr":{"shape":"DevAddr"}, + "SessionKeys":{"shape":"SessionKeysAbpV1_1"} + } + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "AccountLinked":{"type":"boolean"}, + "AddGwMetadata":{"type":"boolean"}, + "AmazonId":{ + "type":"string", + "max":2048 + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "AppEui":{ + "type":"string", + "pattern":"[a-fA-F0-9]{16}" + }, + "AppKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "AppSKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "AppServerPrivateKey":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"[a-fA-F0-9]{64}", + "sensitive":true + }, + "AssociateAwsAccountWithPartnerAccountRequest":{ + "type":"structure", + "required":["Sidewalk"], + "members":{ + "Sidewalk":{"shape":"SidewalkAccountInfo"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "AssociateAwsAccountWithPartnerAccountResponse":{ + "type":"structure", + "members":{ + "Sidewalk":{"shape":"SidewalkAccountInfo"} + } + }, + "AssociateWirelessDeviceWithThingRequest":{ + "type":"structure", + "required":[ + "Id", + "ThingArn" + ], + "members":{ + "Id":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + }, + "ThingArn":{"shape":"ThingArn"} + } + }, + "AssociateWirelessDeviceWithThingResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateWirelessGatewayWithCertificateRequest":{ + "type":"structure", + "required":[ + "Id", + "IotCertificateId" + ], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + }, + "IotCertificateId":{"shape":"IotCertificateId"} + } + }, + "AssociateWirelessGatewayWithCertificateResponse":{ + "type":"structure", + "members":{ + "IotCertificateId":{"shape":"IotCertificateId"} + } + }, + "AssociateWirelessGatewayWithThingRequest":{ + "type":"structure", + "required":[ + "Id", + "ThingArn" + ], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + }, + "ThingArn":{"shape":"ThingArn"} + } + }, + "AssociateWirelessGatewayWithThingResponse":{ + "type":"structure", + "members":{ + } + }, + "AutoCreateTasks":{"type":"boolean"}, + "CertificatePEM":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"[^-A-Za-z0-9+/=]|=[^=]|={3,}${1,4096}" + }, + "ChannelMask":{ + "type":"string", + "max":2048 + }, + "ClassBTimeout":{ + "type":"integer", + "max":1000, + "min":0 + }, + "ClassCTimeout":{ + "type":"integer", + "max":1000, + "min":0 + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "ResourceId":{"shape":"ResourceId"}, + "ResourceType":{"shape":"ResourceType"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "Crc":{ + "type":"long", + "max":4294967295, + "min":1 + }, + "CreateDestinationRequest":{ + "type":"structure", + "required":[ + "Name", + "ExpressionType", + "Expression", + "RoleArn" + ], + "members":{ + "Name":{"shape":"DestinationName"}, + "ExpressionType":{"shape":"ExpressionType"}, + "Expression":{"shape":"Expression"}, + "Description":{"shape":"Description"}, + "RoleArn":{"shape":"RoleArn"}, + "Tags":{"shape":"TagList"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateDestinationResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"DestinationArn"}, + "Name":{"shape":"DestinationName"} + } + }, + "CreateDeviceProfileRequest":{ + "type":"structure", + "members":{ + "Name":{"shape":"DeviceProfileName"}, + "LoRaWAN":{"shape":"LoRaWANDeviceProfile"}, + "Tags":{"shape":"TagList"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateDeviceProfileResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"DeviceProfileArn"}, + "Id":{"shape":"DeviceProfileId"} + } + }, + "CreateServiceProfileRequest":{ + "type":"structure", + "members":{ + "Name":{"shape":"ServiceProfileName"}, + "LoRaWAN":{"shape":"LoRaWANServiceProfile"}, + "Tags":{"shape":"TagList"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateServiceProfileResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"ServiceProfileArn"}, + "Id":{"shape":"ServiceProfileId"} + } + }, + "CreateWirelessDeviceRequest":{ + "type":"structure", + "required":[ + "Type", + "DestinationName" + ], + "members":{ + "Type":{"shape":"WirelessDeviceType"}, + "Name":{"shape":"WirelessDeviceName"}, + "Description":{"shape":"Description"}, + "DestinationName":{"shape":"DestinationName"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "LoRaWAN":{"shape":"LoRaWANDevice"} + } + }, + "CreateWirelessDeviceResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"WirelessDeviceArn"}, + "Id":{"shape":"WirelessDeviceId"} + } + }, + "CreateWirelessGatewayRequest":{ + "type":"structure", + "required":["LoRaWAN"], + "members":{ + "Name":{"shape":"WirelessGatewayName"}, + "Description":{"shape":"Description"}, + "LoRaWAN":{"shape":"LoRaWANGateway"}, + "Tags":{"shape":"TagList"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateWirelessGatewayResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"WirelessGatewayArn"}, + "Id":{"shape":"WirelessDeviceId"} + } + }, + "CreateWirelessGatewayTaskDefinitionRequest":{ + "type":"structure", + "required":["AutoCreateTasks"], + "members":{ + "AutoCreateTasks":{"shape":"AutoCreateTasks"}, + "Name":{"shape":"WirelessGatewayTaskName"}, + "Update":{"shape":"UpdateWirelessGatewayTaskCreate"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateWirelessGatewayTaskDefinitionResponse":{ + "type":"structure", + "members":{ + "Id":{"shape":"WirelessGatewayTaskDefinitionId"} + } + }, + "CreateWirelessGatewayTaskRequest":{ + "type":"structure", + "required":[ + "Id", + "WirelessGatewayTaskDefinitionId" + ], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + }, + "WirelessGatewayTaskDefinitionId":{"shape":"WirelessGatewayTaskDefinitionId"} + } + }, + "CreateWirelessGatewayTaskResponse":{ + "type":"structure", + "members":{ + "WirelessGatewayTaskDefinitionId":{"shape":"WirelessGatewayTaskDefinitionId"}, + "Status":{"shape":"WirelessGatewayTaskStatus"} + } + }, + "DeleteDestinationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DestinationName", + "location":"uri", + "locationName":"Name" + } + } + }, + "DeleteDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDeviceProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"DeviceProfileId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteDeviceProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteServiceProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ServiceProfileId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteServiceProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWirelessDeviceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteWirelessDeviceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWirelessGatewayRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteWirelessGatewayResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWirelessGatewayTaskDefinitionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayTaskDefinitionId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteWirelessGatewayTaskDefinitionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWirelessGatewayTaskRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteWirelessGatewayTaskResponse":{ + "type":"structure", + "members":{ + } + }, + "Description":{ + "type":"string", + "max":2048 + }, + "DestinationArn":{"type":"string"}, + "DestinationList":{ + "type":"list", + "member":{"shape":"Destinations"} + }, + "DestinationName":{ + "type":"string", + "max":128, + "pattern":"[a-zA-Z0-9-_]+" + }, + "Destinations":{ + "type":"structure", + "members":{ + "Arn":{"shape":"DestinationArn"}, + "Name":{"shape":"DestinationName"}, + "ExpressionType":{"shape":"ExpressionType"}, + "Expression":{"shape":"Expression"}, + "Description":{"shape":"Description"}, + "RoleArn":{"shape":"RoleArn"} + } + }, + "DevAddr":{ + "type":"string", + "pattern":"[a-fA-F0-9]{8}" + }, + "DevEui":{ + "type":"string", + "pattern":"[a-fA-F0-9]{16}" + }, + "DevStatusReqFreq":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "DeviceProfile":{ + "type":"structure", + "members":{ + "Arn":{"shape":"DeviceProfileArn"}, + "Name":{"shape":"DeviceProfileName"}, + "Id":{"shape":"DeviceProfileId"} + } + }, + "DeviceProfileArn":{"type":"string"}, + "DeviceProfileId":{ + "type":"string", + "max":256 + }, + "DeviceProfileList":{ + "type":"list", + "member":{"shape":"DeviceProfile"} + }, + "DeviceProfileName":{ + "type":"string", + "max":256 + }, + "DisassociateAwsAccountFromPartnerAccountRequest":{ + "type":"structure", + "required":[ + "PartnerAccountId", + "PartnerType" + ], + "members":{ + "PartnerAccountId":{ + "shape":"PartnerAccountId", + "location":"uri", + "locationName":"PartnerAccountId" + }, + "PartnerType":{ + "shape":"PartnerType", + "location":"querystring", + "locationName":"partnerType" + } + } + }, + "DisassociateAwsAccountFromPartnerAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWirelessDeviceFromThingRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DisassociateWirelessDeviceFromThingResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWirelessGatewayFromCertificateRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DisassociateWirelessGatewayFromCertificateResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWirelessGatewayFromThingRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DisassociateWirelessGatewayFromThingResponse":{ + "type":"structure", + "members":{ + } + }, + "DlBucketSize":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "DlRate":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "DlRatePolicy":{ + "type":"string", + "max":256 + }, + "Double":{"type":"double"}, + "DrMax":{ + "type":"integer", + "max":15, + "min":0 + }, + "DrMin":{ + "type":"integer", + "max":15, + "min":0 + }, + "EndPoint":{ + "type":"string", + "max":256, + "min":1 + }, + "Expression":{ + "type":"string", + "max":2048 + }, + "ExpressionType":{ + "type":"string", + "enum":["RuleName"] + }, + "FNwkSIntKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "FPort":{ + "type":"integer", + "max":223, + "min":1 + }, + "FactoryPresetFreqsList":{ + "type":"list", + "member":{"shape":"PresetFreq"}, + "max":20, + "min":0 + }, + "GatewayEui":{ + "type":"string", + "pattern":"^(([0-9A-Fa-f]{2}-){7}|([0-9A-Fa-f]{2}:){7}|([0-9A-Fa-f]{2}\\s){7}|([0-9A-Fa-f]{2}){7})([0-9A-Fa-f]{2})$" + }, + "GetDestinationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DestinationName", + "location":"uri", + "locationName":"Name" + } + } + }, + "GetDestinationResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"DestinationArn"}, + "Name":{"shape":"DestinationName"}, + "Expression":{"shape":"Expression"}, + "ExpressionType":{"shape":"ExpressionType"}, + "Description":{"shape":"Description"}, + "RoleArn":{"shape":"RoleArn"} + } + }, + "GetDeviceProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"DeviceProfileId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetDeviceProfileResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"DeviceProfileArn"}, + "Name":{"shape":"DeviceProfileName"}, + "Id":{"shape":"DeviceProfileId"}, + "LoRaWAN":{"shape":"LoRaWANDeviceProfile"} + } + }, + "GetPartnerAccountRequest":{ + "type":"structure", + "required":[ + "PartnerAccountId", + "PartnerType" + ], + "members":{ + "PartnerAccountId":{ + "shape":"PartnerAccountId", + "location":"uri", + "locationName":"PartnerAccountId" + }, + "PartnerType":{ + "shape":"PartnerType", + "location":"querystring", + "locationName":"partnerType" + } + } + }, + "GetPartnerAccountResponse":{ + "type":"structure", + "members":{ + "Sidewalk":{"shape":"SidewalkAccountInfoWithFingerprint"}, + "AccountLinked":{"shape":"AccountLinked"} + } + }, + "GetServiceEndpointRequest":{ + "type":"structure", + "members":{ + "ServiceType":{ + "shape":"WirelessGatewayServiceType", + "location":"querystring", + "locationName":"serviceType" + } + } + }, + "GetServiceEndpointResponse":{ + "type":"structure", + "members":{ + "ServiceType":{"shape":"WirelessGatewayServiceType"}, + "ServiceEndpoint":{"shape":"EndPoint"}, + "ServerTrust":{"shape":"CertificatePEM"} + } + }, + "GetServiceProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ServiceProfileId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetServiceProfileResponse":{ + "type":"structure", + "members":{ + "Arn":{"shape":"ServiceProfileArn"}, + "Name":{"shape":"ServiceProfileName"}, + "Id":{"shape":"ServiceProfileId"}, + "LoRaWAN":{"shape":"LoRaWANGetServiceProfileInfo"} + } + }, + "GetWirelessDeviceRequest":{ + "type":"structure", + "required":[ + "Identifier", + "IdentifierType" + ], + "members":{ + "Identifier":{ + "shape":"Identifier", + "location":"uri", + "locationName":"Identifier" + }, + "IdentifierType":{ + "shape":"WirelessDeviceIdType", + "location":"querystring", + "locationName":"identifierType" + } + } + }, + "GetWirelessDeviceResponse":{ + "type":"structure", + "members":{ + "Type":{"shape":"WirelessDeviceType"}, + "Name":{"shape":"WirelessDeviceName"}, + "Description":{"shape":"Description"}, + "DestinationName":{"shape":"DestinationName"}, + "Id":{"shape":"WirelessDeviceId"}, + "Arn":{"shape":"WirelessDeviceArn"}, + "ThingName":{"shape":"ThingName"}, + "ThingArn":{"shape":"ThingArn"}, + "LoRaWAN":{"shape":"LoRaWANDevice"} + } + }, + "GetWirelessDeviceStatisticsRequest":{ + "type":"structure", + "required":["WirelessDeviceId"], + "members":{ + "WirelessDeviceId":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetWirelessDeviceStatisticsResponse":{ + "type":"structure", + "members":{ + "WirelessDeviceId":{"shape":"WirelessDeviceId"}, + "LastUplinkReceivedAt":{"shape":"ISODateTimeString"}, + "LoRaWAN":{"shape":"LoRaWANDeviceMetadata"} + } + }, + "GetWirelessGatewayCertificateRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetWirelessGatewayCertificateResponse":{ + "type":"structure", + "members":{ + "IotCertificateId":{"shape":"IotCertificateId"} + } + }, + "GetWirelessGatewayFirmwareInformationRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetWirelessGatewayFirmwareInformationResponse":{ + "type":"structure", + "members":{ + "LoRaWAN":{"shape":"LoRaWANGatewayCurrentVersion"} + } + }, + "GetWirelessGatewayRequest":{ + "type":"structure", + "required":[ + "Identifier", + "IdentifierType" + ], + "members":{ + "Identifier":{ + "shape":"Identifier", + "location":"uri", + "locationName":"Identifier" + }, + "IdentifierType":{ + "shape":"WirelessGatewayIdType", + "location":"querystring", + "locationName":"identifierType" + } + } + }, + "GetWirelessGatewayResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"WirelessGatewayName"}, + "Id":{"shape":"WirelessGatewayId"}, + "Description":{"shape":"Description"}, + "LoRaWAN":{"shape":"LoRaWANGateway"}, + "Arn":{"shape":"WirelessGatewayArn"}, + "ThingName":{"shape":"ThingName"}, + "ThingArn":{"shape":"ThingArn"} + } + }, + "GetWirelessGatewayStatisticsRequest":{ + "type":"structure", + "required":["WirelessGatewayId"], + "members":{ + "WirelessGatewayId":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetWirelessGatewayStatisticsResponse":{ + "type":"structure", + "members":{ + "WirelessGatewayId":{"shape":"WirelessGatewayId"}, + "LastUplinkReceivedAt":{"shape":"ISODateTimeString"} + } + }, + "GetWirelessGatewayTaskDefinitionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayTaskDefinitionId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetWirelessGatewayTaskDefinitionResponse":{ + "type":"structure", + "members":{ + "AutoCreateTasks":{"shape":"AutoCreateTasks"}, + "Name":{"shape":"WirelessGatewayTaskName"}, + "Update":{"shape":"UpdateWirelessGatewayTaskCreate"} + } + }, + "GetWirelessGatewayTaskRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetWirelessGatewayTaskResponse":{ + "type":"structure", + "members":{ + "WirelessGatewayId":{"shape":"WirelessGatewayId"}, + "WirelessGatewayTaskDefinitionId":{"shape":"WirelessGatewayTaskDefinitionId"}, + "LastUplinkReceivedAt":{"shape":"ISODateTimeString"}, + "TaskCreatedAt":{"shape":"ISODateTimeString"}, + "Status":{"shape":"WirelessGatewayTaskStatus"} + } + }, + "HrAllowed":{"type":"boolean"}, + "ISODateTimeString":{ + "type":"string", + "pattern":"^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" + }, + "Identifier":{ + "type":"string", + "max":256 + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":500}, + "exception":true + }, + "IotCertificateId":{ + "type":"string", + "max":4096, + "min":1 + }, + "JoinEui":{ + "type":"string", + "pattern":"[a-fA-F0-9]{16}" + }, + "ListDestinationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListDestinationsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "DestinationList":{"shape":"DestinationList"} + } + }, + "ListDeviceProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDeviceProfilesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "DeviceProfileList":{"shape":"DeviceProfileList"} + } + }, + "ListPartnerAccountsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPartnerAccountsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "Sidewalk":{"shape":"SidewalkAccountList"} + } + }, + "ListServiceProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListServiceProfilesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "ServiceProfileList":{"shape":"ServiceProfileList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagList"} + } + }, + "ListWirelessDevicesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "DestinationName":{ + "shape":"DestinationName", + "location":"querystring", + "locationName":"destinationName" + }, + "DeviceProfileId":{ + "shape":"DeviceProfileId", + "location":"querystring", + "locationName":"deviceProfileId" + }, + "ServiceProfileId":{ + "shape":"ServiceProfileId", + "location":"querystring", + "locationName":"serviceProfileId" + }, + "WirelessDeviceType":{ + "shape":"WirelessDeviceType", + "location":"querystring", + "locationName":"wirelessDeviceType" + } + } + }, + "ListWirelessDevicesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "WirelessDeviceList":{"shape":"WirelessDeviceStatisticsList"} + } + }, + "ListWirelessGatewayTaskDefinitionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "TaskDefinitionType":{ + "shape":"WirelessGatewayTaskDefinitionType", + "location":"querystring", + "locationName":"taskDefinitionType" + } + } + }, + "ListWirelessGatewayTaskDefinitionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "TaskDefinitions":{"shape":"WirelessGatewayTaskDefinitionList"} + } + }, + "ListWirelessGatewaysRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListWirelessGatewaysResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "WirelessGatewayList":{"shape":"WirelessGatewayStatisticsList"} + } + }, + "LoRaWANDevice":{ + "type":"structure", + "members":{ + "DevEui":{"shape":"DevEui"}, + "DeviceProfileId":{"shape":"DeviceProfileId"}, + "ServiceProfileId":{"shape":"ServiceProfileId"}, + "OtaaV1_1":{"shape":"OtaaV1_1"}, + "OtaaV1_0_x":{"shape":"OtaaV1_0_x"}, + "AbpV1_1":{"shape":"AbpV1_1"}, + "AbpV1_0_x":{"shape":"AbpV1_0_x"} + } + }, + "LoRaWANDeviceMetadata":{ + "type":"structure", + "members":{ + "DevEui":{"shape":"DevEui"}, + "FPort":{"shape":"Integer"}, + "DataRate":{"shape":"Integer"}, + "Frequency":{"shape":"Integer"}, + "Timestamp":{"shape":"ISODateTimeString"}, + "Gateways":{"shape":"LoRaWANGatewayMetadataList"} + } + }, + "LoRaWANDeviceProfile":{ + "type":"structure", + "members":{ + "SupportsClassB":{"shape":"SupportsClassB"}, + "ClassBTimeout":{"shape":"ClassBTimeout"}, + "PingSlotPeriod":{"shape":"PingSlotPeriod"}, + "PingSlotDr":{"shape":"PingSlotDr"}, + "PingSlotFreq":{"shape":"PingSlotFreq"}, + "SupportsClassC":{"shape":"SupportsClassC"}, + "ClassCTimeout":{"shape":"ClassCTimeout"}, + "MacVersion":{"shape":"MacVersion"}, + "RegParamsRevision":{"shape":"RegParamsRevision"}, + "RxDelay1":{"shape":"RxDelay1"}, + "RxDrOffset1":{"shape":"RxDrOffset1"}, + "RxDataRate2":{"shape":"RxDataRate2"}, + "RxFreq2":{"shape":"RxFreq2"}, + "FactoryPresetFreqsList":{"shape":"FactoryPresetFreqsList"}, + "MaxEirp":{"shape":"MaxEirp"}, + "MaxDutyCycle":{"shape":"MaxDutyCycle"}, + "RfRegion":{"shape":"RfRegion"}, + "SupportsJoin":{"shape":"SupportsJoin"}, + "Supports32BitFCnt":{"shape":"Supports32BitFCnt"} + } + }, + "LoRaWANGateway":{ + "type":"structure", + "members":{ + "GatewayEui":{"shape":"GatewayEui"}, + "RfRegion":{"shape":"RfRegion"} + } + }, + "LoRaWANGatewayCurrentVersion":{ + "type":"structure", + "members":{ + "CurrentVersion":{"shape":"LoRaWANGatewayVersion"} + } + }, + "LoRaWANGatewayMetadata":{ + "type":"structure", + "members":{ + "GatewayEui":{"shape":"GatewayEui"}, + "Snr":{"shape":"Double"}, + "Rssi":{"shape":"Double"} + } + }, + "LoRaWANGatewayMetadataList":{ + "type":"list", + "member":{"shape":"LoRaWANGatewayMetadata"} + }, + "LoRaWANGatewayVersion":{ + "type":"structure", + "members":{ + "PackageVersion":{"shape":"PackageVersion"}, + "Model":{"shape":"Model"}, + "Station":{"shape":"Station"} + } + }, + "LoRaWANGetServiceProfileInfo":{ + "type":"structure", + "members":{ + "UlRate":{"shape":"UlRate"}, + "UlBucketSize":{"shape":"UlBucketSize"}, + "UlRatePolicy":{"shape":"UlRatePolicy"}, + "DlRate":{"shape":"DlRate"}, + "DlBucketSize":{"shape":"DlBucketSize"}, + "DlRatePolicy":{"shape":"DlRatePolicy"}, + "AddGwMetadata":{"shape":"AddGwMetadata"}, + "DevStatusReqFreq":{"shape":"DevStatusReqFreq"}, + "ReportDevStatusBattery":{"shape":"ReportDevStatusBattery"}, + "ReportDevStatusMargin":{"shape":"ReportDevStatusMargin"}, + "DrMin":{"shape":"DrMin"}, + "DrMax":{"shape":"DrMax"}, + "ChannelMask":{"shape":"ChannelMask"}, + "PrAllowed":{"shape":"PrAllowed"}, + "HrAllowed":{"shape":"HrAllowed"}, + "RaAllowed":{"shape":"RaAllowed"}, + "NwkGeoLoc":{"shape":"NwkGeoLoc"}, + "TargetPer":{"shape":"TargetPer"}, + "MinGwDiversity":{"shape":"MinGwDiversity"} + } + }, + "LoRaWANListDevice":{ + "type":"structure", + "members":{ + "DevEui":{"shape":"DevEui"} + } + }, + "LoRaWANSendDataToDevice":{ + "type":"structure", + "members":{ + "FPort":{"shape":"FPort"} + } + }, + "LoRaWANServiceProfile":{ + "type":"structure", + "members":{ + "AddGwMetadata":{"shape":"AddGwMetadata"} + } + }, + "LoRaWANUpdateDevice":{ + "type":"structure", + "members":{ + "DeviceProfileId":{"shape":"DeviceProfileId"}, + "ServiceProfileId":{"shape":"ServiceProfileId"} + } + }, + "LoRaWANUpdateGatewayTaskCreate":{ + "type":"structure", + "members":{ + "UpdateSignature":{"shape":"UpdateSignature"}, + "SigKeyCrc":{"shape":"Crc"}, + "CurrentVersion":{"shape":"LoRaWANGatewayVersion"}, + "UpdateVersion":{"shape":"LoRaWANGatewayVersion"} + } + }, + "LoRaWANUpdateGatewayTaskEntry":{ + "type":"structure", + "members":{ + "CurrentVersion":{"shape":"LoRaWANGatewayVersion"}, + "UpdateVersion":{"shape":"LoRaWANGatewayVersion"} + } + }, + "MacVersion":{ + "type":"string", + "max":64 + }, + "MaxDutyCycle":{ + "type":"integer", + "max":100, + "min":0 + }, + "MaxEirp":{ + "type":"integer", + "max":15, + "min":0 + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":0 + }, + "Message":{ + "type":"string", + "max":2048 + }, + "MessageId":{"type":"string"}, + "MinGwDiversity":{ + "type":"integer", + "max":100, + "min":1 + }, + "Model":{ + "type":"string", + "max":4096, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":4096 + }, + "NwkGeoLoc":{"type":"boolean"}, + "NwkKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "NwkSEncKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "NwkSKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "OtaaV1_0_x":{ + "type":"structure", + "members":{ + "AppKey":{"shape":"AppKey"}, + "AppEui":{"shape":"AppEui"} + } + }, + "OtaaV1_1":{ + "type":"structure", + "members":{ + "AppKey":{"shape":"AppKey"}, + "NwkKey":{"shape":"NwkKey"}, + "JoinEui":{"shape":"JoinEui"} + } + }, + "PackageVersion":{ + "type":"string", + "max":32, + "min":1 + }, + "PartnerAccountId":{ + "type":"string", + "max":256 + }, + "PartnerType":{ + "type":"string", + "enum":["Sidewalk"] + }, + "PayloadData":{ + "type":"string", + "max":2048, + "pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + }, + "PingSlotDr":{ + "type":"integer", + "max":15, + "min":0 + }, + "PingSlotFreq":{ + "type":"integer", + "max":16700000, + "min":1000000 + }, + "PingSlotPeriod":{ + "type":"integer", + "max":4096, + "min":128 + }, + "PrAllowed":{"type":"boolean"}, + "PresetFreq":{ + "type":"integer", + "max":16700000, + "min":1000000 + }, + "RaAllowed":{"type":"boolean"}, + "RegParamsRevision":{ + "type":"string", + "max":64 + }, + "ReportDevStatusBattery":{"type":"boolean"}, + "ReportDevStatusMargin":{"type":"boolean"}, + "ResourceId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "ResourceId":{"shape":"ResourceId"}, + "ResourceType":{"shape":"ResourceType"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceType":{"type":"string"}, + "Result":{ + "type":"string", + "max":2048 + }, + "RfRegion":{ + "type":"string", + "max":64 + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "RxDataRate2":{ + "type":"integer", + "max":15, + "min":0 + }, + "RxDelay1":{ + "type":"integer", + "max":15, + "min":0 + }, + "RxDrOffset1":{ + "type":"integer", + "max":7, + "min":0 + }, + "RxFreq2":{ + "type":"integer", + "max":16700000, + "min":1000000 + }, + "SNwkSIntKey":{ + "type":"string", + "pattern":"[a-fA-F0-9]{32}" + }, + "SendDataToWirelessDeviceRequest":{ + "type":"structure", + "required":[ + "Id", + "TransmitMode", + "PayloadData" + ], + "members":{ + "Id":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + }, + "TransmitMode":{"shape":"TransmitMode"}, + "PayloadData":{"shape":"PayloadData"}, + "WirelessMetadata":{"shape":"WirelessMetadata"} + } + }, + "SendDataToWirelessDeviceResponse":{ + "type":"structure", + "members":{ + "MessageId":{"shape":"MessageId"} + } + }, + "Seq":{ + "type":"integer", + "min":0 + }, + "ServiceProfile":{ + "type":"structure", + "members":{ + "Arn":{"shape":"ServiceProfileArn"}, + "Name":{"shape":"ServiceProfileName"}, + "Id":{"shape":"ServiceProfileId"} + } + }, + "ServiceProfileArn":{"type":"string"}, + "ServiceProfileId":{ + "type":"string", + "max":256 + }, + "ServiceProfileList":{ + "type":"list", + "member":{"shape":"ServiceProfile"} + }, + "ServiceProfileName":{ + "type":"string", + "max":256 + }, + "SessionKeysAbpV1_0_x":{ + "type":"structure", + "members":{ + "NwkSKey":{"shape":"NwkSKey"}, + "AppSKey":{"shape":"AppSKey"} + } + }, + "SessionKeysAbpV1_1":{ + "type":"structure", + "members":{ + "FNwkSIntKey":{"shape":"FNwkSIntKey"}, + "SNwkSIntKey":{"shape":"SNwkSIntKey"}, + "NwkSEncKey":{"shape":"NwkSEncKey"}, + "AppSKey":{"shape":"AppSKey"} + } + }, + "SidewalkAccountInfo":{ + "type":"structure", + "members":{ + "AmazonId":{"shape":"AmazonId"}, + "AppServerPrivateKey":{"shape":"AppServerPrivateKey"} + } + }, + "SidewalkAccountInfoWithFingerprint":{ + "type":"structure", + "members":{ + "AmazonId":{"shape":"AmazonId"}, + "AppServerPrivateKey":{"shape":"AppServerPrivateKey"} + } + }, + "SidewalkAccountList":{ + "type":"list", + "member":{"shape":"SidewalkAccountInfoWithFingerprint"} + }, + "SidewalkListDevice":{ + "type":"structure", + "members":{ + "AmazonId":{"shape":"AmazonId"} + } + }, + "SidewalkSendDataToDevice":{ + "type":"structure", + "members":{ + "Seq":{"shape":"Seq"} + } + }, + "SidewalkUpdateAccount":{ + "type":"structure", + "members":{ + "AppServerPrivateKey":{"shape":"AppServerPrivateKey"} + } + }, + "Station":{ + "type":"string", + "max":4096, + "min":1 + }, + "Supports32BitFCnt":{"type":"boolean"}, + "SupportsClassB":{"type":"boolean"}, + "SupportsClassC":{"type":"boolean"}, + "SupportsJoin":{"type":"boolean"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "location":"querystring", + "locationName":"resourceArn" + }, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TargetPer":{ + "type":"integer", + "max":100, + "min":0 + }, + "TestWirelessDeviceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + } + } + }, + "TestWirelessDeviceResponse":{ + "type":"structure", + "members":{ + "Result":{"shape":"Result"} + } + }, + "ThingArn":{"type":"string"}, + "ThingName":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "ResourceName":{"shape":"AmazonResourceName"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TransmitMode":{ + "type":"integer", + "max":1, + "min":0 + }, + "UlBucketSize":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "UlRate":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "UlRatePolicy":{ + "type":"string", + "max":256 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "location":"querystring", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDataSource":{ + "type":"string", + "max":4096, + "min":1 + }, + "UpdateDestinationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DestinationName", + "location":"uri", + "locationName":"Name" + }, + "ExpressionType":{"shape":"ExpressionType"}, + "Expression":{"shape":"Expression"}, + "Description":{"shape":"Description"}, + "RoleArn":{"shape":"RoleArn"} + } + }, + "UpdateDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdatePartnerAccountRequest":{ + "type":"structure", + "required":[ + "Sidewalk", + "PartnerAccountId", + "PartnerType" + ], + "members":{ + "Sidewalk":{"shape":"SidewalkUpdateAccount"}, + "PartnerAccountId":{ + "shape":"PartnerAccountId", + "location":"uri", + "locationName":"PartnerAccountId" + }, + "PartnerType":{ + "shape":"PartnerType", + "location":"querystring", + "locationName":"partnerType" + } + } + }, + "UpdatePartnerAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateSignature":{ + "type":"string", + "max":4096, + "min":1 + }, + "UpdateWirelessDeviceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessDeviceId", + "location":"uri", + "locationName":"Id" + }, + "DestinationName":{"shape":"DestinationName"}, + "Name":{"shape":"WirelessDeviceName"}, + "Description":{"shape":"Description"}, + "LoRaWAN":{"shape":"LoRaWANUpdateDevice"} + } + }, + "UpdateWirelessDeviceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateWirelessGatewayRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"WirelessGatewayId", + "location":"uri", + "locationName":"Id" + }, + "Name":{"shape":"WirelessGatewayName"}, + "Description":{"shape":"Description"} + } + }, + "UpdateWirelessGatewayResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateWirelessGatewayTaskCreate":{ + "type":"structure", + "members":{ + "UpdateDataSource":{"shape":"UpdateDataSource"}, + "UpdateDataRole":{"shape":"UpdateDataSource"}, + "LoRaWAN":{"shape":"LoRaWANUpdateGatewayTaskCreate"} + } + }, + "UpdateWirelessGatewayTaskEntry":{ + "type":"structure", + "members":{ + "Id":{"shape":"WirelessGatewayTaskDefinitionId"}, + "LoRaWAN":{"shape":"LoRaWANUpdateGatewayTaskEntry"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "WirelessDeviceArn":{"type":"string"}, + "WirelessDeviceId":{ + "type":"string", + "max":256 + }, + "WirelessDeviceIdType":{ + "type":"string", + "enum":[ + "WirelessDeviceId", + "DevEui", + "ThingName" + ] + }, + "WirelessDeviceName":{ + "type":"string", + "max":256 + }, + "WirelessDeviceStatistics":{ + "type":"structure", + "members":{ + "Arn":{"shape":"WirelessDeviceArn"}, + "Id":{"shape":"WirelessDeviceId"}, + "Type":{"shape":"WirelessDeviceType"}, + "Name":{"shape":"WirelessDeviceName"}, + "DestinationName":{"shape":"DestinationName"}, + "LastUplinkReceivedAt":{"shape":"ISODateTimeString"}, + "LoRaWAN":{"shape":"LoRaWANListDevice"}, + "Sidewalk":{"shape":"SidewalkListDevice"} + } + }, + "WirelessDeviceStatisticsList":{ + "type":"list", + "member":{"shape":"WirelessDeviceStatistics"} + }, + "WirelessDeviceType":{ + "type":"string", + "enum":[ + "Sidewalk", + "LoRaWAN" + ] + }, + "WirelessGatewayArn":{"type":"string"}, + "WirelessGatewayId":{ + "type":"string", + "max":256 + }, + "WirelessGatewayIdType":{ + "type":"string", + "enum":[ + "GatewayEui", + "WirelessGatewayId", + "ThingName" + ] + }, + "WirelessGatewayName":{ + "type":"string", + "max":256 + }, + "WirelessGatewayServiceType":{ + "type":"string", + "enum":[ + "CUPS", + "LNS" + ] + }, + "WirelessGatewayStatistics":{ + "type":"structure", + "members":{ + "Arn":{"shape":"WirelessGatewayArn"}, + "Id":{"shape":"WirelessGatewayId"}, + "Name":{"shape":"WirelessGatewayName"}, + "Description":{"shape":"Description"}, + "LoRaWAN":{"shape":"LoRaWANGateway"}, + "LastUplinkReceivedAt":{"shape":"ISODateTimeString"} + } + }, + "WirelessGatewayStatisticsList":{ + "type":"list", + "member":{"shape":"WirelessGatewayStatistics"} + }, + "WirelessGatewayTaskDefinitionId":{ + "type":"string", + "max":36, + "pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + }, + "WirelessGatewayTaskDefinitionList":{ + "type":"list", + "member":{"shape":"UpdateWirelessGatewayTaskEntry"} + }, + "WirelessGatewayTaskDefinitionType":{ + "type":"string", + "enum":["UPDATE"] + }, + "WirelessGatewayTaskName":{ + "type":"string", + "max":2048, + "min":1 + }, + "WirelessGatewayTaskStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "FIRST_RETRY", + "SECOND_RETRY", + "COMPLETED", + "FAILED" + ] + }, + "WirelessMetadata":{ + "type":"structure", + "members":{ + "LoRaWAN":{"shape":"LoRaWANSendDataToDevice"}, + "Sidewalk":{"shape":"SidewalkSendDataToDevice"} + } + } + } +} diff --git a/models/apis/iotwireless/2020-11-22/docs-2.json b/models/apis/iotwireless/2020-11-22/docs-2.json new file mode 100644 index 0000000000..38a4af0e6e --- /dev/null +++ b/models/apis/iotwireless/2020-11-22/docs-2.json @@ -0,0 +1,1735 @@ +{ + "version": "2.0", + "service": "

AWS IoT Wireless API documentation

", + "operations": { + "AssociateAwsAccountWithPartnerAccount": "

Associates a partner account with your AWS account.

", + "AssociateWirelessDeviceWithThing": "

Associates a wireless device with a thing.

", + "AssociateWirelessGatewayWithCertificate": "

Associates a wireless gateway with a certificate.

", + "AssociateWirelessGatewayWithThing": "

Associates a wireless gateway with a thing.

", + "CreateDestination": "

Creates a new destination that maps a device message to an AWS IoT rule.

", + "CreateDeviceProfile": "

Creates a new device profile.

", + "CreateServiceProfile": "

Creates a new service profile.

", + "CreateWirelessDevice": "

Provisions a wireless device.

", + "CreateWirelessGateway": "

Provisions a wireless gateway.

", + "CreateWirelessGatewayTask": "

Creates a task for a wireless gateway.

", + "CreateWirelessGatewayTaskDefinition": "

Creates a gateway task definition.

", + "DeleteDestination": "

Deletes a destination.

", + "DeleteDeviceProfile": "

Deletes a device profile.

", + "DeleteServiceProfile": "

Deletes a service profile.

", + "DeleteWirelessDevice": "

Deletes a wireless device.

", + "DeleteWirelessGateway": "

Deletes a wireless gateway.

", + "DeleteWirelessGatewayTask": "

Deletes a wireless gateway task.

", + "DeleteWirelessGatewayTaskDefinition": "

Deletes a wireless gateway task definition. Deleting this task definition does not affect tasks that are currently in progress.

", + "DisassociateAwsAccountFromPartnerAccount": "

Disassociates your AWS account from a partner account. If PartnerAccountId and PartnerType are null, disassociates your AWS account from all partner accounts.

", + "DisassociateWirelessDeviceFromThing": "

Disassociates a wireless device from its currently associated thing.

", + "DisassociateWirelessGatewayFromCertificate": "

Disassociates a wireless gateway from its currently associated certificate.

", + "DisassociateWirelessGatewayFromThing": "

Disassociates a wireless gateway from its currently associated thing.

", + "GetDestination": "

Gets information about a destination.

", + "GetDeviceProfile": "

Gets information about a device profile.

", + "GetPartnerAccount": "

Gets information about a partner account. If PartnerAccountId and PartnerType are null, returns all partner accounts.

", + "GetServiceEndpoint": "

Gets the account-specific endpoint for Configuration and Update Server (CUPS) protocol or LoRaWAN Network Server (LNS) connections.

", + "GetServiceProfile": "

Gets information about a service profile.

", + "GetWirelessDevice": "

Gets information about a wireless device.

", + "GetWirelessDeviceStatistics": "

Gets operating information about a wireless device.

", + "GetWirelessGateway": "

Gets information about a wireless gateway.

", + "GetWirelessGatewayCertificate": "

Gets the ID of the certificate that is currently associated with a wireless gateway.

", + "GetWirelessGatewayFirmwareInformation": "

Gets the firmware version and other information about a wireless gateway.

", + "GetWirelessGatewayStatistics": "

Gets operating information about a wireless gateway.

", + "GetWirelessGatewayTask": "

Gets information about a wireless gateway task.

", + "GetWirelessGatewayTaskDefinition": "

Gets information about a wireless gateway task definition.

", + "ListDestinations": "

Lists the destinations registered to your AWS account.

", + "ListDeviceProfiles": "

Lists the device profiles registered to your AWS account.

", + "ListPartnerAccounts": "

Lists the partner accounts associated with your AWS account.

", + "ListServiceProfiles": "

Lists the service profiles registered to your AWS account.

", + "ListTagsForResource": "

Lists the tags (metadata) you have assigned to the resource.

", + "ListWirelessDevices": "

Lists the wireless devices registered to your AWS account.

", + "ListWirelessGatewayTaskDefinitions": "

List the wireless gateway tasks definitions registered to your AWS account.

", + "ListWirelessGateways": "

Lists the wireless gateways registered to your AWS account.

", + "SendDataToWirelessDevice": "

Sends a decrypted application data frame to a device.

", + "TagResource": "

Adds a tag to a resource.

", + "TestWirelessDevice": "

Simulates a provisioned device by sending an uplink data payload of Hello.

", + "UntagResource": "

Removes one or more tags from a resource.

", + "UpdateDestination": "

Updates properties of a destination.

", + "UpdatePartnerAccount": "

Updates properties of a partner account.

", + "UpdateWirelessDevice": "

Updates properties of a wireless device.

", + "UpdateWirelessGateway": "

Updates properties of a wireless gateway.

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

ABP device object for LoRaWAN specification v1.0.x

", + "refs": { + "LoRaWANDevice$AbpV1_0_x": "

LoRa object for create APIs

" + } + }, + "AbpV1_1": { + "base": "

ABP device object for LoRaWAN specification v1.1

", + "refs": { + "LoRaWANDevice$AbpV1_1": "

ABP device object for create APIs for v1.1

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

User does not have permission to perform this action.

", + "refs": { + } + }, + "AccountLinked": { + "base": null, + "refs": { + "GetPartnerAccountResponse$AccountLinked": "

Whether the partner account is linked to the AWS account.

" + } + }, + "AddGwMetadata": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$AddGwMetadata": "

The AddGWMetaData value.

", + "LoRaWANServiceProfile$AddGwMetadata": "

The AddGWMetaData value.

" + } + }, + "AmazonId": { + "base": null, + "refs": { + "SidewalkAccountInfo$AmazonId": "

The Sidewalk Amazon ID.

", + "SidewalkAccountInfoWithFingerprint$AmazonId": "

The Sidewalk Amazon ID.

", + "SidewalkListDevice$AmazonId": "

The Sidewalk Amazon ID.

" + } + }, + "AmazonResourceName": { + "base": null, + "refs": { + "ListTagsForResourceRequest$ResourceArn": "

The ARN of the resource for which to list tags.

", + "TagResourceRequest$ResourceArn": "

The ARN of the resource to add tags to.

", + "TooManyTagsException$ResourceName": null, + "UntagResourceRequest$ResourceArn": "

The ARN of the resource to remove tags from.

" + } + }, + "AppEui": { + "base": null, + "refs": { + "OtaaV1_0_x$AppEui": "

The AppEUI value.

" + } + }, + "AppKey": { + "base": null, + "refs": { + "OtaaV1_0_x$AppKey": "

The AppKey value.

", + "OtaaV1_1$AppKey": "

The AppKey value.

" + } + }, + "AppSKey": { + "base": null, + "refs": { + "SessionKeysAbpV1_0_x$AppSKey": "

The AppSKey value.

", + "SessionKeysAbpV1_1$AppSKey": "

The AppSKey value.

" + } + }, + "AppServerPrivateKey": { + "base": null, + "refs": { + "SidewalkAccountInfo$AppServerPrivateKey": "

The Sidewalk application server private key.

", + "SidewalkAccountInfoWithFingerprint$AppServerPrivateKey": "

The Sidewalk application server private key.

", + "SidewalkUpdateAccount$AppServerPrivateKey": "

The new Sidewalk application server private key.

" + } + }, + "AssociateAwsAccountWithPartnerAccountRequest": { + "base": null, + "refs": { + } + }, + "AssociateAwsAccountWithPartnerAccountResponse": { + "base": null, + "refs": { + } + }, + "AssociateWirelessDeviceWithThingRequest": { + "base": null, + "refs": { + } + }, + "AssociateWirelessDeviceWithThingResponse": { + "base": null, + "refs": { + } + }, + "AssociateWirelessGatewayWithCertificateRequest": { + "base": null, + "refs": { + } + }, + "AssociateWirelessGatewayWithCertificateResponse": { + "base": null, + "refs": { + } + }, + "AssociateWirelessGatewayWithThingRequest": { + "base": null, + "refs": { + } + }, + "AssociateWirelessGatewayWithThingResponse": { + "base": null, + "refs": { + } + }, + "AutoCreateTasks": { + "base": null, + "refs": { + "CreateWirelessGatewayTaskDefinitionRequest$AutoCreateTasks": "

Whether to automatically create tasks using this task definition for all gateways with the specified current version. If false, the task must me created by calling CreateWirelessGatewayTask.

", + "GetWirelessGatewayTaskDefinitionResponse$AutoCreateTasks": "

Whether to automatically create tasks using this task definition for all gateways with the specified current version. If false, the task must me created by calling CreateWirelessGatewayTask.

" + } + }, + "CertificatePEM": { + "base": null, + "refs": { + "GetServiceEndpointResponse$ServerTrust": "

The Root CA of the server trust certificate.

" + } + }, + "ChannelMask": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$ChannelMask": "

The ChannelMask value.

" + } + }, + "ClassBTimeout": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$ClassBTimeout": "

The ClassBTimeout value.

" + } + }, + "ClassCTimeout": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$ClassCTimeout": "

The ClassCTimeout value.

" + } + }, + "ClientRequestToken": { + "base": null, + "refs": { + "AssociateAwsAccountWithPartnerAccountRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "CreateDestinationRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "CreateDeviceProfileRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "CreateServiceProfileRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "CreateWirelessDeviceRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "CreateWirelessGatewayRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "CreateWirelessGatewayTaskDefinitionRequest$ClientRequestToken": "

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

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

Adding, updating, or deleting the resource can cause an inconsistent state.

", + "refs": { + } + }, + "Crc": { + "base": null, + "refs": { + "LoRaWANUpdateGatewayTaskCreate$SigKeyCrc": "

The CRC of the signature private key to check.

" + } + }, + "CreateDestinationRequest": { + "base": null, + "refs": { + } + }, + "CreateDestinationResponse": { + "base": null, + "refs": { + } + }, + "CreateDeviceProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateDeviceProfileResponse": { + "base": null, + "refs": { + } + }, + "CreateServiceProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateServiceProfileResponse": { + "base": null, + "refs": { + } + }, + "CreateWirelessDeviceRequest": { + "base": null, + "refs": { + } + }, + "CreateWirelessDeviceResponse": { + "base": null, + "refs": { + } + }, + "CreateWirelessGatewayRequest": { + "base": null, + "refs": { + } + }, + "CreateWirelessGatewayResponse": { + "base": null, + "refs": { + } + }, + "CreateWirelessGatewayTaskDefinitionRequest": { + "base": null, + "refs": { + } + }, + "CreateWirelessGatewayTaskDefinitionResponse": { + "base": null, + "refs": { + } + }, + "CreateWirelessGatewayTaskRequest": { + "base": null, + "refs": { + } + }, + "CreateWirelessGatewayTaskResponse": { + "base": null, + "refs": { + } + }, + "DeleteDestinationRequest": { + "base": null, + "refs": { + } + }, + "DeleteDestinationResponse": { + "base": null, + "refs": { + } + }, + "DeleteDeviceProfileRequest": { + "base": null, + "refs": { + } + }, + "DeleteDeviceProfileResponse": { + "base": null, + "refs": { + } + }, + "DeleteServiceProfileRequest": { + "base": null, + "refs": { + } + }, + "DeleteServiceProfileResponse": { + "base": null, + "refs": { + } + }, + "DeleteWirelessDeviceRequest": { + "base": null, + "refs": { + } + }, + "DeleteWirelessDeviceResponse": { + "base": null, + "refs": { + } + }, + "DeleteWirelessGatewayRequest": { + "base": null, + "refs": { + } + }, + "DeleteWirelessGatewayResponse": { + "base": null, + "refs": { + } + }, + "DeleteWirelessGatewayTaskDefinitionRequest": { + "base": null, + "refs": { + } + }, + "DeleteWirelessGatewayTaskDefinitionResponse": { + "base": null, + "refs": { + } + }, + "DeleteWirelessGatewayTaskRequest": { + "base": null, + "refs": { + } + }, + "DeleteWirelessGatewayTaskResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "CreateDestinationRequest$Description": "

The description of the new resource.

", + "CreateWirelessDeviceRequest$Description": "

The description of the new resource.

", + "CreateWirelessGatewayRequest$Description": "

The description of the new resource.

", + "Destinations$Description": "

The description of the resource.

", + "GetDestinationResponse$Description": "

The description of the resource.

", + "GetWirelessDeviceResponse$Description": "

The description of the resource.

", + "GetWirelessGatewayResponse$Description": "

The description of the resource.

", + "UpdateDestinationRequest$Description": "

A new description of the resource.

", + "UpdateWirelessDeviceRequest$Description": "

A new description of the resource.

", + "UpdateWirelessGatewayRequest$Description": "

A new description of the resource.

", + "WirelessGatewayStatistics$Description": "

The description of the resource.

" + } + }, + "DestinationArn": { + "base": null, + "refs": { + "CreateDestinationResponse$Arn": "

The Amazon Resource Name of the new resource.

", + "Destinations$Arn": "

The Amazon Resource Name of the resource.

", + "GetDestinationResponse$Arn": "

The Amazon Resource Name of the resource.

" + } + }, + "DestinationList": { + "base": null, + "refs": { + "ListDestinationsResponse$DestinationList": "

The list of destinations.

" + } + }, + "DestinationName": { + "base": null, + "refs": { + "CreateDestinationRequest$Name": "

The name of the new resource.

", + "CreateDestinationResponse$Name": "

The name of the new resource.

", + "CreateWirelessDeviceRequest$DestinationName": "

The name of the destination to assign to the new wireless device.

", + "DeleteDestinationRequest$Name": "

The name of the resource to delete.

", + "Destinations$Name": "

The name of the resource.

", + "GetDestinationRequest$Name": "

The name of the resource to get.

", + "GetDestinationResponse$Name": "

The name of the resource.

", + "GetWirelessDeviceResponse$DestinationName": "

The name of the destination to which the device is assigned.

", + "ListWirelessDevicesRequest$DestinationName": "

A filter to list only the wireless devices that use this destination.

", + "UpdateDestinationRequest$Name": "

The new name of the resource.

", + "UpdateWirelessDeviceRequest$DestinationName": "

The name of the new destination for the device.

", + "WirelessDeviceStatistics$DestinationName": "

The name of the destination to which the device is assigned.

" + } + }, + "Destinations": { + "base": "

Describes a destination.

", + "refs": { + "DestinationList$member": null + } + }, + "DevAddr": { + "base": null, + "refs": { + "AbpV1_0_x$DevAddr": "

The DevAddr value.

", + "AbpV1_1$DevAddr": "

The DevAddr value.

" + } + }, + "DevEui": { + "base": null, + "refs": { + "LoRaWANDevice$DevEui": "

The DevEUI value.

", + "LoRaWANDeviceMetadata$DevEui": "

The DevEUI value.

", + "LoRaWANListDevice$DevEui": "

The DevEUI value.

" + } + }, + "DevStatusReqFreq": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$DevStatusReqFreq": "

The DevStatusReqFreq value.

" + } + }, + "DeviceProfile": { + "base": "

Describes a device profile.

", + "refs": { + "DeviceProfileList$member": null + } + }, + "DeviceProfileArn": { + "base": null, + "refs": { + "CreateDeviceProfileResponse$Arn": "

The Amazon Resource Name of the new resource.

", + "DeviceProfile$Arn": "

The Amazon Resource Name of the resource.

", + "GetDeviceProfileResponse$Arn": "

The Amazon Resource Name of the resource.

" + } + }, + "DeviceProfileId": { + "base": null, + "refs": { + "CreateDeviceProfileResponse$Id": "

The ID of the new device profile.

", + "DeleteDeviceProfileRequest$Id": "

The ID of the resource to delete.

", + "DeviceProfile$Id": "

The ID of the device profile.

", + "GetDeviceProfileRequest$Id": "

The ID of the resource to get.

", + "GetDeviceProfileResponse$Id": "

The ID of the device profile.

", + "ListWirelessDevicesRequest$DeviceProfileId": "

A filter to list only the wireless devices that use this device profile.

", + "LoRaWANDevice$DeviceProfileId": "

The ID of the device profile for the new wireless device.

", + "LoRaWANUpdateDevice$DeviceProfileId": "

The ID of the device profile for the wireless device.

" + } + }, + "DeviceProfileList": { + "base": null, + "refs": { + "ListDeviceProfilesResponse$DeviceProfileList": "

The list of device profiles.

" + } + }, + "DeviceProfileName": { + "base": null, + "refs": { + "CreateDeviceProfileRequest$Name": "

The name of the new resource.

", + "DeviceProfile$Name": "

The name of the resource.

", + "GetDeviceProfileResponse$Name": "

The name of the resource.

" + } + }, + "DisassociateAwsAccountFromPartnerAccountRequest": { + "base": null, + "refs": { + } + }, + "DisassociateAwsAccountFromPartnerAccountResponse": { + "base": null, + "refs": { + } + }, + "DisassociateWirelessDeviceFromThingRequest": { + "base": null, + "refs": { + } + }, + "DisassociateWirelessDeviceFromThingResponse": { + "base": null, + "refs": { + } + }, + "DisassociateWirelessGatewayFromCertificateRequest": { + "base": null, + "refs": { + } + }, + "DisassociateWirelessGatewayFromCertificateResponse": { + "base": null, + "refs": { + } + }, + "DisassociateWirelessGatewayFromThingRequest": { + "base": null, + "refs": { + } + }, + "DisassociateWirelessGatewayFromThingResponse": { + "base": null, + "refs": { + } + }, + "DlBucketSize": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$DlBucketSize": "

The DLBucketSize value.

" + } + }, + "DlRate": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$DlRate": "

The DLRate value.

" + } + }, + "DlRatePolicy": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$DlRatePolicy": "

The DLRatePolicy value.

" + } + }, + "Double": { + "base": null, + "refs": { + "LoRaWANGatewayMetadata$Snr": "

The SNR value.

", + "LoRaWANGatewayMetadata$Rssi": "

The RSSI value.

" + } + }, + "DrMax": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$DrMax": "

The DRMax value.

" + } + }, + "DrMin": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$DrMin": "

The DRMin value.

" + } + }, + "EndPoint": { + "base": null, + "refs": { + "GetServiceEndpointResponse$ServiceEndpoint": "

The service endpoint value.

" + } + }, + "Expression": { + "base": null, + "refs": { + "CreateDestinationRequest$Expression": "

The rule name or topic rule to send messages to.

", + "Destinations$Expression": "

The rule name or topic rule to send messages to.

", + "GetDestinationResponse$Expression": "

The rule name or topic rule to send messages to.

", + "UpdateDestinationRequest$Expression": "

The new rule name or topic rule to send messages to.

" + } + }, + "ExpressionType": { + "base": null, + "refs": { + "CreateDestinationRequest$ExpressionType": "

The type of value in Expression.

", + "Destinations$ExpressionType": "

The type of value in Expression.

", + "GetDestinationResponse$ExpressionType": "

The type of value in Expression.

", + "UpdateDestinationRequest$ExpressionType": "

The type of value in Expression.

" + } + }, + "FNwkSIntKey": { + "base": null, + "refs": { + "SessionKeysAbpV1_1$FNwkSIntKey": "

The FNwkSIntKey value.

" + } + }, + "FPort": { + "base": null, + "refs": { + "LoRaWANSendDataToDevice$FPort": "

The Fport value.

" + } + }, + "FactoryPresetFreqsList": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$FactoryPresetFreqsList": "

The list of values that make up the FactoryPresetFreqs value.

" + } + }, + "GatewayEui": { + "base": null, + "refs": { + "LoRaWANGateway$GatewayEui": "

The gateway's EUI value.

", + "LoRaWANGatewayMetadata$GatewayEui": "

The gateway's EUI value.

" + } + }, + "GetDestinationRequest": { + "base": null, + "refs": { + } + }, + "GetDestinationResponse": { + "base": null, + "refs": { + } + }, + "GetDeviceProfileRequest": { + "base": null, + "refs": { + } + }, + "GetDeviceProfileResponse": { + "base": null, + "refs": { + } + }, + "GetPartnerAccountRequest": { + "base": null, + "refs": { + } + }, + "GetPartnerAccountResponse": { + "base": null, + "refs": { + } + }, + "GetServiceEndpointRequest": { + "base": null, + "refs": { + } + }, + "GetServiceEndpointResponse": { + "base": null, + "refs": { + } + }, + "GetServiceProfileRequest": { + "base": null, + "refs": { + } + }, + "GetServiceProfileResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessDeviceRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessDeviceResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessDeviceStatisticsRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessDeviceStatisticsResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayCertificateRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayCertificateResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayFirmwareInformationRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayFirmwareInformationResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayStatisticsRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayStatisticsResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayTaskDefinitionRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayTaskDefinitionResponse": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayTaskRequest": { + "base": null, + "refs": { + } + }, + "GetWirelessGatewayTaskResponse": { + "base": null, + "refs": { + } + }, + "HrAllowed": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$HrAllowed": "

The HRAllowed value that describes whether handover roaming is allowed.

" + } + }, + "ISODateTimeString": { + "base": null, + "refs": { + "GetWirelessDeviceStatisticsResponse$LastUplinkReceivedAt": "

The date and time when the most recent uplink was received.

", + "GetWirelessGatewayStatisticsResponse$LastUplinkReceivedAt": "

The date and time when the most recent uplink was received.

", + "GetWirelessGatewayTaskResponse$LastUplinkReceivedAt": "

The date and time when the most recent uplink was received.

", + "GetWirelessGatewayTaskResponse$TaskCreatedAt": "

The date and time when the task was created.

", + "LoRaWANDeviceMetadata$Timestamp": "

The date and time of the metadata.

", + "WirelessDeviceStatistics$LastUplinkReceivedAt": "

The date and time when the most recent uplink was received.

", + "WirelessGatewayStatistics$LastUplinkReceivedAt": "

The date and time when the most recent uplink was received.

" + } + }, + "Identifier": { + "base": null, + "refs": { + "GetWirelessDeviceRequest$Identifier": "

The identifier of the wireless device to get.

", + "GetWirelessGatewayRequest$Identifier": "

The identifier of the wireless gateway to get.

" + } + }, + "Integer": { + "base": null, + "refs": { + "LoRaWANDeviceMetadata$FPort": "

The FPort value.

", + "LoRaWANDeviceMetadata$DataRate": "

The DataRate value.

", + "LoRaWANDeviceMetadata$Frequency": "

The device's channel frequency in Hz.

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

An unexpected error occurred while processing a request.

", + "refs": { + } + }, + "IotCertificateId": { + "base": null, + "refs": { + "AssociateWirelessGatewayWithCertificateRequest$IotCertificateId": "

The ID of the certificate to associate with the wireless gateway.

", + "AssociateWirelessGatewayWithCertificateResponse$IotCertificateId": "

The ID of the certificate associated with the wireless gateway.

", + "GetWirelessGatewayCertificateResponse$IotCertificateId": "

The ID of the certificate associated with the wireless gateway.

" + } + }, + "JoinEui": { + "base": null, + "refs": { + "OtaaV1_1$JoinEui": "

The JoinEUI value.

" + } + }, + "ListDestinationsRequest": { + "base": null, + "refs": { + } + }, + "ListDestinationsResponse": { + "base": null, + "refs": { + } + }, + "ListDeviceProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListDeviceProfilesResponse": { + "base": null, + "refs": { + } + }, + "ListPartnerAccountsRequest": { + "base": null, + "refs": { + } + }, + "ListPartnerAccountsResponse": { + "base": null, + "refs": { + } + }, + "ListServiceProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListServiceProfilesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListWirelessDevicesRequest": { + "base": null, + "refs": { + } + }, + "ListWirelessDevicesResponse": { + "base": null, + "refs": { + } + }, + "ListWirelessGatewayTaskDefinitionsRequest": { + "base": null, + "refs": { + } + }, + "ListWirelessGatewayTaskDefinitionsResponse": { + "base": null, + "refs": { + } + }, + "ListWirelessGatewaysRequest": { + "base": null, + "refs": { + } + }, + "ListWirelessGatewaysResponse": { + "base": null, + "refs": { + } + }, + "LoRaWANDevice": { + "base": "

LoRa object for create functions.

", + "refs": { + "CreateWirelessDeviceRequest$LoRaWAN": "

The device configuration information to use to create the wireless device.

", + "GetWirelessDeviceResponse$LoRaWAN": "

Information about the wireless device.

" + } + }, + "LoRaWANDeviceMetadata": { + "base": "

LoRaWAN device metatdata.

", + "refs": { + "GetWirelessDeviceStatisticsResponse$LoRaWAN": "

Information about the wireless device's operations.

" + } + }, + "LoRaWANDeviceProfile": { + "base": "

LoRaWANDeviceProfile object.

", + "refs": { + "CreateDeviceProfileRequest$LoRaWAN": "

The device profile information to use to create the device profile.

", + "GetDeviceProfileResponse$LoRaWAN": "

Information about the device profile.

" + } + }, + "LoRaWANGateway": { + "base": "

LoRaWANGateway object.

", + "refs": { + "CreateWirelessGatewayRequest$LoRaWAN": "

The gateway configuration information to use to create the wireless gateway.

", + "GetWirelessGatewayResponse$LoRaWAN": "

Information about the wireless gateway.

", + "WirelessGatewayStatistics$LoRaWAN": "

LoRaWAN gateway info.

" + } + }, + "LoRaWANGatewayCurrentVersion": { + "base": "

LoRaWANGatewayCurrentVersion object.

", + "refs": { + "GetWirelessGatewayFirmwareInformationResponse$LoRaWAN": "

Information about the wireless gateway's firmware.

" + } + }, + "LoRaWANGatewayMetadata": { + "base": "

LoRaWAN gateway metatdata.

", + "refs": { + "LoRaWANGatewayMetadataList$member": null + } + }, + "LoRaWANGatewayMetadataList": { + "base": null, + "refs": { + "LoRaWANDeviceMetadata$Gateways": "

Information about the gateways accessed by the device.

" + } + }, + "LoRaWANGatewayVersion": { + "base": "

LoRaWANGatewayVersion object.

", + "refs": { + "LoRaWANGatewayCurrentVersion$CurrentVersion": "

The version of the gateways that should receive the update.

", + "LoRaWANUpdateGatewayTaskCreate$CurrentVersion": "

The version of the gateways that should receive the update.

", + "LoRaWANUpdateGatewayTaskCreate$UpdateVersion": "

The firmware version to update the gateway to.

", + "LoRaWANUpdateGatewayTaskEntry$CurrentVersion": "

The version of the gateways that should receive the update.

", + "LoRaWANUpdateGatewayTaskEntry$UpdateVersion": "

The firmware version to update the gateway to.

" + } + }, + "LoRaWANGetServiceProfileInfo": { + "base": "

LoRaWANGetServiceProfileInfo object.

", + "refs": { + "GetServiceProfileResponse$LoRaWAN": "

Information about the service profile.

" + } + }, + "LoRaWANListDevice": { + "base": "

LoRaWAN object for list functions.

", + "refs": { + "WirelessDeviceStatistics$LoRaWAN": "

LoRaWAN device info.

" + } + }, + "LoRaWANSendDataToDevice": { + "base": "

LoRaWAN router info.

", + "refs": { + "WirelessMetadata$LoRaWAN": "

LoRaWAN device info.

" + } + }, + "LoRaWANServiceProfile": { + "base": "

LoRaWANServiceProfile object.

", + "refs": { + "CreateServiceProfileRequest$LoRaWAN": "

The service profile information to use to create the service profile.

" + } + }, + "LoRaWANUpdateDevice": { + "base": "

LoRa object for update functions.

", + "refs": { + "UpdateWirelessDeviceRequest$LoRaWAN": "

The updated wireless device's configuration.

" + } + }, + "LoRaWANUpdateGatewayTaskCreate": { + "base": "

LoRaWANUpdateGatewayTaskCreate object.

", + "refs": { + "UpdateWirelessGatewayTaskCreate$LoRaWAN": "

The properties that relate to the LoRaWAN wireless gateway.

" + } + }, + "LoRaWANUpdateGatewayTaskEntry": { + "base": "

LoRaWANUpdateGatewayTaskEntry object.

", + "refs": { + "UpdateWirelessGatewayTaskEntry$LoRaWAN": "

The properties that relate to the LoRaWAN wireless gateway.

" + } + }, + "MacVersion": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$MacVersion": "

The MAC version (such as OTAA 1.1 or OTA 1.0.3) to use with this device profile.

" + } + }, + "MaxDutyCycle": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$MaxDutyCycle": "

The MaxDutyCycle value.

" + } + }, + "MaxEirp": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$MaxEirp": "

The MaxEIRP value.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListDestinationsRequest$MaxResults": "

The maximum number of results to return in this operation.

", + "ListDeviceProfilesRequest$MaxResults": "

The maximum number of results to return in this operation.

", + "ListPartnerAccountsRequest$MaxResults": "

The maximum number of results to return in this operation.

", + "ListServiceProfilesRequest$MaxResults": "

The maximum number of results to return in this operation.

", + "ListWirelessDevicesRequest$MaxResults": "

The maximum number of results to return in this operation.

", + "ListWirelessGatewayTaskDefinitionsRequest$MaxResults": "

The maximum number of results to return in this operation.

", + "ListWirelessGatewaysRequest$MaxResults": "

The maximum number of results to return in this operation.

" + } + }, + "Message": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "ConflictException$Message": null, + "InternalServerException$Message": null, + "ResourceNotFoundException$Message": null, + "ThrottlingException$Message": null, + "TooManyTagsException$Message": null, + "ValidationException$Message": null + } + }, + "MessageId": { + "base": null, + "refs": { + "SendDataToWirelessDeviceResponse$MessageId": "

The ID of the message sent to the wireless device.

" + } + }, + "MinGwDiversity": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$MinGwDiversity": "

The MinGwDiversity value.

" + } + }, + "Model": { + "base": null, + "refs": { + "LoRaWANGatewayVersion$Model": "

The model number of the wireless gateway.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListDestinationsRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListDestinationsResponse$NextToken": "

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

", + "ListDeviceProfilesRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListDeviceProfilesResponse$NextToken": "

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

", + "ListPartnerAccountsRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListPartnerAccountsResponse$NextToken": "

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

", + "ListServiceProfilesRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListServiceProfilesResponse$NextToken": "

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

", + "ListWirelessDevicesRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListWirelessDevicesResponse$NextToken": "

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

", + "ListWirelessGatewayTaskDefinitionsRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListWirelessGatewayTaskDefinitionsResponse$NextToken": "

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

", + "ListWirelessGatewaysRequest$NextToken": "

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "ListWirelessGatewaysResponse$NextToken": "

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

" + } + }, + "NwkGeoLoc": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$NwkGeoLoc": "

The NwkGeoLoc value.

" + } + }, + "NwkKey": { + "base": null, + "refs": { + "OtaaV1_1$NwkKey": "

The NwkKey value.

" + } + }, + "NwkSEncKey": { + "base": null, + "refs": { + "SessionKeysAbpV1_1$NwkSEncKey": "

The NwkSEncKey value.

" + } + }, + "NwkSKey": { + "base": null, + "refs": { + "SessionKeysAbpV1_0_x$NwkSKey": "

The NwkSKey value.

" + } + }, + "OtaaV1_0_x": { + "base": "

OTAA device object for v1.0.x

", + "refs": { + "LoRaWANDevice$OtaaV1_0_x": "

OTAA device object for create APIs for v1.0.x

" + } + }, + "OtaaV1_1": { + "base": "

OTAA device object for v1.1

", + "refs": { + "LoRaWANDevice$OtaaV1_1": "

OTAA device object for v1.1 for create APIs

" + } + }, + "PackageVersion": { + "base": null, + "refs": { + "LoRaWANGatewayVersion$PackageVersion": "

The version of the wireless gateway firmware.

" + } + }, + "PartnerAccountId": { + "base": null, + "refs": { + "DisassociateAwsAccountFromPartnerAccountRequest$PartnerAccountId": "

The partner account ID to disassociate from the AWS account.

", + "GetPartnerAccountRequest$PartnerAccountId": "

The partner account ID to disassociate from the AWS account.

", + "UpdatePartnerAccountRequest$PartnerAccountId": "

The ID of the partner account to update.

" + } + }, + "PartnerType": { + "base": null, + "refs": { + "DisassociateAwsAccountFromPartnerAccountRequest$PartnerType": "

The partner type.

", + "GetPartnerAccountRequest$PartnerType": "

The partner type.

", + "UpdatePartnerAccountRequest$PartnerType": "

The partner type.

" + } + }, + "PayloadData": { + "base": null, + "refs": { + "SendDataToWirelessDeviceRequest$PayloadData": "

The message payload to send.

" + } + }, + "PingSlotDr": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$PingSlotDr": "

The PingSlotDR value.

" + } + }, + "PingSlotFreq": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$PingSlotFreq": "

The PingSlotFreq value.

" + } + }, + "PingSlotPeriod": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$PingSlotPeriod": "

The PingSlotPeriod value.

" + } + }, + "PrAllowed": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$PrAllowed": "

The PRAllowed value that describes whether passive roaming is allowed.

" + } + }, + "PresetFreq": { + "base": null, + "refs": { + "FactoryPresetFreqsList$member": null + } + }, + "RaAllowed": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$RaAllowed": "

The RAAllowed value that describes whether roaming activation is allowed.

" + } + }, + "RegParamsRevision": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$RegParamsRevision": "

The version of regional parameters.

" + } + }, + "ReportDevStatusBattery": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$ReportDevStatusBattery": "

The ReportDevStatusBattery value.

" + } + }, + "ReportDevStatusMargin": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$ReportDevStatusMargin": "

The ReportDevStatusMargin value.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "ConflictException$ResourceId": null, + "ResourceNotFoundException$ResourceId": null + } + }, + "ResourceNotFoundException": { + "base": "

Resource does not exist.

", + "refs": { + } + }, + "ResourceType": { + "base": null, + "refs": { + "ConflictException$ResourceType": null, + "ResourceNotFoundException$ResourceType": null + } + }, + "Result": { + "base": null, + "refs": { + "TestWirelessDeviceResponse$Result": "

The result returned by the test.

" + } + }, + "RfRegion": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$RfRegion": "

The frequency band (RFRegion) value.

", + "LoRaWANGateway$RfRegion": "

The frequency band (RFRegion) value.

" + } + }, + "RoleArn": { + "base": null, + "refs": { + "CreateDestinationRequest$RoleArn": "

The ARN of the IAM Role that authorizes the destination.

", + "Destinations$RoleArn": "

The ARN of the IAM Role that authorizes the destination.

", + "GetDestinationResponse$RoleArn": "

The ARN of the IAM Role that authorizes the destination.

", + "UpdateDestinationRequest$RoleArn": "

The ARN of the IAM Role that authorizes the destination.

" + } + }, + "RxDataRate2": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$RxDataRate2": "

The RXDataRate2 value.

" + } + }, + "RxDelay1": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$RxDelay1": "

The RXDelay1 value.

" + } + }, + "RxDrOffset1": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$RxDrOffset1": "

The RXDROffset1 value.

" + } + }, + "RxFreq2": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$RxFreq2": "

The RXFreq2 value.

" + } + }, + "SNwkSIntKey": { + "base": null, + "refs": { + "SessionKeysAbpV1_1$SNwkSIntKey": "

The SNwkSIntKey value.

" + } + }, + "SendDataToWirelessDeviceRequest": { + "base": null, + "refs": { + } + }, + "SendDataToWirelessDeviceResponse": { + "base": null, + "refs": { + } + }, + "Seq": { + "base": null, + "refs": { + "SidewalkSendDataToDevice$Seq": "

The sequence number.

" + } + }, + "ServiceProfile": { + "base": "

Information about a service profile.

", + "refs": { + "ServiceProfileList$member": null + } + }, + "ServiceProfileArn": { + "base": null, + "refs": { + "CreateServiceProfileResponse$Arn": "

The Amazon Resource Name of the new resource.

", + "GetServiceProfileResponse$Arn": "

The Amazon Resource Name of the resource.

", + "ServiceProfile$Arn": "

The Amazon Resource Name of the resource.

" + } + }, + "ServiceProfileId": { + "base": null, + "refs": { + "CreateServiceProfileResponse$Id": "

The ID of the new service profile.

", + "DeleteServiceProfileRequest$Id": "

The ID of the resource to delete.

", + "GetServiceProfileRequest$Id": "

The ID of the resource to get.

", + "GetServiceProfileResponse$Id": "

The ID of the service profile.

", + "ListWirelessDevicesRequest$ServiceProfileId": "

A filter to list only the wireless devices that use this service profile.

", + "LoRaWANDevice$ServiceProfileId": "

The ID of the service profile.

", + "LoRaWANUpdateDevice$ServiceProfileId": "

The ID of the service profile.

", + "ServiceProfile$Id": "

The ID of the service profile.

" + } + }, + "ServiceProfileList": { + "base": null, + "refs": { + "ListServiceProfilesResponse$ServiceProfileList": "

The list of service profiles.

" + } + }, + "ServiceProfileName": { + "base": null, + "refs": { + "CreateServiceProfileRequest$Name": "

The name of the new resource.

", + "GetServiceProfileResponse$Name": "

The name of the resource.

", + "ServiceProfile$Name": "

The name of the resource.

" + } + }, + "SessionKeysAbpV1_0_x": { + "base": "

Session keys for ABP v1.1

", + "refs": { + "AbpV1_0_x$SessionKeys": "

Session keys for ABP v1.0.x

" + } + }, + "SessionKeysAbpV1_1": { + "base": "

Session keys for ABP v1.1

", + "refs": { + "AbpV1_1$SessionKeys": "

Session keys for ABP v1.1

" + } + }, + "SidewalkAccountInfo": { + "base": "

Information about a Sidewalk account.

", + "refs": { + "AssociateAwsAccountWithPartnerAccountRequest$Sidewalk": "

The Sidewalk account credentials.

", + "AssociateAwsAccountWithPartnerAccountResponse$Sidewalk": "

The Sidewalk account credentials.

" + } + }, + "SidewalkAccountInfoWithFingerprint": { + "base": "

Information about a Sidewalk account.

", + "refs": { + "GetPartnerAccountResponse$Sidewalk": "

The Sidewalk account credentials.

The AppServerPrivateKey value is empty to protect its security.

", + "SidewalkAccountList$member": null + } + }, + "SidewalkAccountList": { + "base": null, + "refs": { + "ListPartnerAccountsResponse$Sidewalk": "

The Sidewalk account credentials.

The AppServerPrivateKey value is empty to protect its security.

" + } + }, + "SidewalkListDevice": { + "base": "

Sidewalk object used by list functions.

", + "refs": { + "WirelessDeviceStatistics$Sidewalk": "

The Sidewalk account credentials.

" + } + }, + "SidewalkSendDataToDevice": { + "base": "

Information about a Sidewalk router.

", + "refs": { + "WirelessMetadata$Sidewalk": "

The Sidewalk account credentials.

" + } + }, + "SidewalkUpdateAccount": { + "base": "

Sidewalk update.

", + "refs": { + "UpdatePartnerAccountRequest$Sidewalk": "

The Sidewalk account credentials.

" + } + }, + "Station": { + "base": null, + "refs": { + "LoRaWANGatewayVersion$Station": "

The basic station version of the wireless gateway.

" + } + }, + "Supports32BitFCnt": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$Supports32BitFCnt": "

The Supports32BitFCnt value.

" + } + }, + "SupportsClassB": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$SupportsClassB": "

The SupportsClassB value.

" + } + }, + "SupportsClassC": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$SupportsClassC": "

The SupportsClassC value.

" + } + }, + "SupportsJoin": { + "base": null, + "refs": { + "LoRaWANDeviceProfile$SupportsJoin": "

The SupportsJoin value.

" + } + }, + "Tag": { + "base": "

A simple label consisting of a customer-defined key-value pair

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

The tag's key value.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

A list of the keys of the tags to remove from the resource.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreateDestinationRequest$Tags": "

The tags to attach to the new destination. Tags are metadata that can be used to manage a resource.

", + "CreateDeviceProfileRequest$Tags": "

The tags to attach to the new device profile Tags are metadata that can be used to manage a resource.

", + "CreateServiceProfileRequest$Tags": "

The tags to attach to the new service profile. Tags are metadata that can be used to manage a resource.

", + "CreateWirelessGatewayRequest$Tags": "

The tags to attach to the new wireless gateway. Tags are metadata that can be used to manage a resource.

", + "ListTagsForResourceResponse$Tags": "

The tags attached to the specified resource. Tags are metadata that can be used to manage a resource

", + "TagResourceRequest$Tags": "

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

The tag's value.

" + } + }, + "TargetPer": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$TargetPer": "

The TargetPER value.

" + } + }, + "TestWirelessDeviceRequest": { + "base": null, + "refs": { + } + }, + "TestWirelessDeviceResponse": { + "base": null, + "refs": { + } + }, + "ThingArn": { + "base": null, + "refs": { + "AssociateWirelessDeviceWithThingRequest$ThingArn": "

The ARN of the thing to associate with the wireless device.

", + "AssociateWirelessGatewayWithThingRequest$ThingArn": "

The ARN of the thing to associate with the wireless gateway.

", + "GetWirelessDeviceResponse$ThingArn": "

The ARN of the thing associated with the wireless device.

", + "GetWirelessGatewayResponse$ThingArn": "

The ARN of the thing associated with the wireless gateway.

" + } + }, + "ThingName": { + "base": null, + "refs": { + "GetWirelessDeviceResponse$ThingName": "

The name of the thing associated with the wireless device.

", + "GetWirelessGatewayResponse$ThingName": "

The name of the thing associated with the wireless gateway.

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

The request was denied because it exceeded the allowed API request rate.

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

The request was denied because the resource can't have any more tags.

", + "refs": { + } + }, + "TransmitMode": { + "base": null, + "refs": { + "SendDataToWirelessDeviceRequest$TransmitMode": "

The transmit mode to use to send data to the wireless device. Can be: 0 for UM (unacknowledge mode), 1 for AM (acknowledge mode), or 2 for (TM) transparent mode.

" + } + }, + "UlBucketSize": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$UlBucketSize": "

The ULBucketSize value.

" + } + }, + "UlRate": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$UlRate": "

The ULRate value.

" + } + }, + "UlRatePolicy": { + "base": null, + "refs": { + "LoRaWANGetServiceProfileInfo$UlRatePolicy": "

The ULRatePolicy value.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateDataSource": { + "base": null, + "refs": { + "UpdateWirelessGatewayTaskCreate$UpdateDataSource": "

The link to the S3 bucket.

", + "UpdateWirelessGatewayTaskCreate$UpdateDataRole": "

The IAM role used to read data from the S3 bucket.

" + } + }, + "UpdateDestinationRequest": { + "base": null, + "refs": { + } + }, + "UpdateDestinationResponse": { + "base": null, + "refs": { + } + }, + "UpdatePartnerAccountRequest": { + "base": null, + "refs": { + } + }, + "UpdatePartnerAccountResponse": { + "base": null, + "refs": { + } + }, + "UpdateSignature": { + "base": null, + "refs": { + "LoRaWANUpdateGatewayTaskCreate$UpdateSignature": "

The signature used to verify the update firmware.

" + } + }, + "UpdateWirelessDeviceRequest": { + "base": null, + "refs": { + } + }, + "UpdateWirelessDeviceResponse": { + "base": null, + "refs": { + } + }, + "UpdateWirelessGatewayRequest": { + "base": null, + "refs": { + } + }, + "UpdateWirelessGatewayResponse": { + "base": null, + "refs": { + } + }, + "UpdateWirelessGatewayTaskCreate": { + "base": "

UpdateWirelessGatewayTaskCreate object.

", + "refs": { + "CreateWirelessGatewayTaskDefinitionRequest$Update": "

Information about the gateways to update.

", + "GetWirelessGatewayTaskDefinitionResponse$Update": "

Information about the gateways to update.

" + } + }, + "UpdateWirelessGatewayTaskEntry": { + "base": "

UpdateWirelessGatewayTaskEntry object.

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

The input did not meet the specified constraints.

", + "refs": { + } + }, + "WirelessDeviceArn": { + "base": null, + "refs": { + "CreateWirelessDeviceResponse$Arn": "

The Amazon Resource Name of the new resource.

", + "GetWirelessDeviceResponse$Arn": "

The Amazon Resource Name of the resource.

", + "WirelessDeviceStatistics$Arn": "

The Amazon Resource Name of the resource.

" + } + }, + "WirelessDeviceId": { + "base": null, + "refs": { + "AssociateWirelessDeviceWithThingRequest$Id": "

The ID of the resource to update.

", + "CreateWirelessDeviceResponse$Id": "

The ID of the new wireless device.

", + "CreateWirelessGatewayResponse$Id": "

The ID of the new wireless gateway.

", + "DeleteWirelessDeviceRequest$Id": "

The ID of the resource to delete.

", + "DisassociateWirelessDeviceFromThingRequest$Id": "

The ID of the resource to update.

", + "GetWirelessDeviceResponse$Id": "

The ID of the wireless device.

", + "GetWirelessDeviceStatisticsRequest$WirelessDeviceId": "

The ID of the wireless device for which to get the data.

", + "GetWirelessDeviceStatisticsResponse$WirelessDeviceId": "

The ID of the wireless device.

", + "SendDataToWirelessDeviceRequest$Id": "

The ID of the wireless device to receive the data.

", + "TestWirelessDeviceRequest$Id": "

The ID of the wireless device to test.

", + "UpdateWirelessDeviceRequest$Id": "

The ID of the resource to update.

", + "WirelessDeviceStatistics$Id": "

The ID of the wireless device reporting the data.

" + } + }, + "WirelessDeviceIdType": { + "base": null, + "refs": { + "GetWirelessDeviceRequest$IdentifierType": "

The type of identifier used in identifier.

" + } + }, + "WirelessDeviceName": { + "base": null, + "refs": { + "CreateWirelessDeviceRequest$Name": "

The name of the new resource.

", + "GetWirelessDeviceResponse$Name": "

The name of the resource.

", + "UpdateWirelessDeviceRequest$Name": "

The new name of the resource.

", + "WirelessDeviceStatistics$Name": "

The name of the resource.

" + } + }, + "WirelessDeviceStatistics": { + "base": "

Information about a wireless device's operation.

", + "refs": { + "WirelessDeviceStatisticsList$member": null + } + }, + "WirelessDeviceStatisticsList": { + "base": null, + "refs": { + "ListWirelessDevicesResponse$WirelessDeviceList": "

The ID of the wireless device.

" + } + }, + "WirelessDeviceType": { + "base": null, + "refs": { + "CreateWirelessDeviceRequest$Type": "

The wireless device type.

", + "GetWirelessDeviceResponse$Type": "

The wireless device type.

", + "ListWirelessDevicesRequest$WirelessDeviceType": "

A filter to list only the wireless devices that use this wireless device type.

", + "WirelessDeviceStatistics$Type": "

The wireless device type.

" + } + }, + "WirelessGatewayArn": { + "base": null, + "refs": { + "CreateWirelessGatewayResponse$Arn": "

The Amazon Resource Name of the new resource.

", + "GetWirelessGatewayResponse$Arn": "

The Amazon Resource Name of the resource.

", + "WirelessGatewayStatistics$Arn": "

The Amazon Resource Name of the resource.

" + } + }, + "WirelessGatewayId": { + "base": null, + "refs": { + "AssociateWirelessGatewayWithCertificateRequest$Id": "

The ID of the resource to update.

", + "AssociateWirelessGatewayWithThingRequest$Id": "

The ID of the resource to update.

", + "CreateWirelessGatewayTaskRequest$Id": "

The ID of the resource to update.

", + "DeleteWirelessGatewayRequest$Id": "

The ID of the resource to delete.

", + "DeleteWirelessGatewayTaskRequest$Id": "

The ID of the resource to delete.

", + "DisassociateWirelessGatewayFromCertificateRequest$Id": "

The ID of the resource to update.

", + "DisassociateWirelessGatewayFromThingRequest$Id": "

The ID of the resource to update.

", + "GetWirelessGatewayCertificateRequest$Id": "

The ID of the resource to get.

", + "GetWirelessGatewayFirmwareInformationRequest$Id": "

The ID of the resource to get.

", + "GetWirelessGatewayResponse$Id": "

The ID of the wireless gateway.

", + "GetWirelessGatewayStatisticsRequest$WirelessGatewayId": "

The ID of the wireless gateway for which to get the data.

", + "GetWirelessGatewayStatisticsResponse$WirelessGatewayId": "

The ID of the wireless gateway.

", + "GetWirelessGatewayTaskRequest$Id": "

The ID of the resource to get.

", + "GetWirelessGatewayTaskResponse$WirelessGatewayId": "

The ID of the wireless gateway.

", + "UpdateWirelessGatewayRequest$Id": "

The ID of the resource to update.

", + "WirelessGatewayStatistics$Id": "

The ID of the wireless gateway reporting the data.

" + } + }, + "WirelessGatewayIdType": { + "base": null, + "refs": { + "GetWirelessGatewayRequest$IdentifierType": "

The type of identifier used in identifier.

" + } + }, + "WirelessGatewayName": { + "base": null, + "refs": { + "CreateWirelessGatewayRequest$Name": "

The name of the new resource.

", + "GetWirelessGatewayResponse$Name": "

The name of the resource.

", + "UpdateWirelessGatewayRequest$Name": "

The new name of the resource.

", + "WirelessGatewayStatistics$Name": "

The name of the resource.

" + } + }, + "WirelessGatewayServiceType": { + "base": null, + "refs": { + "GetServiceEndpointRequest$ServiceType": "

The service type for which to get endpoint information about. Can be CUPS for the Configuration and Update Server endpoint, or LNS for the LoRaWAN Network Server endpoint.

", + "GetServiceEndpointResponse$ServiceType": "

The endpoint's service type.

" + } + }, + "WirelessGatewayStatistics": { + "base": "

Information about a wireless gateway's operation.

", + "refs": { + "WirelessGatewayStatisticsList$member": null + } + }, + "WirelessGatewayStatisticsList": { + "base": null, + "refs": { + "ListWirelessGatewaysResponse$WirelessGatewayList": "

The ID of the wireless gateway.

" + } + }, + "WirelessGatewayTaskDefinitionId": { + "base": null, + "refs": { + "CreateWirelessGatewayTaskDefinitionResponse$Id": "

The ID of the new wireless gateway task definition.

", + "CreateWirelessGatewayTaskRequest$WirelessGatewayTaskDefinitionId": "

The ID of the WirelessGatewayTaskDefinition.

", + "CreateWirelessGatewayTaskResponse$WirelessGatewayTaskDefinitionId": "

The ID of the WirelessGatewayTaskDefinition.

", + "DeleteWirelessGatewayTaskDefinitionRequest$Id": "

The ID of the resource to delete.

", + "GetWirelessGatewayTaskDefinitionRequest$Id": "

The ID of the resource to get.

", + "GetWirelessGatewayTaskResponse$WirelessGatewayTaskDefinitionId": "

The ID of the WirelessGatewayTask.

", + "UpdateWirelessGatewayTaskEntry$Id": "

The ID of the new wireless gateway task entry.

" + } + }, + "WirelessGatewayTaskDefinitionList": { + "base": null, + "refs": { + "ListWirelessGatewayTaskDefinitionsResponse$TaskDefinitions": "

The list of task definitions.

" + } + }, + "WirelessGatewayTaskDefinitionType": { + "base": null, + "refs": { + "ListWirelessGatewayTaskDefinitionsRequest$TaskDefinitionType": "

A filter to list only the wireless gateway task definitions that use this task definition type.

" + } + }, + "WirelessGatewayTaskName": { + "base": null, + "refs": { + "CreateWirelessGatewayTaskDefinitionRequest$Name": "

The name of the new resource.

", + "GetWirelessGatewayTaskDefinitionResponse$Name": "

The name of the resource.

" + } + }, + "WirelessGatewayTaskStatus": { + "base": null, + "refs": { + "CreateWirelessGatewayTaskResponse$Status": "

The status of the request.

", + "GetWirelessGatewayTaskResponse$Status": "

The status of the request.

" + } + }, + "WirelessMetadata": { + "base": "

WirelessMetadata object.

", + "refs": { + "SendDataToWirelessDeviceRequest$WirelessMetadata": "

Metadata about the message request.

" + } + } + } +} diff --git a/models/apis/iotwireless/2020-11-22/examples-1.json b/models/apis/iotwireless/2020-11-22/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/iotwireless/2020-11-22/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/iotwireless/2020-11-22/paginators-1.json b/models/apis/iotwireless/2020-11-22/paginators-1.json new file mode 100644 index 0000000000..6ebd70afa3 --- /dev/null +++ b/models/apis/iotwireless/2020-11-22/paginators-1.json @@ -0,0 +1,29 @@ +{ + "pagination": { + "ListDestinations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDeviceProfiles": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListServiceProfiles": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListWirelessDevices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListWirelessGateways": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index f2860f90ef..56ee112cbd 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -1261,10 +1261,7 @@ }, "CreateEventSourceMappingRequest":{ "type":"structure", - "required":[ - "EventSourceArn", - "FunctionName" - ], + "required":["FunctionName"], "members":{ "EventSourceArn":{"shape":"Arn"}, "FunctionName":{"shape":"FunctionName"}, @@ -1278,9 +1275,12 @@ "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"}, "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"}, + "TumblingWindowInSeconds":{"shape":"TumblingWindowInSeconds"}, "Topics":{"shape":"Topics"}, "Queues":{"shape":"Queues"}, - "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"} + "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"}, + "SelfManagedEventSource":{"shape":"SelfManagedEventSource"}, + "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"} } }, "CreateFunctionRequest":{ @@ -1550,6 +1550,29 @@ "exception":true }, "Enabled":{"type":"boolean"}, + "EndPointType":{ + "type":"string", + "enum":["KAFKA_BOOTSTRAP_SERVERS"] + }, + "Endpoint":{ + "type":"string", + "max":300, + "min":1, + "pattern":"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}" + }, + "EndpointLists":{ + "type":"list", + "member":{"shape":"Endpoint"}, + "max":10, + "min":1 + }, + "Endpoints":{ + "type":"map", + "key":{"shape":"EndPointType"}, + "value":{"shape":"EndpointLists"}, + "max":2, + "min":1 + }, "Environment":{ "type":"structure", "members":{ @@ -1604,9 +1627,12 @@ "Topics":{"shape":"Topics"}, "Queues":{"shape":"Queues"}, "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"}, + "SelfManagedEventSource":{"shape":"SelfManagedEventSource"}, "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"}, "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, - "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"} + "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"}, + "TumblingWindowInSeconds":{"shape":"TumblingWindowInSeconds"}, + "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"} } }, "EventSourceMappingsList":{ @@ -1735,6 +1761,16 @@ "min":1, "pattern":"(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" }, + "FunctionResponseType":{ + "type":"string", + "enum":["ReportBatchItemFailures"] + }, + "FunctionResponseTypeList":{ + "type":"list", + "member":{"shape":"FunctionResponseType"}, + "max":1, + "min":1 + }, "FunctionVersion":{ "type":"string", "enum":["ALL"] @@ -3164,6 +3200,12 @@ "member":{"shape":"SecurityGroupId"}, "max":5 }, + "SelfManagedEventSource":{ + "type":"structure", + "members":{ + "Endpoints":{"shape":"Endpoints"} + } + }, "SensitiveString":{ "type":"string", "sensitive":true @@ -3187,18 +3229,24 @@ "type":"structure", "members":{ "Type":{"shape":"SourceAccessType"}, - "URI":{"shape":"Arn"} + "URI":{"shape":"URI"} } }, "SourceAccessConfigurations":{ "type":"list", "member":{"shape":"SourceAccessConfiguration"}, - "max":1, + "max":22, "min":1 }, "SourceAccessType":{ "type":"string", - "enum":["BASIC_AUTH"] + "enum":[ + "BASIC_AUTH", + "VPC_SUBNET", + "VPC_SECURITY_GROUP", + "SASL_SCRAM_512_AUTH", + "SASL_SCRAM_256_AUTH" + ] }, "SourceOwner":{ "type":"string", @@ -3346,6 +3394,17 @@ "PassThrough" ] }, + "TumblingWindowInSeconds":{ + "type":"integer", + "max":900, + "min":0 + }, + "URI":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[a-zA-Z0-9-\\/*:_+=.@-]*" + }, "UnreservedConcurrentExecutions":{ "type":"integer", "min":0 @@ -3440,7 +3499,9 @@ "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"}, "ParallelizationFactor":{"shape":"ParallelizationFactor"}, - "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"} + "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"}, + "TumblingWindowInSeconds":{"shape":"TumblingWindowInSeconds"}, + "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"} } }, "UpdateFunctionCodeRequest":{ diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index c700433699..1429138dda 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -6,7 +6,7 @@ "AddPermission": "

Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.

To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies.

", "CreateAlias": "

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

", "CreateCodeSigningConfig": "

Creates a code signing configuration. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).

", - "CreateEventSourceMapping": "

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

", + "CreateEventSourceMapping": "

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

", "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

You can use code signing if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes set set of signing profiles, which define the trusted publishers for this function.

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", "DeleteAlias": "

Deletes a Lambda function alias.

", "DeleteCodeSigningConfig": "

Deletes the code signing configuration. You can delete the code signing configuration only if no function is using it.

", @@ -161,16 +161,15 @@ "Layer$SigningProfileVersionArn": "

The Amazon Resource Name (ARN) for a signing profile version.

", "Layer$SigningJobArn": "

The Amazon Resource Name (ARN) of a signing job.

", "ListEventSourceMappingsRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the event source.

", - "SigningProfileVersionArns$member": null, - "SourceAccessConfiguration$URI": "

To reference the secret, use the following format: [ { \"Type\": \"BASIC_AUTH\", \"URI\": \"secretARN\" } ]

The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

" + "SigningProfileVersionArns$member": null } }, "BatchSize": { "base": null, "refs": { - "CreateEventSourceMappingRequest$BatchSize": "

The maximum number of items to retrieve in a single batch.

", + "CreateEventSourceMappingRequest$BatchSize": "

The maximum number of items to retrieve in a single batch.

", "EventSourceMappingConfiguration$BatchSize": "

The maximum number of items to retrieve in a single batch.

", - "UpdateEventSourceMappingRequest$BatchSize": "

The maximum number of items to retrieve in a single batch.

" + "UpdateEventSourceMappingRequest$BatchSize": "

The maximum number of items to retrieve in a single batch.

" } }, "BisectBatchOnFunctionError": { @@ -460,6 +459,30 @@ "UpdateEventSourceMappingRequest$Enabled": "

If true, the event source mapping is active. Set to false to pause polling and invocation.

" } }, + "EndPointType": { + "base": null, + "refs": { + "Endpoints$key": null + } + }, + "Endpoint": { + "base": null, + "refs": { + "EndpointLists$member": null + } + }, + "EndpointLists": { + "base": null, + "refs": { + "Endpoints$value": null + } + }, + "Endpoints": { + "base": null, + "refs": { + "SelfManagedEventSource$Endpoints": "

The list of bootstrap servers for your Kafka brokers in the following format: \"KAFKA_BOOTSTRAP_SERVERS\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"].

" + } + }, "Environment": { "base": "

A function's environment variable settings.

", "refs": { @@ -638,6 +661,20 @@ "UpdateFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" } }, + "FunctionResponseType": { + "base": null, + "refs": { + "FunctionResponseTypeList$member": null + } + }, + "FunctionResponseTypeList": { + "base": null, + "refs": { + "CreateEventSourceMappingRequest$FunctionResponseTypes": "

(Streams) A list of current response type enums applied to the event source mapping.

", + "EventSourceMappingConfiguration$FunctionResponseTypes": "

(Streams) A list of current response type enums applied to the event source mapping.

", + "UpdateEventSourceMappingRequest$FunctionResponseTypes": "

(Streams) A list of current response type enums applied to the event source mapping.

" + } + }, "FunctionVersion": { "base": null, "refs": { @@ -774,7 +811,7 @@ } }, "ImageConfig": { - "base": "

Configuration values that override the container image Dockerfile. See Override Container settings.

", + "base": "

Configuration values that override the container image Dockerfile settings. See Container settings.

", "refs": { "CreateFunctionRequest$ImageConfig": "

Configuration values that override the container image Dockerfile.

", "ImageConfigResponse$ImageConfig": "

Configuration values that override the container image Dockerfile.

", @@ -1204,9 +1241,9 @@ "MaximumBatchingWindowInSeconds": { "base": null, "refs": { - "CreateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

(Streams) The maximum amount of time to gather records before invoking the function, in seconds.

", - "EventSourceMappingConfiguration$MaximumBatchingWindowInSeconds": "

(Streams) The maximum amount of time to gather records before invoking the function, in seconds. The default value is zero.

", - "UpdateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

(Streams) The maximum amount of time to gather records before invoking the function, in seconds.

" + "CreateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

(Streams and SQS standard queues) The maximum amount of time to gather records before invoking the function, in seconds.

", + "EventSourceMappingConfiguration$MaximumBatchingWindowInSeconds": "

(Streams and SQS standard queues) The maximum amount of time to gather records before invoking the function, in seconds. The default value is zero.

", + "UpdateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

(Streams and SQS standard queues) The maximum amount of time to gather records before invoking the function, in seconds.

" } }, "MaximumEventAgeInSeconds": { @@ -1549,6 +1586,13 @@ "VpcConfigResponse$SecurityGroupIds": "

A list of VPC security groups IDs.

" } }, + "SelfManagedEventSource": { + "base": "

The Self-Managed Apache Kafka cluster for your event source.

", + "refs": { + "CreateEventSourceMappingRequest$SelfManagedEventSource": "

The Self-Managed Apache Kafka cluster to send records.

", + "EventSourceMappingConfiguration$SelfManagedEventSource": "

The Self-Managed Apache Kafka cluster for your event source.

" + } + }, "SensitiveString": { "base": null, "refs": { @@ -1568,7 +1612,7 @@ } }, "SourceAccessConfiguration": { - "base": "

(MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format: { \"username\": \"your username\", \"password\": \"your password\" }

", + "base": "

You can specify the authentication protocol, or the VPC components to secure access to your event source.

", "refs": { "SourceAccessConfigurations$member": null } @@ -1576,15 +1620,15 @@ "SourceAccessConfigurations": { "base": null, "refs": { - "CreateEventSourceMappingRequest$SourceAccessConfigurations": "

(MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format: { \"username\": \"your username\", \"password\": \"your password\" }

To reference the secret, use the following format: [ { \"Type\": \"BASIC_AUTH\", \"URI\": \"secretARN\" } ]

The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

", - "EventSourceMappingConfiguration$SourceAccessConfigurations": "

(MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format: { \"username\": \"your username\", \"password\": \"your password\" }

To reference the secret, use the following format: [ { \"Type\": \"BASIC_AUTH\", \"URI\": \"secretARN\" } ]

The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

", - "UpdateEventSourceMappingRequest$SourceAccessConfigurations": "

(MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format: { \"username\": \"your username\", \"password\": \"your password\" }

To reference the secret, use the following format: [ { \"Type\": \"BASIC_AUTH\", \"URI\": \"secretARN\" } ]

The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

" + "CreateEventSourceMappingRequest$SourceAccessConfigurations": "

An array of the authentication protocol, or the VPC components to secure your event source.

", + "EventSourceMappingConfiguration$SourceAccessConfigurations": "

An array of the authentication protocol, or the VPC components to secure your event source.

", + "UpdateEventSourceMappingRequest$SourceAccessConfigurations": "

An array of the authentication protocol, or the VPC components to secure your event source.

" } }, "SourceAccessType": { "base": null, "refs": { - "SourceAccessConfiguration$Type": "

To reference the secret, use the following format: [ { \"Type\": \"BASIC_AUTH\", \"URI\": \"secretARN\" } ]

The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

" + "SourceAccessConfiguration$Type": "

The type of authentication protocol or the VPC components for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

" } }, "SourceOwner": { @@ -1858,8 +1902,8 @@ "Topics": { "base": null, "refs": { - "CreateEventSourceMappingRequest$Topics": "

(MSK) The name of the Kafka topic.

", - "EventSourceMappingConfiguration$Topics": "

(MSK) The name of the Kafka topic to consume.

" + "CreateEventSourceMappingRequest$Topics": "

The name of the Kafka topic.

", + "EventSourceMappingConfiguration$Topics": "

The name of the Kafka topic.

" } }, "TracingConfig": { @@ -1882,6 +1926,20 @@ "TracingConfigResponse$Mode": "

The tracing mode.

" } }, + "TumblingWindowInSeconds": { + "base": null, + "refs": { + "CreateEventSourceMappingRequest$TumblingWindowInSeconds": "

(Streams) The duration of a processing window in seconds. The range is between 1 second up to 15 minutes.

", + "EventSourceMappingConfiguration$TumblingWindowInSeconds": "

(Streams) The duration of a processing window in seconds. The range is between 1 second up to 15 minutes.

", + "UpdateEventSourceMappingRequest$TumblingWindowInSeconds": "

(Streams) The duration of a processing window in seconds. The range is between 1 second up to 15 minutes.

" + } + }, + "URI": { + "base": null, + "refs": { + "SourceAccessConfiguration$URI": "

The value for your chosen configuration in Type. For example: \"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\".

" + } + }, "UnreservedConcurrentExecutions": { "base": null, "refs": { diff --git a/models/apis/lambda/2015-03-31/examples-1.json b/models/apis/lambda/2015-03-31/examples-1.json index a60fc3bd04..b2902df011 100644 --- a/models/apis/lambda/2015-03-31/examples-1.json +++ b/models/apis/lambda/2015-03-31/examples-1.json @@ -649,9 +649,9 @@ "output": { } }, - "description": "The following example returns details for the provisioned concurrency configuration for the BLUE alias of the specified function.", - "id": "to-get-a-provisioned-concurrency-configuration-1586490192690", - "title": "To get a provisioned concurrency configuration" + "description": "The following example displays details for the provisioned concurrency configuration for the BLUE alias of the specified function.", + "id": "to-view-a-provisioned-concurrency-configuration-1586490192690", + "title": "To view a provisioned concurrency configuration" }, { "input": { @@ -671,9 +671,9 @@ "output": { } }, - "description": "The following example displays details for the provisioned concurrency configuration for the BLUE alias of the specified function.", - "id": "to-view-a-provisioned-concurrency-configuration-1586490192690", - "title": "To view a provisioned concurrency configuration" + "description": "The following example returns details for the provisioned concurrency configuration for the BLUE alias of the specified function.", + "id": "to-get-a-provisioned-concurrency-configuration-1586490192690", + "title": "To get a provisioned concurrency configuration" } ], "Invoke": [ diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 69423cb7f7..720503b1d4 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -1275,6 +1275,21 @@ {"shape":"InternalServerError"} ] }, + "ListDocumentMetadataHistory":{ + "name":"ListDocumentMetadataHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDocumentMetadataHistoryRequest"}, + "output":{"shape":"ListDocumentMetadataHistoryResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"}, + {"shape":"InvalidNextToken"} + ] + }, "ListDocumentVersions":{ "name":"ListDocumentVersions", "http":{ @@ -1319,6 +1334,21 @@ {"shape":"InvalidNextToken"} ] }, + "ListOpsItemEvents":{ + "name":"ListOpsItemEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOpsItemEventsRequest"}, + "output":{"shape":"ListOpsItemEventsResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemNotFoundException"}, + {"shape":"OpsItemLimitExceededException"}, + {"shape":"OpsItemInvalidParameterException"} + ] + }, "ListOpsMetadata":{ "name":"ListOpsMetadata", "http":{ @@ -1628,6 +1658,24 @@ {"shape":"InternalServerError"} ] }, + "StartChangeRequestExecution":{ + "name":"StartChangeRequestExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartChangeRequestExecutionRequest"}, + "output":{"shape":"StartChangeRequestExecutionResult"}, + "errors":[ + {"shape":"AutomationDefinitionNotFoundException"}, + {"shape":"InvalidAutomationExecutionParametersException"}, + {"shape":"AutomationExecutionLimitExceededException"}, + {"shape":"AutomationDefinitionVersionNotFoundException"}, + {"shape":"IdempotentParameterMismatch"}, + {"shape":"InternalServerError"}, + {"shape":"AutomationDefinitionNotApprovedException"} + ] + }, "StartSession":{ "name":"StartSession", "http":{ @@ -1745,6 +1793,21 @@ {"shape":"InvalidDocumentSchemaVersion"} ] }, + "UpdateDocumentMetadata":{ + "name":"UpdateDocumentMetadata", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDocumentMetadataRequest"}, + "output":{"shape":"UpdateDocumentMetadataResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentOperation"}, + {"shape":"InvalidDocumentVersion"} + ] + }, "UpdateMaintenanceWindow":{ "name":"UpdateMaintenanceWindow", "http":{ @@ -2035,7 +2098,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "ComplianceSeverity":{"shape":"AssociationComplianceSeverity"}, "SyncCompliance":{"shape":"AssociationSyncCompliance"}, - "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"} + "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"}, + "TargetLocations":{"shape":"TargetLocations"} } }, "AssociationDescriptionList":{ @@ -2291,7 +2355,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "ComplianceSeverity":{"shape":"AssociationComplianceSeverity"}, "SyncCompliance":{"shape":"AssociationSyncCompliance"}, - "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"} + "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"}, + "TargetLocations":{"shape":"TargetLocations"} } }, "AssociationVersionLimitExceeded":{ @@ -2394,6 +2459,13 @@ "type":"string", "pattern":"^aws:[a-zA-Z]{3,25}$" }, + "AutomationDefinitionNotApprovedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "AutomationDefinitionNotFoundException":{ "type":"structure", "members":{ @@ -2438,7 +2510,13 @@ "shape":"TargetLocations", "box":true }, - "ProgressCounters":{"shape":"ProgressCounters"} + "ProgressCounters":{"shape":"ProgressCounters"}, + "AutomationSubtype":{"shape":"AutomationSubtype"}, + "ScheduledTime":{"shape":"DateTime"}, + "Runbooks":{"shape":"Runbooks"}, + "OpsItemId":{"shape":"String"}, + "AssociationId":{"shape":"String"}, + "ChangeRequestName":{"shape":"ChangeRequestName"} } }, "AutomationExecutionFilter":{ @@ -2464,7 +2542,9 @@ "StartTimeAfter", "AutomationType", "TagKey", - "TargetResourceGroup" + "TargetResourceGroup", + "AutomationSubtype", + "OpsItemId" ] }, "AutomationExecutionFilterList":{ @@ -2520,7 +2600,13 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "MaxErrors":{"shape":"MaxErrors"}, "Target":{"shape":"String"}, - "AutomationType":{"shape":"AutomationType"} + "AutomationType":{"shape":"AutomationType"}, + "AutomationSubtype":{"shape":"AutomationSubtype"}, + "ScheduledTime":{"shape":"DateTime"}, + "Runbooks":{"shape":"Runbooks"}, + "OpsItemId":{"shape":"String"}, + "AssociationId":{"shape":"String"}, + "ChangeRequestName":{"shape":"ChangeRequestName"} } }, "AutomationExecutionMetadataList":{ @@ -2544,7 +2630,17 @@ "TimedOut", "Cancelling", "Cancelled", - "Failed" + "Failed", + "PendingApproval", + "Approved", + "Rejected", + "Scheduled", + "RunbookInProgress", + "PendingChangeCalendarOverride", + "ChangeCalendarOverrideApproved", + "ChangeCalendarOverrideRejected", + "CompletedWithSuccess", + "CompletedWithFailure" ] }, "AutomationParameterKey":{ @@ -2577,6 +2673,10 @@ }, "exception":true }, + "AutomationSubtype":{ + "type":"string", + "enum":["ChangeRequest"] + }, "AutomationTargetParameterName":{ "type":"string", "max":50, @@ -2646,6 +2746,11 @@ "WindowExecutionId":{"shape":"MaintenanceWindowExecutionId"} } }, + "ChangeRequestName":{ + "type":"string", + "max":1024, + "min":1 + }, "ClientToken":{ "type":"string", "max":64, @@ -3079,7 +3184,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "ComplianceSeverity":{"shape":"AssociationComplianceSeverity"}, "SyncCompliance":{"shape":"AssociationSyncCompliance"}, - "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"} + "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"}, + "TargetLocations":{"shape":"TargetLocations"} } }, "CreateAssociationBatchResult":{ @@ -3106,7 +3212,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "ComplianceSeverity":{"shape":"AssociationComplianceSeverity"}, "SyncCompliance":{"shape":"AssociationSyncCompliance"}, - "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"} + "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"}, + "TargetLocations":{"shape":"TargetLocations"} } }, "CreateAssociationResult":{ @@ -3184,6 +3291,7 @@ ], "members":{ "Description":{"shape":"OpsItemDescription"}, + "OpsItemType":{"shape":"OpsItemType"}, "OperationalData":{"shape":"OpsItemOperationalData"}, "Notifications":{"shape":"OpsItemNotifications"}, "Priority":{"shape":"OpsItemPriority"}, @@ -3192,7 +3300,11 @@ "Title":{"shape":"OpsItemTitle"}, "Tags":{"shape":"TagList"}, "Category":{"shape":"OpsItemCategory"}, - "Severity":{"shape":"OpsItemSeverity"} + "Severity":{"shape":"OpsItemSeverity"}, + "ActualStartTime":{"shape":"DateTime"}, + "ActualEndTime":{"shape":"DateTime"}, + "PlannedStartTime":{"shape":"DateTime"}, + "PlannedEndTime":{"shape":"DateTime"} } }, "CreateOpsItemResponse":{ @@ -4150,6 +4262,7 @@ }, "exception":true }, + "DocumentAuthor":{"type":"string"}, "DocumentContent":{ "type":"string", "min":1 @@ -4186,7 +4299,12 @@ "TargetType":{"shape":"TargetType"}, "Tags":{"shape":"TagList"}, "AttachmentsInformation":{"shape":"AttachmentInformationList"}, - "Requires":{"shape":"DocumentRequiresList"} + "Requires":{"shape":"DocumentRequiresList"}, + "Author":{"shape":"DocumentAuthor"}, + "ReviewInformation":{"shape":"ReviewInformationList"}, + "ApprovedVersion":{"shape":"DocumentVersion"}, + "PendingReviewVersion":{"shape":"DocumentVersion"}, + "ReviewStatus":{"shape":"ReviewStatus"} } }, "DocumentFilter":{ @@ -4250,7 +4368,9 @@ "DocumentFormat":{"shape":"DocumentFormat"}, "TargetType":{"shape":"TargetType"}, "Tags":{"shape":"TagList"}, - "Requires":{"shape":"DocumentRequiresList"} + "Requires":{"shape":"DocumentRequiresList"}, + "ReviewStatus":{"shape":"ReviewStatus"}, + "Author":{"shape":"DocumentAuthor"} } }, "DocumentIdentifierList":{ @@ -4291,6 +4411,16 @@ }, "exception":true }, + "DocumentMetadataEnum":{ + "type":"string", + "enum":["DocumentReviews"] + }, + "DocumentMetadataResponseInfo":{ + "type":"structure", + "members":{ + "ReviewerResponse":{"shape":"DocumentReviewerResponseList"} + } + }, "DocumentName":{ "type":"string", "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" @@ -4343,6 +4473,60 @@ "member":{"shape":"DocumentRequires"}, "min":1 }, + "DocumentReviewAction":{ + "type":"string", + "enum":[ + "SendForReview", + "UpdateReview", + "Approve", + "Reject" + ] + }, + "DocumentReviewComment":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^(?!\\s*$).+" + }, + "DocumentReviewCommentList":{ + "type":"list", + "member":{"shape":"DocumentReviewCommentSource"}, + "max":1, + "min":0 + }, + "DocumentReviewCommentSource":{ + "type":"structure", + "members":{ + "Type":{"shape":"DocumentReviewCommentType"}, + "Content":{"shape":"DocumentReviewComment"} + } + }, + "DocumentReviewCommentType":{ + "type":"string", + "enum":["Comment"] + }, + "DocumentReviewerResponseList":{ + "type":"list", + "member":{"shape":"DocumentReviewerResponseSource"} + }, + "DocumentReviewerResponseSource":{ + "type":"structure", + "members":{ + "CreateTime":{"shape":"DateTime"}, + "UpdatedTime":{"shape":"DateTime"}, + "ReviewStatus":{"shape":"ReviewStatus"}, + "Comment":{"shape":"DocumentReviewCommentList"}, + "Reviewer":{"shape":"Reviewer"} + } + }, + "DocumentReviews":{ + "type":"structure", + "required":["Action"], + "members":{ + "Action":{"shape":"DocumentReviewAction"}, + "Comment":{"shape":"DocumentReviewCommentList"} + } + }, "DocumentSchemaVersion":{ "type":"string", "pattern":"([0-9]+)\\.([0-9]+)" @@ -4370,7 +4554,8 @@ "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", - "ChangeCalendar" + "ChangeCalendar", + "Automation.ChangeTemplate" ] }, "DocumentVersion":{ @@ -4387,7 +4572,8 @@ "IsDefaultVersion":{"shape":"Boolean"}, "DocumentFormat":{"shape":"DocumentFormat"}, "Status":{"shape":"DocumentStatus"}, - "StatusInformation":{"shape":"DocumentStatusInformation"} + "StatusInformation":{"shape":"DocumentStatusInformation"}, + "ReviewStatus":{"shape":"ReviewStatus"} } }, "DocumentVersionLimitExceeded":{ @@ -4465,7 +4651,8 @@ "ExecutionRoleName":{ "type":"string", "max":64, - "min":1 + "min":1, + "pattern":"[\\w+=,.@-]+" }, "ExpirationDate":{"type":"timestamp"}, "FailedCreateAssociation":{ @@ -4635,7 +4822,8 @@ "DocumentType":{"shape":"DocumentType"}, "DocumentFormat":{"shape":"DocumentFormat"}, "Requires":{"shape":"DocumentRequiresList"}, - "AttachmentsContent":{"shape":"AttachmentContentList"} + "AttachmentsContent":{"shape":"AttachmentContentList"}, + "ReviewStatus":{"shape":"ReviewStatus"} } }, "GetInventoryRequest":{ @@ -6136,6 +6324,33 @@ "NextToken":{"shape":"NextToken"} } }, + "ListDocumentMetadataHistoryRequest":{ + "type":"structure", + "required":[ + "Name", + "Metadata" + ], + "members":{ + "Name":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, + "Metadata":{"shape":"DocumentMetadataEnum"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListDocumentMetadataHistoryResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, + "Author":{"shape":"DocumentAuthor"}, + "Metadata":{"shape":"DocumentMetadataResponseInfo"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListDocumentVersionsRequest":{ "type":"structure", "required":["Name"], @@ -6202,6 +6417,21 @@ "NextToken":{"shape":"NextToken"} } }, + "ListOpsItemEventsRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"OpsItemEventFilters"}, + "MaxResults":{"shape":"OpsItemEventMaxResults"}, + "NextToken":{"shape":"String"} + } + }, + "ListOpsItemEventsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Summaries":{"shape":"OpsItemEventSummaries"} + } + }, "ListOpsMetadataMaxResults":{ "type":"integer", "max":50, @@ -6973,6 +7203,7 @@ "type":"structure", "members":{ "CreatedBy":{"shape":"String"}, + "OpsItemType":{"shape":"OpsItemType"}, "CreatedTime":{"shape":"DateTime"}, "Description":{"shape":"OpsItemDescription"}, "LastModifiedBy":{"shape":"String"}, @@ -6987,7 +7218,11 @@ "Source":{"shape":"OpsItemSource"}, "OperationalData":{"shape":"OpsItemOperationalData"}, "Category":{"shape":"OpsItemCategory"}, - "Severity":{"shape":"OpsItemSeverity"} + "Severity":{"shape":"OpsItemSeverity"}, + "ActualStartTime":{"shape":"DateTime"}, + "ActualEndTime":{"shape":"DateTime"}, + "PlannedStartTime":{"shape":"DateTime"}, + "PlannedEndTime":{"shape":"DateTime"} } }, "OpsItemAlreadyExistsException":{ @@ -7001,12 +7236,14 @@ "OpsItemCategory":{ "type":"string", "max":64, - "min":1 + "min":1, + "pattern":"^(?!\\s*$).+" }, "OpsItemDataKey":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":"^(?!\\s*$).+" }, "OpsItemDataType":{ "type":"string", @@ -7022,12 +7259,72 @@ "Type":{"shape":"OpsItemDataType"} } }, - "OpsItemDataValueString":{"type":"string"}, + "OpsItemDataValueString":{ + "type":"string", + "pattern":"[\\s\\S]*\\S[\\s\\S]*" + }, "OpsItemDescription":{ "type":"string", "max":1024, + "min":1, + "pattern":"[\\s\\S]*\\S[\\s\\S]*" + }, + "OpsItemEventFilter":{ + "type":"structure", + "required":[ + "Key", + "Values", + "Operator" + ], + "members":{ + "Key":{"shape":"OpsItemEventFilterKey"}, + "Values":{"shape":"OpsItemEventFilterValues"}, + "Operator":{"shape":"OpsItemEventFilterOperator"} + } + }, + "OpsItemEventFilterKey":{ + "type":"string", + "enum":["OpsItemId"] + }, + "OpsItemEventFilterOperator":{ + "type":"string", + "enum":["Equal"] + }, + "OpsItemEventFilterValue":{ + "type":"string", + "max":15, + "min":1, + "pattern":"^(oi)-[0-9a-f]{12}$" + }, + "OpsItemEventFilterValues":{ + "type":"list", + "member":{"shape":"OpsItemEventFilterValue"} + }, + "OpsItemEventFilters":{ + "type":"list", + "member":{"shape":"OpsItemEventFilter"} + }, + "OpsItemEventMaxResults":{ + "type":"integer", + "max":50, "min":1 }, + "OpsItemEventSummaries":{ + "type":"list", + "member":{"shape":"OpsItemEventSummary"} + }, + "OpsItemEventSummary":{ + "type":"structure", + "members":{ + "OpsItemId":{"shape":"String"}, + "EventId":{"shape":"String"}, + "Source":{"shape":"String"}, + "DetailType":{"shape":"String"}, + "Detail":{"shape":"String"}, + "CreatedBy":{"shape":"OpsItemIdentity"}, + "CreatedTime":{"shape":"DateTime"} + } + }, "OpsItemFilter":{ "type":"structure", "required":[ @@ -7052,13 +7349,24 @@ "OpsItemId", "CreatedTime", "LastModifiedTime", + "ActualStartTime", + "ActualEndTime", + "PlannedStartTime", + "PlannedEndTime", "OperationalData", "OperationalDataKey", "OperationalDataValue", "ResourceId", "AutomationId", "Category", - "Severity" + "Severity", + "OpsItemType", + "ChangeRequestByRequesterArn", + "ChangeRequestByRequesterName", + "ChangeRequestByApproverArn", + "ChangeRequestByApproverName", + "ChangeRequestByTemplate", + "ChangeRequestByTargetsResourceGroup" ] }, "OpsItemFilterOperator":{ @@ -7083,6 +7391,12 @@ "type":"string", "pattern":"^(oi)-[0-9a-f]{12}$" }, + "OpsItemIdentity":{ + "type":"structure", + "members":{ + "Arn":{"shape":"String"} + } + }, "OpsItemInvalidParameterException":{ "type":"structure", "members":{ @@ -7144,19 +7458,36 @@ "OpsItemSeverity":{ "type":"string", "max":64, - "min":1 + "min":1, + "pattern":"^(?!\\s*$).+" }, "OpsItemSource":{ "type":"string", - "max":64, - "min":1 + "max":128, + "min":1, + "pattern":"^(?!\\s*$).+" }, "OpsItemStatus":{ "type":"string", "enum":[ "Open", "InProgress", - "Resolved" + "Resolved", + "Pending", + "TimedOut", + "Cancelling", + "Cancelled", + "Failed", + "CompletedWithSuccess", + "CompletedWithFailure", + "Scheduled", + "RunbookInProgress", + "PendingChangeCalendarOverride", + "ChangeCalendarOverrideApproved", + "ChangeCalendarOverrideRejected", + "PendingApproval", + "Approved", + "Rejected" ] }, "OpsItemSummaries":{ @@ -7177,14 +7508,21 @@ "Title":{"shape":"OpsItemTitle"}, "OperationalData":{"shape":"OpsItemOperationalData"}, "Category":{"shape":"OpsItemCategory"}, - "Severity":{"shape":"OpsItemSeverity"} + "Severity":{"shape":"OpsItemSeverity"}, + "OpsItemType":{"shape":"OpsItemType"}, + "ActualStartTime":{"shape":"DateTime"}, + "ActualEndTime":{"shape":"DateTime"}, + "PlannedStartTime":{"shape":"DateTime"}, + "PlannedEndTime":{"shape":"DateTime"} } }, "OpsItemTitle":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^(?!\\s*$).+" }, + "OpsItemType":{"type":"string"}, "OpsMetadata":{ "type":"structure", "members":{ @@ -8544,6 +8882,59 @@ "StreamUrl":{"shape":"StreamUrl"} } }, + "ReviewInformation":{ + "type":"structure", + "members":{ + "ReviewedTime":{"shape":"DateTime"}, + "Status":{"shape":"ReviewStatus"}, + "Reviewer":{"shape":"Reviewer"} + } + }, + "ReviewInformationList":{ + "type":"list", + "member":{"shape":"ReviewInformation"}, + "min":1 + }, + "ReviewStatus":{ + "type":"string", + "enum":[ + "APPROVED", + "NOT_REVIEWED", + "PENDING", + "REJECTED" + ] + }, + "Reviewer":{ + "type":"string", + "max":50, + "pattern":"^[a-zA-Z0-9_\\-.]{1,128}$" + }, + "Runbook":{ + "type":"structure", + "required":["DocumentName"], + "members":{ + "DocumentName":{"shape":"DocumentARN"}, + "DocumentVersion":{ + "shape":"DocumentVersion", + "box":true + }, + "Parameters":{"shape":"AutomationParameterMap"}, + "TargetParameterName":{"shape":"AutomationParameterKey"}, + "Targets":{"shape":"Targets"}, + "MaxConcurrency":{"shape":"MaxConcurrency"}, + "MaxErrors":{"shape":"MaxErrors"}, + "TargetLocations":{ + "shape":"TargetLocations", + "box":true + } + } + }, + "Runbooks":{ + "type":"list", + "member":{"shape":"Runbook"}, + "max":1, + "min":1 + }, "S3BucketName":{ "type":"string", "max":63, @@ -8880,6 +9271,32 @@ "AutomationExecutionId":{"shape":"AutomationExecutionId"} } }, + "StartChangeRequestExecutionRequest":{ + "type":"structure", + "required":[ + "DocumentName", + "Runbooks" + ], + "members":{ + "ScheduledTime":{"shape":"DateTime"}, + "DocumentName":{"shape":"DocumentARN"}, + "DocumentVersion":{ + "shape":"DocumentVersion", + "box":true + }, + "Parameters":{"shape":"AutomationParameterMap"}, + "ChangeRequestName":{"shape":"ChangeRequestName"}, + "ClientToken":{"shape":"IdempotencyToken"}, + "Runbooks":{"shape":"Runbooks"}, + "Tags":{"shape":"TagList"} + } + }, + "StartChangeRequestExecutionResult":{ + "type":"structure", + "members":{ + "AutomationExecutionId":{"shape":"AutomationExecutionId"} + } + }, "StartSessionRequest":{ "type":"structure", "required":["Target"], @@ -9294,7 +9711,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "ComplianceSeverity":{"shape":"AssociationComplianceSeverity"}, "SyncCompliance":{"shape":"AssociationSyncCompliance"}, - "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"} + "ApplyOnlyAtCronInterval":{"shape":"ApplyOnlyAtCronInterval"}, + "TargetLocations":{"shape":"TargetLocations"} } }, "UpdateAssociationResult":{ @@ -9339,6 +9757,23 @@ "Description":{"shape":"DocumentDefaultVersionDescription"} } }, + "UpdateDocumentMetadataRequest":{ + "type":"structure", + "required":[ + "Name", + "DocumentReviews" + ], + "members":{ + "Name":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, + "DocumentReviews":{"shape":"DocumentReviews"} + } + }, + "UpdateDocumentMetadataResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDocumentRequest":{ "type":"structure", "required":[ @@ -9525,7 +9960,11 @@ "OpsItemId":{"shape":"OpsItemId"}, "Title":{"shape":"OpsItemTitle"}, "Category":{"shape":"OpsItemCategory"}, - "Severity":{"shape":"OpsItemSeverity"} + "Severity":{"shape":"OpsItemSeverity"}, + "ActualStartTime":{"shape":"DateTime"}, + "ActualEndTime":{"shape":"DateTime"}, + "PlannedStartTime":{"shape":"DateTime"}, + "PlannedEndTime":{"shape":"DateTime"} } }, "UpdateOpsItemResponse":{ diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index 19f258e74f..feee6e96e2 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -11,7 +11,7 @@ "CreateDocument": "

Creates a Systems Manager (SSM) document. An SSM document defines the actions that Systems Manager performs on your managed instances. For more information about SSM documents, including information about supported schemas, features, and syntax, see AWS Systems Manager Documents in the AWS Systems Manager User Guide.

", "CreateMaintenanceWindow": "

Creates a new maintenance window.

The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM.

", "CreateOpsItem": "

Creates a new OpsItem. You must have permission in AWS Identity and Access Management (IAM) to create a new OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

", - "CreateOpsMetadata": "

If you create a new application in AppManager, Systems Manager calls this API action to specify information about the new application, including the application type.

", + "CreateOpsMetadata": "

If you create a new application in Application Manager, Systems Manager calls this API action to specify information about the new application, including the application type.

", "CreatePatchBaseline": "

Creates a patch baseline.

For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

", "CreateResourceDataSync": "

A resource data sync helps you view data from multiple sources in a single location. Systems Manager offers two types of resource data sync: SyncToDestination and SyncFromSource.

You can configure Systems Manager Inventory to use the SyncToDestination type to synchronize Inventory data from multiple AWS Regions to a single S3 bucket. For more information, see Configuring Resource Data Sync for Inventory in the AWS Systems Manager User Guide.

You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple AWS Regions to a single S3 bucket. This type can synchronize OpsItems and OpsData from multiple AWS accounts and Regions or EntireOrganization by using AWS Organizations. For more information, see Setting up Systems Manager Explorer to display data from multiple accounts and Regions in the AWS Systems Manager User Guide.

A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data. To check the status of a sync, use the ListResourceDataSync.

By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy.

", "DeleteActivation": "

Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances.

", @@ -75,7 +75,7 @@ "GetMaintenanceWindowExecutionTaskInvocation": "

Retrieves information about a specific task running on a specific target.

", "GetMaintenanceWindowTask": "

Lists the tasks in a maintenance window.

", "GetOpsItem": "

Get information about an OpsItem by using the ID. You must have permission in AWS Identity and Access Management (IAM) to view information about an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

", - "GetOpsMetadata": "

View operational metadata related to an application in AppManager.

", + "GetOpsMetadata": "

View operational metadata related to an application in Application Manager.

", "GetOpsSummary": "

View a summary of OpsItems based on specified filters and aggregators.

", "GetParameter": "

Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action.

", "GetParameterHistory": "

Retrieves the history of all changes to a parameter.

", @@ -91,10 +91,12 @@ "ListCommands": "

Lists the commands requested by users of the AWS account.

", "ListComplianceItems": "

For a specified resource ID, this API action returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter.

", "ListComplianceSummaries": "

Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify.

", + "ListDocumentMetadataHistory": "

Information about approval reviews for a version of an SSM document.

", "ListDocumentVersions": "

List all versions for a document.

", "ListDocuments": "

Returns all Systems Manager (SSM) documents in the current AWS account and Region. You can limit the results of this request by using a filter.

", "ListInventoryEntries": "

A list of inventory items returned by the request.

", - "ListOpsMetadata": "

Systems Manager calls this API action when displaying all AppManager OpsMetadata objects or blobs.

", + "ListOpsItemEvents": "

Returns a list of all OpsItem events in the current AWS account and Region. You can limit the results to events associated with specific OpsItems by specifying a filter.

", + "ListOpsMetadata": "

Systems Manager calls this API action when displaying all Application Manager OpsMetadata objects or blobs.

", "ListResourceComplianceSummaries": "

Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify.

", "ListResourceDataSync": "

Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed.

The number of sync configurations might be too large to return using a single call to ListResourceDataSync. You can limit the number of sync configurations returned by using the MaxResults parameter. To determine whether there are more sync configurations to list, check the value of NextToken in the output. If there are more sync configurations to list, you can request them by specifying the NextToken returned in the call to the parameter of a subsequent call.

", "ListTagsForResource": "

Returns a list of the tags assigned to the specified resource.

", @@ -113,6 +115,7 @@ "SendCommand": "

Runs commands on one or more managed instances.

", "StartAssociationsOnce": "

Use this API action to run an association immediately and only one time. This action can be helpful when troubleshooting associations.

", "StartAutomationExecution": "

Initiates execution of an Automation document.

", + "StartChangeRequestExecution": "

Creates a change request for Change Manager. The runbooks (Automation documents) specified in the change request run only after all required approvals for the change request have been received.

", "StartSession": "

Initiates a connection to a target (for example, an instance) for a Session Manager session. Returns a URL and token that can be used to open a WebSocket connection for sending input and receiving outputs.

AWS CLI usage: start-session is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see Install the Session Manager plugin for the AWS CLI in the AWS Systems Manager User Guide.

AWS Tools for PowerShell usage: Start-SSMSession is not currently supported by AWS Tools for PowerShell on Windows local machines.

", "StopAutomationExecution": "

Stop an Automation that is currently running.

", "TerminateSession": "

Permanently ends a session and closes the data connection between the Session Manager client and SSM Agent on the instance. A terminated session cannot be resumed.

", @@ -120,12 +123,13 @@ "UpdateAssociationStatus": "

Updates the status of the Systems Manager document associated with the specified instance.

", "UpdateDocument": "

Updates one or more values for an SSM document.

", "UpdateDocumentDefaultVersion": "

Set the default version of a document.

", + "UpdateDocumentMetadata": "

Updates information related to approval reviews for a specific version of a document.

", "UpdateMaintenanceWindow": "

Updates an existing maintenance window. Only specified parameters are modified.

The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM.

", "UpdateMaintenanceWindowTarget": "

Modifies the target of an existing maintenance window. You can change the following:

If a parameter is null, then the corresponding field is not modified.

", "UpdateMaintenanceWindowTask": "

Modifies a task assigned to a maintenance window. You can't change the task type, but you can change the following values:

If the value for a parameter in UpdateMaintenanceWindowTask is null, then the corresponding field is not modified. If you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

When you update a maintenance window task that has options specified in TaskInvocationParameters, you must provide again all the TaskInvocationParameters values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified TaskInvocationParameters values for Comment, NotificationConfig, and OutputS3BucketName. If you update the maintenance window task and specify only a different OutputS3BucketName value, the values for Comment and NotificationConfig are removed.

", "UpdateManagedInstanceRole": "

Changes the Amazon Identity and Access Management (IAM) role that is assigned to the on-premises instance or virtual machines (VM). IAM roles are first assigned to these hybrid instances during the activation process. For more information, see CreateActivation.

", "UpdateOpsItem": "

Edit or change an OpsItem. You must have permission in AWS Identity and Access Management (IAM) to update an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

", - "UpdateOpsMetadata": "

Systems Manager calls this API action when you edit OpsMetadata in AppManager.

", + "UpdateOpsMetadata": "

Systems Manager calls this API action when you edit OpsMetadata in Application Manager.

", "UpdatePatchBaseline": "

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

", "UpdateResourceDataSync": "

Update a resource data sync. After you create a resource data sync for a Region, you can't change the account options for that sync. For example, if you create a sync in the us-east-2 (Ohio) Region and you choose the Include only the current account option, you can't edit that sync later and choose the Include all accounts from my AWS Organizations configuration option. Instead, you must delete the first resource data sync, and create a new one.

This API action only supports a resource data sync that was created with a SyncFromSource SyncType.

", "UpdateServiceSetting": "

ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

Update the service setting for the account.

" @@ -656,6 +660,11 @@ "StepExecution$Action": "

The action this step performs. The action determines the behavior of the step.

" } }, + "AutomationDefinitionNotApprovedException": { + "base": "

Indicates that the Change Manager change template used in the change request was rejected or is still in a pending state.

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

An Automation document with the specified name could not be found.

", "refs": { @@ -713,6 +722,7 @@ "GetAutomationExecutionRequest$AutomationExecutionId": "

The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

", "SendAutomationSignalRequest$AutomationExecutionId": "

The unique identifier for an existing Automation execution that you want to send the signal to.

", "StartAutomationExecutionResult$AutomationExecutionId": "

The unique ID of a newly scheduled automation execution.

", + "StartChangeRequestExecutionResult$AutomationExecutionId": "

The unique ID of a runbook workflow operation. (A runbook workflow is a type of Automation operation.)

", "StopAutomationExecutionRequest$AutomationExecutionId": "

The execution ID of the Automation to stop.

" } }, @@ -752,6 +762,7 @@ "AutomationExecution$TargetParameterName": "

The parameter name.

", "AutomationExecutionMetadata$TargetParameterName": "

The list of execution outputs as defined in the Automation document.

", "AutomationParameterMap$key": null, + "Runbook$TargetParameterName": "

The name of the parameter used as the target resource for the rate-controlled runbook workflow. Required if you specify Targets.

", "StartAutomationExecutionRequest$TargetParameterName": "

The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.

" } }, @@ -763,8 +774,10 @@ "AutomationExecutionMetadata$Outputs": "

The list of execution outputs as defined in the Automation document.

", "FailureDetails$Details": "

Detailed information about the Automation step failure.

", "MaintenanceWindowAutomationParameters$Parameters": "

The parameters for the AUTOMATION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

For AUTOMATION task types, Systems Manager ignores any values specified for these parameters.

", + "Runbook$Parameters": "

The key-value map of execution parameters, which were supplied when calling StartChangeRequestExecution.

", "SendAutomationSignalRequest$Payload": "

The data sent with the signal. The data schema depends on the type of signal used in the request.

For Approve and Reject signal types, the payload is an optional comment that you can send with the signal type. For example:

Comment=\"Looks good\"

For StartStep and Resume signal types, you must send the name of the Automation step to start or resume as the payload. For example:

StepName=\"step1\"

For the StopStep signal type, you must send the step execution ID as the payload. For example:

StepExecutionId=\"97fff367-fc5a-4299-aed8-0123456789ab\"

", "StartAutomationExecutionRequest$Parameters": "

A key-value map of execution parameters, which match the declared parameters in the Automation document.

", + "StartChangeRequestExecutionRequest$Parameters": "

A key-value map of parameters that match the declared parameters in the change template document.

", "StepExecution$Outputs": "

Returned values from the execution of the step.

", "StepExecution$OverriddenParameters": "

A user-specified list of parameters to override when running a step.

" } @@ -786,6 +799,13 @@ "refs": { } }, + "AutomationSubtype": { + "base": null, + "refs": { + "AutomationExecution$AutomationSubtype": "

The subtype of the Automation operation. Currently, the only supported value is ChangeRequest.

", + "AutomationExecutionMetadata$AutomationSubtype": "

The subtype of the Automation operation. Currently, the only supported value is ChangeRequest.

" + } + }, "AutomationTargetParameterName": { "base": null, "refs": { @@ -919,6 +939,14 @@ "refs": { } }, + "ChangeRequestName": { + "base": null, + "refs": { + "AutomationExecution$ChangeRequestName": "

The name of the Change Manager change request.

", + "AutomationExecutionMetadata$ChangeRequestName": "

The name of the Change Manager change request.

", + "StartChangeRequestExecutionRequest$ChangeRequestName": "

The name of the change request associated with the runbook workflow to be run.

" + } + }, "ClientToken": { "base": null, "refs": { @@ -1434,15 +1462,23 @@ "AssociationVersionInfo$CreatedDate": "

The date the association version was created.

", "AutomationExecution$ExecutionStartTime": "

The time the execution started.

", "AutomationExecution$ExecutionEndTime": "

The time the execution finished.

", + "AutomationExecution$ScheduledTime": "

The date and time the Automation operation is scheduled to start.

", "AutomationExecutionMetadata$ExecutionStartTime": "

The time the execution started.

", "AutomationExecutionMetadata$ExecutionEndTime": "

The time the execution finished. This is not populated if the execution is still in progress.

", + "AutomationExecutionMetadata$ScheduledTime": "

The date and time the Automation operation is scheduled to start.

", "Command$ExpiresAfter": "

If this time is reached and the command has not already started running, it will not run. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

", "Command$RequestedDateTime": "

The date and time the command was requested.

", "CommandInvocation$RequestedDateTime": "

The time and date the request was sent to this instance.

", "CommandPlugin$ResponseStartDateTime": "

The time the plugin started running.

", "CommandPlugin$ResponseFinishDateTime": "

The time the plugin stopped running. Could stop prematurely if, for example, a cancel command was sent.

", "ComplianceExecutionSummary$ExecutionTime": "

The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

", + "CreateOpsItemRequest$ActualStartTime": "

The time a runbook workflow started. Currently reported only for the OpsItem type /aws/changerequest.

", + "CreateOpsItemRequest$ActualEndTime": "

The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest.

", + "CreateOpsItemRequest$PlannedStartTime": "

The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type /aws/changerequest.

", + "CreateOpsItemRequest$PlannedEndTime": "

The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type /aws/changerequest.

", "DocumentDescription$CreatedDate": "

The date when the document was created.

", + "DocumentReviewerResponseSource$CreateTime": "

The date and time that a reviewer entered a response to a document review request.

", + "DocumentReviewerResponseSource$UpdatedTime": "

The date and time that a reviewer last updated a response to a document review request.

", "DocumentVersionInfo$CreatedDate": "

The date the document was created.

", "GetMaintenanceWindowExecutionResult$StartTime": "

The time the maintenance window started running.

", "GetMaintenanceWindowExecutionResult$EndTime": "

The time the maintenance window finished running.

", @@ -1455,7 +1491,7 @@ "GetPatchBaselineResult$CreatedDate": "

The date the patch baseline was created.

", "GetPatchBaselineResult$ModifiedDate": "

The date the patch baseline was last modified.

", "InstanceAssociationStatusInfo$ExecutionDate": "

The date the instance association ran.

", - "InstanceInformation$LastPingDateTime": "

The date and time when agent last pinged Systems Manager service.

", + "InstanceInformation$LastPingDateTime": "

The date and time when the agent last pinged the Systems Manager service.

", "InstanceInformation$RegistrationDate": "

The date the server or VM was registered with AWS as a managed instance.

", "InstanceInformation$LastAssociationExecutionDate": "

The date the association was last run.

", "InstanceInformation$LastSuccessfulAssociationExecutionDate": "

The last date the association was successfully run.

", @@ -1470,8 +1506,17 @@ "MaintenanceWindowExecutionTaskInvocationIdentity$EndTime": "

The time the invocation finished.

", "OpsItem$CreatedTime": "

The date and time the OpsItem was created.

", "OpsItem$LastModifiedTime": "

The date and time the OpsItem was last updated.

", + "OpsItem$ActualStartTime": "

The time a runbook workflow started. Currently reported only for the OpsItem type /aws/changerequest.

", + "OpsItem$ActualEndTime": "

The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest.

", + "OpsItem$PlannedStartTime": "

The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type /aws/changerequest.

", + "OpsItem$PlannedEndTime": "

The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type /aws/changerequest.

", + "OpsItemEventSummary$CreatedTime": "

The date and time the OpsItem event was created.

", "OpsItemSummary$CreatedTime": "

The date and time the OpsItem was created.

", "OpsItemSummary$LastModifiedTime": "

The date and time the OpsItem was last updated.

", + "OpsItemSummary$ActualStartTime": "

The time a runbook workflow started. Currently reported only for the OpsItem type /aws/changerequest.

", + "OpsItemSummary$ActualEndTime": "

The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest.

", + "OpsItemSummary$PlannedStartTime": "

The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type /aws/changerequest.

", + "OpsItemSummary$PlannedEndTime": "

The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type /aws/changerequest.

", "OpsMetadata$LastModifiedDate": "

The date the OpsMetadata object was last updated.

", "OpsMetadata$CreationDate": "

The date the OpsMetadata objects was created.

", "Parameter$LastModifiedDate": "

Date the parameter was last changed or updated and the parameter version was created.

", @@ -1480,11 +1525,17 @@ "Patch$ReleaseDate": "

The date the patch was released.

", "PatchComplianceData$InstalledTime": "

The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information.

", "PatchStatus$ApprovalDate": "

The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).

", + "ReviewInformation$ReviewedTime": "

The time that the reviewer took action on the document review request.

", "ServiceSetting$LastModifiedDate": "

The last time the service setting was modified.

", "Session$StartDate": "

The date and time, in ISO-8601 Extended format, when the session began.

", "Session$EndDate": "

The date and time, in ISO-8601 Extended format, when the session was terminated.

", + "StartChangeRequestExecutionRequest$ScheduledTime": "

The date and time specified in the change request to run the Automation runbooks.

The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.

", "StepExecution$ExecutionStartTime": "

If a step has begun execution, this contains the time the step started. If the step is in Pending status, this field is not populated.

", "StepExecution$ExecutionEndTime": "

If a step has finished execution, this contains the time the execution ended. If the step has not yet concluded, this field is not populated.

", + "UpdateOpsItemRequest$ActualStartTime": "

The time a runbook workflow started. Currently reported only for the OpsItem type /aws/changerequest.

", + "UpdateOpsItemRequest$ActualEndTime": "

The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest.

", + "UpdateOpsItemRequest$PlannedStartTime": "

The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type /aws/changerequest.

", + "UpdateOpsItemRequest$PlannedEndTime": "

The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type /aws/changerequest.

", "UpdatePatchBaselineResult$CreatedDate": "

The date when the patch baseline was created.

", "UpdatePatchBaselineResult$ModifiedDate": "

The date when the patch baseline was last modified.

" } @@ -2010,8 +2061,10 @@ "GetDocumentResult$Name": "

The name of the Systems Manager document.

", "InstanceAssociationStatusInfo$Name": "

The name of the association.

", "ListDocumentVersionsRequest$Name": "

The name of the document. You can specify an Amazon Resource Name (ARN).

", + "Runbook$DocumentName": "

The name of the Automation runbook (Automation document) used in a runbook workflow.

", "SendCommandRequest$DocumentName": "

Required. The name of the Systems Manager document to run. This can be a public document or a custom document.

", "StartAutomationExecutionRequest$DocumentName": "

The name of the Automation document to use for this execution.

", + "StartChangeRequestExecutionRequest$DocumentName": "

The name of the change template document to run during the runbook workflow.

", "StartSessionRequest$DocumentName": "

The name of the SSM document to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell. You can call the GetDocument API to verify the document exists before attempting to start a session. If no document name is provided, a shell to the instance is launched by default.

", "UpdateAssociationRequest$Name": "

The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

arn:aws:ssm:region:account-id:document/document-name

For example:

arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

", "UpdateAssociationStatusRequest$Name": "

The name of the Systems Manager document.

" @@ -2022,6 +2075,14 @@ "refs": { } }, + "DocumentAuthor": { + "base": null, + "refs": { + "DocumentDescription$Author": "

The user in your organization who created the document.

", + "DocumentIdentifier$Author": "

The user in your organization who created the document.

", + "ListDocumentMetadataHistoryResponse$Author": "

The user ID of the person in the organization who requested the document review.

" + } + }, "DocumentContent": { "base": null, "refs": { @@ -2144,6 +2205,18 @@ "refs": { } }, + "DocumentMetadataEnum": { + "base": null, + "refs": { + "ListDocumentMetadataHistoryRequest$Metadata": "

The type of data for which details are being requested. Currently, the only supported value is DocumentReviews.

" + } + }, + "DocumentMetadataResponseInfo": { + "base": "

Details about the response to a document review request.

", + "refs": { + "ListDocumentMetadataHistoryResponse$Metadata": "

Information about the response to the document approval request.

" + } + }, "DocumentName": { "base": null, "refs": { @@ -2157,9 +2230,12 @@ "DocumentDefaultVersionDescription$Name": "

The name of the document.

", "DocumentVersionInfo$Name": "

The document name.

", "GetCommandInvocationResult$DocumentName": "

The name of the document that was run. For example, AWS-RunShellScript.

", + "ListDocumentMetadataHistoryRequest$Name": "

The name of the document.

", + "ListDocumentMetadataHistoryResponse$Name": "

The name of the document.

", "ModifyDocumentPermissionRequest$Name": "

The name of the document that you want to share.

", "Session$DocumentName": "

The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell.

", "UpdateDocumentDefaultVersionRequest$Name": "

The name of a custom document that you want to set as the default version.

", + "UpdateDocumentMetadataRequest$Name": "

The name of the document for which a version is to be updated.

", "UpdateDocumentRequest$Name": "

The name of the document that you want to update.

" } }, @@ -2233,6 +2309,55 @@ "GetDocumentResult$Requires": "

A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

" } }, + "DocumentReviewAction": { + "base": null, + "refs": { + "DocumentReviews$Action": "

The action to take on a document approval review request.

" + } + }, + "DocumentReviewComment": { + "base": null, + "refs": { + "DocumentReviewCommentSource$Content": "

The content of a comment entered by a user who requests a review of a new document version, or who reviews the new version.

" + } + }, + "DocumentReviewCommentList": { + "base": null, + "refs": { + "DocumentReviewerResponseSource$Comment": "

The comment entered by a reviewer as part of their document review response.

", + "DocumentReviews$Comment": "

A comment entered by a user in your organization about the document review request.

" + } + }, + "DocumentReviewCommentSource": { + "base": "

Information about comments added to a document review request.

", + "refs": { + "DocumentReviewCommentList$member": null + } + }, + "DocumentReviewCommentType": { + "base": null, + "refs": { + "DocumentReviewCommentSource$Type": "

The type of information added to a review request. Currently, only the value Comment is supported.

" + } + }, + "DocumentReviewerResponseList": { + "base": null, + "refs": { + "DocumentMetadataResponseInfo$ReviewerResponse": "

Details about a reviewer's response to a document review request.

" + } + }, + "DocumentReviewerResponseSource": { + "base": "

Information about a reviewer's response to a document review request.

", + "refs": { + "DocumentReviewerResponseList$member": null + } + }, + "DocumentReviews": { + "base": "

Information about a document approval review.

", + "refs": { + "UpdateDocumentMetadataRequest$DocumentReviews": "

The document review details to update.

" + } + }, "DocumentSchemaVersion": { "base": null, "refs": { @@ -2289,6 +2414,8 @@ "DocumentDescription$DocumentVersion": "

The document version.

", "DocumentDescription$LatestVersion": "

The latest version of the document.

", "DocumentDescription$DefaultVersion": "

The default version.

", + "DocumentDescription$ApprovedVersion": "

The version of the document currently approved for use in the organization.

", + "DocumentDescription$PendingReviewVersion": "

The version of the document that is currently under review.

", "DocumentIdentifier$DocumentVersion": "

The document version.

", "DocumentRequires$Version": "

The document version required by the current document.

", "DocumentVersionInfo$DocumentVersion": "

The document version.

", @@ -2296,11 +2423,16 @@ "GetDocumentRequest$DocumentVersion": "

The document version for which you want information.

", "GetDocumentResult$DocumentVersion": "

The document version.

", "InstanceAssociationStatusInfo$DocumentVersion": "

The association document versions.

", + "ListDocumentMetadataHistoryRequest$DocumentVersion": "

The version of the document.

", + "ListDocumentMetadataHistoryResponse$DocumentVersion": "

The version of the document.

", "MaintenanceWindowAutomationParameters$DocumentVersion": "

The version of an Automation document to use during task execution.

", "MaintenanceWindowRunCommandParameters$DocumentVersion": "

The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

--document-version \"\\$DEFAULT\"

--document-version \"\\$LATEST\"

--document-version \"3\"

", + "Runbook$DocumentVersion": "

The version of the Automation runbook (Automation document) used in a runbook workflow.

", "SendCommandRequest$DocumentVersion": "

The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

--document-version \"\\$DEFAULT\"

--document-version \"\\$LATEST\"

--document-version \"3\"

", "StartAutomationExecutionRequest$DocumentVersion": "

The version of the Automation document to use for this execution.

", + "StartChangeRequestExecutionRequest$DocumentVersion": "

The version of the change template document to run during the runbook workflow.

", "UpdateAssociationRequest$DocumentVersion": "

The document version you want update for the association.

", + "UpdateDocumentMetadataRequest$DocumentVersion": "

The version of a document to update.

", "UpdateDocumentRequest$DocumentVersion": "

(Required) The latest version of the document that you want to update. The latest document version can be specified using the $LATEST variable or by the version number. Updating a previous version of a document is not supported.

" } }, @@ -2403,7 +2535,7 @@ "ExecutionRoleName": { "base": null, "refs": { - "TargetLocation$ExecutionRoleName": "

The Automation execution role used by the currently running Automation.

" + "TargetLocation$ExecutionRoleName": "

The Automation execution role used by the currently running Automation. If not specified, the default value is AWS-SystemsManager-AutomationExecutionRole.

" } }, "ExpirationDate": { @@ -2736,7 +2868,8 @@ "IdempotencyToken": { "base": null, "refs": { - "StartAutomationExecutionRequest$ClientToken": "

User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

" + "StartAutomationExecutionRequest$ClientToken": "

User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

", + "StartChangeRequestExecutionRequest$ClientToken": "

The user-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

" } }, "IdempotentParameterMismatch": { @@ -3669,6 +3802,16 @@ "refs": { } }, + "ListDocumentMetadataHistoryRequest": { + "base": null, + "refs": { + } + }, + "ListDocumentMetadataHistoryResponse": { + "base": null, + "refs": { + } + }, "ListDocumentVersionsRequest": { "base": null, "refs": { @@ -3699,6 +3842,16 @@ "refs": { } }, + "ListOpsItemEventsRequest": { + "base": null, + "refs": { + } + }, + "ListOpsItemEventsResponse": { + "base": null, + "refs": { + } + }, "ListOpsMetadataMaxResults": { "base": null, "refs": { @@ -4087,10 +4240,10 @@ "MaintenanceWindowOffset": { "base": null, "refs": { - "CreateMaintenanceWindowRequest$ScheduleOffset": "

The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.

For example, the following cron expression schedules a maintenance window to run on the third Tuesday of every month at 11:30 PM.

cron(0 30 23 ? * TUE#3 *)

If the schedule offset is 2, the maintenance window won't run until two days later.

", + "CreateMaintenanceWindowRequest$ScheduleOffset": "

The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.

For example, the following cron expression schedules a maintenance window to run on the third Tuesday of every month at 11:30 PM.

cron(30 23 ? * TUE#3 *)

If the schedule offset is 2, the maintenance window won't run until two days later.

", "GetMaintenanceWindowResult$ScheduleOffset": "

The number of days to wait to run a maintenance window after the scheduled CRON expression date and time.

", "MaintenanceWindowIdentity$ScheduleOffset": "

The number of days to wait to run a maintenance window after the scheduled CRON expression date and time.

", - "UpdateMaintenanceWindowRequest$ScheduleOffset": "

The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.

For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.

cron(0 30 23 ? * TUE#3 *)

If the schedule offset is 2, the maintenance window won't run until two days later.

", + "UpdateMaintenanceWindowRequest$ScheduleOffset": "

The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.

For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.

cron(30 23 ? * TUE#3 *)

If the schedule offset is 2, the maintenance window won't run until two days later.

", "UpdateMaintenanceWindowResult$ScheduleOffset": "

The number of days to wait to run a maintenance window after the scheduled CRON expression date and time.

" } }, @@ -4156,7 +4309,7 @@ "MaintenanceWindowIdentity$StartDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active.

", "MaintenanceWindowIdentity$NextExecutionTime": "

The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.

", "ScheduledWindowExecution$ExecutionTime": "

The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.

", - "UpdateMaintenanceWindowRequest$StartDate": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", + "UpdateMaintenanceWindowRequest$StartDate": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", "UpdateMaintenanceWindowRequest$EndDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

", "UpdateMaintenanceWindowResult$StartDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window will not run before this specified time.

", "UpdateMaintenanceWindowResult$EndDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window will not run after this specified time.

" @@ -4305,11 +4458,11 @@ "MaintenanceWindowTimezone": { "base": null, "refs": { - "CreateMaintenanceWindowRequest$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", - "GetMaintenanceWindowResult$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", + "CreateMaintenanceWindowRequest$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", + "GetMaintenanceWindowResult$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", "MaintenanceWindowIdentity$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.

", - "UpdateMaintenanceWindowRequest$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", - "UpdateMaintenanceWindowResult$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" + "UpdateMaintenanceWindowRequest$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

", + "UpdateMaintenanceWindowResult$ScheduleTimezone": "

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" } }, "MaintenanceWindowsForTargetList": { @@ -4339,9 +4492,10 @@ "GetMaintenanceWindowTaskResult$MaxConcurrency": "

The maximum number of targets allowed to run this task in parallel.

", "MaintenanceWindowTask$MaxConcurrency": "

The maximum number of targets this task can be run for, in parallel.

", "RegisterTaskWithMaintenanceWindowRequest$MaxConcurrency": "

The maximum number of targets this task can be run for in parallel.

", + "Runbook$MaxConcurrency": "

The MaxConcurrency value specified by the user when the operation started, indicating the maximum number of resources that the runbook operation can run on at the same time.

", "SendCommandRequest$MaxConcurrency": "

(Optional) The maximum number of instances that are allowed to run the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using concurrency controls in the AWS Systems Manager User Guide.

", "StartAutomationExecutionRequest$MaxConcurrency": "

The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is 10.

", - "TargetLocation$TargetLocationMaxConcurrency": "

The maximum number of AWS accounts and AWS regions allowed to run the Automation concurrently

", + "TargetLocation$TargetLocationMaxConcurrency": "

The maximum number of AWS accounts and AWS regions allowed to run the Automation concurrently.

", "UpdateAssociationRequest$MaxConcurrency": "

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

", "UpdateMaintenanceWindowTaskRequest$MaxConcurrency": "

The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.

", "UpdateMaintenanceWindowTaskResult$MaxConcurrency": "

The updated MaxConcurrency value.

" @@ -4366,9 +4520,10 @@ "GetMaintenanceWindowTaskResult$MaxErrors": "

The maximum number of errors allowed before the task stops being scheduled.

", "MaintenanceWindowTask$MaxErrors": "

The maximum number of errors allowed before this task stops being scheduled.

", "RegisterTaskWithMaintenanceWindowRequest$MaxErrors": "

The maximum number of errors allowed before this task stops being scheduled.

", + "Runbook$MaxErrors": "

The MaxErrors value specified by the user when the execution started, indicating the maximum number of errors that can occur during the operation before the updates are stopped or rolled back.

", "SendCommandRequest$MaxErrors": "

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For more information about how to use MaxErrors, see Using error controls in the AWS Systems Manager User Guide.

", "StartAutomationExecutionRequest$MaxErrors": "

The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.

Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.

", - "TargetLocation$TargetLocationMaxErrors": "

The maximum number of errors allowed before the system stops queueing additional Automation executions for the currently running Automation.

", + "TargetLocation$TargetLocationMaxErrors": "

The maximum number of errors allowed before the system stops queueing additional Automation executions for the currently running Automation.

", "UpdateAssociationRequest$MaxErrors": "

The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

", "UpdateMaintenanceWindowTaskRequest$MaxErrors": "

The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.

", "UpdateMaintenanceWindowTaskResult$MaxErrors": "

The updated MaxErrors value.

" @@ -4393,6 +4548,7 @@ "ListAssociationsRequest$MaxResults": "

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

", "ListComplianceItemsRequest$MaxResults": "

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

", "ListComplianceSummariesRequest$MaxResults": "

The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListDocumentMetadataHistoryRequest$MaxResults": "

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

", "ListDocumentVersionsRequest$MaxResults": "

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

", "ListDocumentsRequest$MaxResults": "

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

", "ListInventoryEntriesRequest$MaxResults": "

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

", @@ -4422,13 +4578,13 @@ "MetadataMap": { "base": null, "refs": { - "CreateOpsMetadataRequest$Metadata": "

Metadata for a new AppManager application.

", - "GetOpsMetadataResult$Metadata": "

OpsMetadata for an AppManager application.

", + "CreateOpsMetadataRequest$Metadata": "

Metadata for a new Application Manager application.

", + "GetOpsMetadataResult$Metadata": "

OpsMetadata for an Application Manager application.

", "UpdateOpsMetadataRequest$MetadataToUpdate": "

Metadata to add to an OpsMetadata object.

" } }, "MetadataValue": { - "base": "

Metadata to assign to an AppManager application.

", + "base": "

Metadata to assign to an Application Manager application.

", "refs": { "MetadataMap$value": null } @@ -4436,7 +4592,7 @@ "MetadataValueString": { "base": null, "refs": { - "MetadataValue$Value": "

Metadata value to assign to an AppManager application.

" + "MetadataValue$Value": "

Metadata value to assign to an Application Manager application.

" } }, "ModifyDocumentPermissionRequest": { @@ -4530,6 +4686,8 @@ "ListComplianceItemsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "ListComplianceSummariesRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", "ListComplianceSummariesResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "ListDocumentMetadataHistoryRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", + "ListDocumentMetadataHistoryResponse$NextToken": "

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

", "ListDocumentVersionsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "ListDocumentVersionsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "ListDocumentsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", @@ -4797,6 +4955,60 @@ "UpdateOpsItemRequest$Description": "

Update the information about the OpsItem. Provide enough information so that users reading this OpsItem for the first time understand the issue.

" } }, + "OpsItemEventFilter": { + "base": "

Describes a filter for a specific list of OpsItem events. You can filter event information by using tags. You specify tags by using a key-value pair mapping.

", + "refs": { + "OpsItemEventFilters$member": null + } + }, + "OpsItemEventFilterKey": { + "base": null, + "refs": { + "OpsItemEventFilter$Key": "

The name of the filter key. Currently, the only supported value is OpsItemId.

" + } + }, + "OpsItemEventFilterOperator": { + "base": null, + "refs": { + "OpsItemEventFilter$Operator": "

The operator used by the filter call. Currently, the only supported value is Equal.

" + } + }, + "OpsItemEventFilterValue": { + "base": null, + "refs": { + "OpsItemEventFilterValues$member": null + } + }, + "OpsItemEventFilterValues": { + "base": null, + "refs": { + "OpsItemEventFilter$Values": "

The values for the filter, consisting of one or more OpsItem IDs.

" + } + }, + "OpsItemEventFilters": { + "base": null, + "refs": { + "ListOpsItemEventsRequest$Filters": "

One or more OpsItem filters. Use a filter to return a more specific list of results.

" + } + }, + "OpsItemEventMaxResults": { + "base": null, + "refs": { + "ListOpsItemEventsRequest$MaxResults": "

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

" + } + }, + "OpsItemEventSummaries": { + "base": null, + "refs": { + "ListOpsItemEventsResponse$Summaries": "

A list of event information for the specified OpsItems.

" + } + }, + "OpsItemEventSummary": { + "base": "

Summary information about an OpsItem event.

", + "refs": { + "OpsItemEventSummaries$member": null + } + }, "OpsItemFilter": { "base": "

Describes an OpsItem filter.

", "refs": { @@ -4842,6 +5054,12 @@ "UpdateOpsItemRequest$OpsItemId": "

The ID of the OpsItem.

" } }, + "OpsItemIdentity": { + "base": "

Information about the user or resource that created an OpsItem event.

", + "refs": { + "OpsItemEventSummary$CreatedBy": "

Information about the user or resource that created the OpsItem event.

" + } + }, "OpsItemInvalidParameterException": { "base": "

A specified parameter argument isn't valid. Verify the available arguments and try again.

", "refs": { @@ -4954,8 +5172,16 @@ "UpdateOpsItemRequest$Title": "

A short heading that describes the nature of the OpsItem and the impacted resource.

" } }, + "OpsItemType": { + "base": null, + "refs": { + "CreateOpsItemRequest$OpsItemType": "

The type of OpsItem to create. Currently, the only valid values are /aws/changerequest and /aws/issue.

", + "OpsItem$OpsItemType": "

The type of OpsItem. Currently, the only valid values are /aws/changerequest and /aws/issue.

", + "OpsItemSummary$OpsItemType": "

The type of OpsItem. Currently, the only valid values are /aws/changerequest and /aws/issue.

" + } + }, "OpsMetadata": { - "base": "

Operational metadata for an application in AppManager.

", + "base": "

Operational metadata for an application in Application Manager.

", "refs": { "OpsMetadataList$member": null } @@ -5012,12 +5238,12 @@ } }, "OpsMetadataKeyLimitExceededException": { - "base": "

The OpsMetadata object exceeds the maximum number of OpsMetadata keys that you can assign to an application in AppManager.

", + "base": "

The OpsMetadata object exceeds the maximum number of OpsMetadata keys that you can assign to an application in Application Manager.

", "refs": { } }, "OpsMetadataLimitExceededException": { - "base": "

Your account reached the maximum number of OpsMetadata objects allowed by AppManager. The maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata object and try again.

", + "base": "

Your account reached the maximum number of OpsMetadata objects allowed by Application Manager. The maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata object and try again.

", "refs": { } }, @@ -5035,9 +5261,9 @@ "OpsMetadataResourceId": { "base": null, "refs": { - "CreateOpsMetadataRequest$ResourceId": "

A resource ID for a new AppManager application.

", - "GetOpsMetadataResult$ResourceId": "

The resource ID of the AppManager application.

", - "OpsMetadata$ResourceId": "

The ID of the AppManager application.

" + "CreateOpsMetadataRequest$ResourceId": "

A resource ID for a new Application Manager application.

", + "GetOpsMetadataResult$ResourceId": "

The resource ID of the Application Manager application.

", + "OpsMetadata$ResourceId": "

The ID of the Application Manager application.

" } }, "OpsMetadataTooManyUpdatesException": { @@ -6379,6 +6605,50 @@ "refs": { } }, + "ReviewInformation": { + "base": "

Information about the result of a document review request.

", + "refs": { + "ReviewInformationList$member": null + } + }, + "ReviewInformationList": { + "base": null, + "refs": { + "DocumentDescription$ReviewInformation": "

Details about the review of a document.

" + } + }, + "ReviewStatus": { + "base": null, + "refs": { + "DocumentDescription$ReviewStatus": "

The current status of the review.

", + "DocumentIdentifier$ReviewStatus": "

The current status of a document review.

", + "DocumentReviewerResponseSource$ReviewStatus": "

The current review status of a new custom SSM document created by a member of your organization, or of the latest version of an existing SSM document.

Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status of the previous version changes to REJECTED.

Only one version of a document can be in review, or PENDING, at a time.

", + "DocumentVersionInfo$ReviewStatus": "

The current status of the approval review for the latest version of the document.

", + "GetDocumentResult$ReviewStatus": "

The current review status of a new custom Systems Manager document (SSM document) created by a member of your organization, or of the latest version of an existing SSM document.

Only one version of an SSM document can be in the APPROVED state at a time. When a new version is approved, the status of the previous version changes to REJECTED.

Only one version of an SSM document can be in review, or PENDING, at a time.

", + "ReviewInformation$Status": "

The current status of the document review request.

" + } + }, + "Reviewer": { + "base": null, + "refs": { + "DocumentReviewerResponseSource$Reviewer": "

The user in your organization assigned to review a document request.

", + "ReviewInformation$Reviewer": "

The reviewer assigned to take action on the document review request.

" + } + }, + "Runbook": { + "base": "

Information about an Automation runbook (Automation document) used in a runbook workflow in Change Manager.

The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.

", + "refs": { + "Runbooks$member": null + } + }, + "Runbooks": { + "base": null, + "refs": { + "AutomationExecution$Runbooks": "

Information about the Automation runbooks (Automation documents) that are run as part of a runbook workflow.

The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.

", + "AutomationExecutionMetadata$Runbooks": "

Information about the Automation runbooks (Automation documents) that are run during a runbook workflow in Change Manager.

The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.

", + "StartChangeRequestExecutionRequest$Runbooks": "

Information about the Automation runbooks (Automation documents) that are run during the runbook workflow.

The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.

" + } + }, "S3BucketName": { "base": null, "refs": { @@ -6703,6 +6973,16 @@ "refs": { } }, + "StartChangeRequestExecutionRequest": { + "base": null, + "refs": { + } + }, + "StartChangeRequestExecutionResult": { + "base": null, + "refs": { + } + }, "StartSessionRequest": { "base": null, "refs": { @@ -6829,6 +7109,7 @@ "AssociationDoesNotExist$Message": null, "AssociationExecutionDoesNotExist$Message": null, "AssociationVersionLimitExceeded$Message": null, + "AutomationDefinitionNotApprovedException$Message": null, "AutomationDefinitionNotFoundException$Message": null, "AutomationDefinitionVersionNotFoundException$Message": null, "AutomationExecution$FailureMessage": "

A message describing why an execution has failed, if the status is set to Failed.

", @@ -6836,6 +7117,8 @@ "AutomationExecution$CurrentStepName": "

The name of the step that is currently running.

", "AutomationExecution$CurrentAction": "

The action of the step that is currently running.

", "AutomationExecution$Target": "

The target of the execution.

", + "AutomationExecution$OpsItemId": "

The ID of an OpsItem that is created to represent a Change Manager change request.

", + "AutomationExecution$AssociationId": "

The ID of a State Manager association used in the Automation operation.

", "AutomationExecutionLimitExceededException$Message": null, "AutomationExecutionMetadata$ExecutedBy": "

The IAM role ARN of the user who ran the Automation.

", "AutomationExecutionMetadata$LogFile": "

An S3 bucket where execution information is stored.

", @@ -6843,6 +7126,8 @@ "AutomationExecutionMetadata$CurrentAction": "

The action of the step that is currently running.

", "AutomationExecutionMetadata$FailureMessage": "

The list of execution outputs as defined in the Automation document.

", "AutomationExecutionMetadata$Target": "

The list of execution outputs as defined in the Automation document.

", + "AutomationExecutionMetadata$OpsItemId": "

The ID of an OpsItem that is created to represent a Change Manager change request.

", + "AutomationExecutionMetadata$AssociationId": "

The ID of a State Manager association used in the Automation operation.

", "AutomationExecutionNotFoundException$Message": null, "AutomationStepNotFoundException$Message": null, "ComplianceTypeCountLimitExceededException$Message": null, @@ -6910,6 +7195,8 @@ "InvalidUpdate$Message": null, "ItemContentMismatchException$Message": null, "ItemSizeLimitExceededException$Message": null, + "ListOpsItemEventsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListOpsItemEventsResponse$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "MaxDocumentSizeExceeded$Message": null, "NormalStringMap$key": null, "NormalStringMap$value": null, @@ -6918,6 +7205,12 @@ "OpsItem$Version": "

The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.

", "OpsItemAlreadyExistsException$Message": null, "OpsItemAlreadyExistsException$OpsItemId": null, + "OpsItemEventSummary$OpsItemId": "

The ID of the OpsItem.

", + "OpsItemEventSummary$EventId": "

The ID of the OpsItem event.

", + "OpsItemEventSummary$Source": "

The source of the OpsItem event.

", + "OpsItemEventSummary$DetailType": "

The type of information provided as a detail.

", + "OpsItemEventSummary$Detail": "

Specific information about the OpsItem event.

", + "OpsItemIdentity$Arn": "

The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem event.

", "OpsItemInvalidParameterException$Message": null, "OpsItemLimitExceededException$LimitType": null, "OpsItemLimitExceededException$Message": null, @@ -7028,7 +7321,8 @@ "DocumentIdentifier$Tags": "

The tags, or metadata, that have been applied to the document.

", "ListTagsForResourceResult$TagList": "

A list of tags.

", "PutParameterRequest$Tags": "

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. In this case, you could specify the following key name/value pairs:

To add tags to an existing Systems Manager parameter, use the AddTagsToResource action.

", - "StartAutomationExecutionRequest$Tags": "

Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key name/value pairs:

To add tags to an existing patch baseline, use the AddTagsToResource action.

" + "StartAutomationExecutionRequest$Tags": "

Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key name/value pairs:

To add tags to an existing patch baseline, use the AddTagsToResource action.

", + "StartChangeRequestExecutionRequest$Tags": "

Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target AWS Region. In this case, you could specify the following key-value pairs:

" } }, "TagValue": { @@ -7070,8 +7364,14 @@ "TargetLocations": { "base": null, "refs": { + "AssociationDescription$TargetLocations": "

The combination of AWS Regions and AWS accounts where you want to run the association.

", + "AssociationVersionInfo$TargetLocations": "

The combination of AWS Regions and AWS accounts where you wanted to run the association when this association version was created.

", "AutomationExecution$TargetLocations": "

The combination of AWS Regions and/or AWS accounts where you want to run the Automation.

", - "StartAutomationExecutionRequest$TargetLocations": "

A location is a combination of AWS Regions and/or AWS accounts where you want to run the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Running Automation workflows in multiple AWS Regions and accounts in the AWS Systems Manager User Guide.

" + "CreateAssociationBatchRequestEntry$TargetLocations": "

Use this action to create an association in multiple Regions and multiple accounts.

", + "CreateAssociationRequest$TargetLocations": "

A location is a combination of AWS Regions and AWS accounts where you want to run the association. Use this action to create an association in multiple Regions and multiple accounts.

", + "Runbook$TargetLocations": "

Information about the AWS Regions and accounts targeted by the current Runbook operation.

", + "StartAutomationExecutionRequest$TargetLocations": "

A location is a combination of AWS Regions and/or AWS accounts where you want to run the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Running Automation workflows in multiple AWS Regions and accounts in the AWS Systems Manager User Guide.

", + "UpdateAssociationRequest$TargetLocations": "

A location is a combination of AWS Regions and AWS accounts where you want to run the association. Use this action to update an association in multiple Regions and multiple accounts.

" } }, "TargetMap": { @@ -7155,7 +7455,8 @@ "MaintenanceWindowTarget$Targets": "

The targets, either instances or tags.

Specify instances using the following format:

Key=instanceids,Values=<instanceid1>,<instanceid2>

Tags are specified using the following format:

Key=<tag name>,Values=<tag value>.

", "MaintenanceWindowTask$Targets": "

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

", "RegisterTargetWithMaintenanceWindowRequest$Targets": "

The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.

You can specify targets using instance IDs, resource group names, or tags that have been applied to instances.

Example 1: Specify instance IDs

Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

Example 2: Use tag key-pairs applied to instances

Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2

Example 3: Use tag-keys applied to instances

Key=tag-key,Values=my-tag-key-1,my-tag-key-2

Example 4: Use resource group names

Key=resource-groups:Name,Values=resource-group-name

Example 5: Use filters for resource group types

Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2

For Key=resource-groups:ResourceTypeFilters, specify resource types in the following format

Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC

For more information about these examples formats, including the best use case for each one, see Examples: Register targets with a maintenance window in the AWS Systems Manager User Guide.

", - "RegisterTaskWithMaintenanceWindowRequest$Targets": "

The targets (either instances or maintenance window targets).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify maintenance window targets using the following format:

Key=WindowTargetIds;,Values=<window-target-id-1>,<window-target-id-2>

", + "RegisterTaskWithMaintenanceWindowRequest$Targets": "

The targets (either instances or maintenance window targets).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify maintenance window targets using the following format:

Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2>

", + "Runbook$Targets": "

A key-value mapping to target resources that the Runbook operation performs tasks on. Required if you specify TargetParameterName.

", "SendCommandRequest$Targets": "

An array of search criteria that targets instances using a Key,Value combination that you specify. Specifying targets is most useful when you want to send a command to a large number of instances at once. Using Targets, which accepts tag key-value pairs to identify instances, you can send a command to tens, hundreds, or thousands of instances at once.

To send a command to a smaller number of instances, you can use the InstanceIds option instead.

For more information about how to use targets, see Sending commands to a fleet in the AWS Systems Manager User Guide.

", "StartAutomationExecutionRequest$Targets": "

A key-value mapping to target resources. Required if you specify TargetParameterName.

", "StepExecution$Targets": "

The targets for the step execution.

", @@ -7286,6 +7587,16 @@ "refs": { } }, + "UpdateDocumentMetadataRequest": { + "base": null, + "refs": { + } + }, + "UpdateDocumentMetadataResponse": { + "base": null, + "refs": { + } + }, "UpdateDocumentRequest": { "base": null, "refs": { diff --git a/models/apis/ssm/2014-11-06/paginators-1.json b/models/apis/ssm/2014-11-06/paginators-1.json index 4c1b150b2e..dfe9f05dc8 100644 --- a/models/apis/ssm/2014-11-06/paginators-1.json +++ b/models/apis/ssm/2014-11-06/paginators-1.json @@ -243,6 +243,18 @@ "output_token": "NextToken", "result_key": "DocumentIdentifiers" }, + "ListOpsItemEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Summaries" + }, + "ListOpsMetadata": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "OpsMetadataList" + }, "ListResourceComplianceSummaries": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/service/greengrassv2/api.go b/service/greengrassv2/api.go new file mode 100644 index 0000000000..95526da3d0 --- /dev/null +++ b/service/greengrassv2/api.go @@ -0,0 +1,7291 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package greengrassv2 + +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" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCancelDeployment = "CancelDeployment" + +// CancelDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the CancelDeployment 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 CancelDeployment for more information on using the CancelDeployment +// 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 CancelDeploymentRequest method. +// req, resp := client.CancelDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment +func (c *GreengrassV2) CancelDeploymentRequest(input *CancelDeploymentInput) (req *request.Request, output *CancelDeploymentOutput) { + op := &request.Operation{ + Name: opCancelDeployment, + HTTPMethod: "POST", + HTTPPath: "/greengrass/v2/deployments/{deploymentId}/cancel", + } + + if input == nil { + input = &CancelDeploymentInput{} + } + + output = &CancelDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelDeployment API operation for AWS IoT Greengrass V2. +// +// Cancels a deployment. This operation cancels the deployment for devices that +// haven't yet received it. If a device already received the deployment, this +// operation doesn't change anything for that device. +// +// 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 Greengrass V2's +// API operation CancelDeployment for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ConflictException +// 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. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment +func (c *GreengrassV2) CancelDeployment(input *CancelDeploymentInput) (*CancelDeploymentOutput, error) { + req, out := c.CancelDeploymentRequest(input) + return out, req.Send() +} + +// CancelDeploymentWithContext is the same as CancelDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See CancelDeployment 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 *GreengrassV2) CancelDeploymentWithContext(ctx aws.Context, input *CancelDeploymentInput, opts ...request.Option) (*CancelDeploymentOutput, error) { + req, out := c.CancelDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateComponentVersion = "CreateComponentVersion" + +// CreateComponentVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateComponentVersion 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 CreateComponentVersion for more information on using the CreateComponentVersion +// 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 CreateComponentVersionRequest method. +// req, resp := client.CreateComponentVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion +func (c *GreengrassV2) CreateComponentVersionRequest(input *CreateComponentVersionInput) (req *request.Request, output *CreateComponentVersionOutput) { + op := &request.Operation{ + Name: opCreateComponentVersion, + HTTPMethod: "POST", + HTTPPath: "/greengrass/v2/createComponentVersion", + } + + if input == nil { + input = &CreateComponentVersionInput{} + } + + output = &CreateComponentVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateComponentVersion API operation for AWS IoT Greengrass V2. +// +// Creates a component. Components are software that run on AWS IoT Greengrass +// core devices. After you develop and test a component on your core device, +// you can use this operation to upload your component to AWS IoT Greengrass. +// Then, you can deploy the component to other core devices. +// +// You can use this operation to do the following: +// +// * Create components from recipes Create a component from a recipe, which +// is a file that defines the component's metadata, parameters, dependencies, +// lifecycle, artifacts, and platform capability. For more information, see +// AWS IoT Greengrass component recipe reference (https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html) +// in the AWS IoT Greengrass V2 Developer Guide. To create a component from +// a recipe, specify inlineRecipe when you call this operation. +// +// * Create components from Lambda functions Create a component from an AWS +// Lambda function that runs on AWS IoT Greengrass. This creates a recipe +// and artifacts from the Lambda function's deployment package. You can use +// this operation to migrate Lambda functions from AWS IoT Greengrass V1 +// to AWS IoT Greengrass V2. This function only accepts Lambda functions +// that use the following runtimes: Python 2.7 – python2.7 Python 3.7 – +// python3.7 Python 3.8 – python3.8 Java 8 – java8 Node.js 10 – nodejs10.x +// Node.js 12 – nodejs12.x To create a component from a Lambda function, +// specify lambdaFunction when you call this 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 AWS IoT Greengrass V2's +// API operation CreateComponentVersion for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ServiceQuotaExceededException +// Your request exceeds a service quota. For example, you might have the maximum +// number of components that you can create. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ConflictException +// 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. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion +func (c *GreengrassV2) CreateComponentVersion(input *CreateComponentVersionInput) (*CreateComponentVersionOutput, error) { + req, out := c.CreateComponentVersionRequest(input) + return out, req.Send() +} + +// CreateComponentVersionWithContext is the same as CreateComponentVersion with the addition of +// the ability to pass a context and additional request options. +// +// See CreateComponentVersion 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 *GreengrassV2) CreateComponentVersionWithContext(ctx aws.Context, input *CreateComponentVersionInput, opts ...request.Option) (*CreateComponentVersionOutput, error) { + req, out := c.CreateComponentVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDeployment = "CreateDeployment" + +// CreateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeployment 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 CreateDeployment for more information on using the CreateDeployment +// 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 CreateDeploymentRequest method. +// req, resp := client.CreateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment +func (c *GreengrassV2) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) { + op := &request.Operation{ + Name: opCreateDeployment, + HTTPMethod: "POST", + HTTPPath: "/greengrass/v2/deployments", + } + + if input == nil { + input = &CreateDeploymentInput{} + } + + output = &CreateDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDeployment API operation for AWS IoT Greengrass V2. +// +// Creates a continuous deployment for a target, which is a AWS IoT Greengrass +// core device or group of core devices. When you add a new core device to a +// group of core devices that has a deployment, AWS IoT Greengrass deploys that +// group's deployment to the new device. +// +// You can define one deployment for each target. When you create a new deployment +// for a target that has an existing deployment, you replace the previous deployment. +// AWS IoT Greengrass applies the new deployment to the target devices. +// +// Every deployment has a revision number that indicates how many deployment +// revisions you define for a target. Use this operation to create a new revision +// of an existing deployment. This operation returns the revision number of +// the new deployment when you create it. +// +// For more information, see the Create deployments (https://docs.aws.amazon.com/greengrass/v2/latest/developerguide/create-deployments.html) +// in the AWS IoT Greengrass V2 Developer 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 Greengrass V2's +// API operation CreateDeployment for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment +func (c *GreengrassV2) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { + req, out := c.CreateDeploymentRequest(input) + return out, req.Send() +} + +// CreateDeploymentWithContext is the same as CreateDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDeployment 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 *GreengrassV2) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) { + req, out := c.CreateDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteComponent = "DeleteComponent" + +// DeleteComponentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteComponent 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 DeleteComponent for more information on using the DeleteComponent +// 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 DeleteComponentRequest method. +// req, resp := client.DeleteComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent +func (c *GreengrassV2) DeleteComponentRequest(input *DeleteComponentInput) (req *request.Request, output *DeleteComponentOutput) { + op := &request.Operation{ + Name: opDeleteComponent, + HTTPMethod: "DELETE", + HTTPPath: "/greengrass/v2/components/{arn}", + } + + if input == nil { + input = &DeleteComponentInput{} + } + + output = &DeleteComponentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteComponent API operation for AWS IoT Greengrass V2. +// +// Deletes a version of a component from AWS IoT Greengrass. +// +// This operation deletes the component's recipe and artifacts. As a result, +// deployments that refer to this component version will fail. If you have deployments +// that use this component version, you can remove the component from the deployment +// or update the deployment to use a valid version. +// +// 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 Greengrass V2's +// API operation DeleteComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ConflictException +// 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. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent +func (c *GreengrassV2) DeleteComponent(input *DeleteComponentInput) (*DeleteComponentOutput, error) { + req, out := c.DeleteComponentRequest(input) + return out, req.Send() +} + +// DeleteComponentWithContext is the same as DeleteComponent with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteComponent 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 *GreengrassV2) DeleteComponentWithContext(ctx aws.Context, input *DeleteComponentInput, opts ...request.Option) (*DeleteComponentOutput, error) { + req, out := c.DeleteComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCoreDevice = "DeleteCoreDevice" + +// DeleteCoreDeviceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCoreDevice 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 DeleteCoreDevice for more information on using the DeleteCoreDevice +// 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 DeleteCoreDeviceRequest method. +// req, resp := client.DeleteCoreDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice +func (c *GreengrassV2) DeleteCoreDeviceRequest(input *DeleteCoreDeviceInput) (req *request.Request, output *DeleteCoreDeviceOutput) { + op := &request.Operation{ + Name: opDeleteCoreDevice, + HTTPMethod: "DELETE", + HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}", + } + + if input == nil { + input = &DeleteCoreDeviceInput{} + } + + output = &DeleteCoreDeviceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCoreDevice API operation for AWS IoT Greengrass V2. +// +// Deletes a AWS IoT Greengrass core device, which is an AWS IoT thing. This +// operation removes the core device from the list of core devices. This operation +// doesn't delete the AWS IoT thing. For more information about how to delete +// the AWS IoT thing, see DeleteThing (https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html) +// in the AWS IoT API Reference. +// +// 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 Greengrass V2's +// API operation DeleteCoreDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * ConflictException +// 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/greengrassv2-2020-11-30/DeleteCoreDevice +func (c *GreengrassV2) DeleteCoreDevice(input *DeleteCoreDeviceInput) (*DeleteCoreDeviceOutput, error) { + req, out := c.DeleteCoreDeviceRequest(input) + return out, req.Send() +} + +// DeleteCoreDeviceWithContext is the same as DeleteCoreDevice with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCoreDevice 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 *GreengrassV2) DeleteCoreDeviceWithContext(ctx aws.Context, input *DeleteCoreDeviceInput, opts ...request.Option) (*DeleteCoreDeviceOutput, error) { + req, out := c.DeleteCoreDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeComponent = "DescribeComponent" + +// DescribeComponentRequest generates a "aws/request.Request" representing the +// client's request for the DescribeComponent 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 DescribeComponent for more information on using the DescribeComponent +// 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 DescribeComponentRequest method. +// req, resp := client.DescribeComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent +func (c *GreengrassV2) DescribeComponentRequest(input *DescribeComponentInput) (req *request.Request, output *DescribeComponentOutput) { + op := &request.Operation{ + Name: opDescribeComponent, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/components/{arn}/metadata", + } + + if input == nil { + input = &DescribeComponentInput{} + } + + output = &DescribeComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeComponent API operation for AWS IoT Greengrass V2. +// +// Retrieves metadata for a version 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 Greengrass V2's +// API operation DescribeComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent +func (c *GreengrassV2) DescribeComponent(input *DescribeComponentInput) (*DescribeComponentOutput, error) { + req, out := c.DescribeComponentRequest(input) + return out, req.Send() +} + +// DescribeComponentWithContext is the same as DescribeComponent with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeComponent 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 *GreengrassV2) DescribeComponentWithContext(ctx aws.Context, input *DescribeComponentInput, opts ...request.Option) (*DescribeComponentOutput, error) { + req, out := c.DescribeComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetComponent = "GetComponent" + +// GetComponentRequest generates a "aws/request.Request" representing the +// client's request for the GetComponent 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 GetComponent for more information on using the GetComponent +// 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 GetComponentRequest method. +// req, resp := client.GetComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent +func (c *GreengrassV2) GetComponentRequest(input *GetComponentInput) (req *request.Request, output *GetComponentOutput) { + op := &request.Operation{ + Name: opGetComponent, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/components/{arn}", + } + + if input == nil { + input = &GetComponentInput{} + } + + output = &GetComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetComponent API operation for AWS IoT Greengrass V2. +// +// Gets the recipe for a version of a component. Core devices can call this +// operation to identify the artifacts and requirements to install 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 Greengrass V2's +// API operation GetComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent +func (c *GreengrassV2) GetComponent(input *GetComponentInput) (*GetComponentOutput, error) { + req, out := c.GetComponentRequest(input) + return out, req.Send() +} + +// GetComponentWithContext is the same as GetComponent with the addition of +// the ability to pass a context and additional request options. +// +// See GetComponent 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 *GreengrassV2) GetComponentWithContext(ctx aws.Context, input *GetComponentInput, opts ...request.Option) (*GetComponentOutput, error) { + req, out := c.GetComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetComponentVersionArtifact = "GetComponentVersionArtifact" + +// GetComponentVersionArtifactRequest generates a "aws/request.Request" representing the +// client's request for the GetComponentVersionArtifact 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 GetComponentVersionArtifact for more information on using the GetComponentVersionArtifact +// 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 GetComponentVersionArtifactRequest method. +// req, resp := client.GetComponentVersionArtifactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact +func (c *GreengrassV2) GetComponentVersionArtifactRequest(input *GetComponentVersionArtifactInput) (req *request.Request, output *GetComponentVersionArtifactOutput) { + op := &request.Operation{ + Name: opGetComponentVersionArtifact, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/components/{arn}/artifacts/{artifactName+}", + } + + if input == nil { + input = &GetComponentVersionArtifactInput{} + } + + output = &GetComponentVersionArtifactOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetComponentVersionArtifact API operation for AWS IoT Greengrass V2. +// +// Gets the pre-signed URL to a component artifact in an S3 bucket. Core devices +// can call this operation to identify the URL that they can use to download +// an artifact to install. +// +// 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 Greengrass V2's +// API operation GetComponentVersionArtifact for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact +func (c *GreengrassV2) GetComponentVersionArtifact(input *GetComponentVersionArtifactInput) (*GetComponentVersionArtifactOutput, error) { + req, out := c.GetComponentVersionArtifactRequest(input) + return out, req.Send() +} + +// GetComponentVersionArtifactWithContext is the same as GetComponentVersionArtifact with the addition of +// the ability to pass a context and additional request options. +// +// See GetComponentVersionArtifact 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 *GreengrassV2) GetComponentVersionArtifactWithContext(ctx aws.Context, input *GetComponentVersionArtifactInput, opts ...request.Option) (*GetComponentVersionArtifactOutput, error) { + req, out := c.GetComponentVersionArtifactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCoreDevice = "GetCoreDevice" + +// GetCoreDeviceRequest generates a "aws/request.Request" representing the +// client's request for the GetCoreDevice 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 GetCoreDevice for more information on using the GetCoreDevice +// 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 GetCoreDeviceRequest method. +// req, resp := client.GetCoreDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice +func (c *GreengrassV2) GetCoreDeviceRequest(input *GetCoreDeviceInput) (req *request.Request, output *GetCoreDeviceOutput) { + op := &request.Operation{ + Name: opGetCoreDevice, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}", + } + + if input == nil { + input = &GetCoreDeviceInput{} + } + + output = &GetCoreDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCoreDevice API operation for AWS IoT Greengrass V2. +// +// Retrieves metadata for a AWS IoT Greengrass core device. +// +// 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 Greengrass V2's +// API operation GetCoreDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice +func (c *GreengrassV2) GetCoreDevice(input *GetCoreDeviceInput) (*GetCoreDeviceOutput, error) { + req, out := c.GetCoreDeviceRequest(input) + return out, req.Send() +} + +// GetCoreDeviceWithContext is the same as GetCoreDevice with the addition of +// the ability to pass a context and additional request options. +// +// See GetCoreDevice 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 *GreengrassV2) GetCoreDeviceWithContext(ctx aws.Context, input *GetCoreDeviceInput, opts ...request.Option) (*GetCoreDeviceOutput, error) { + req, out := c.GetCoreDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDeployment = "GetDeployment" + +// GetDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployment 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 GetDeployment for more information on using the GetDeployment +// 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 GetDeploymentRequest method. +// req, resp := client.GetDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment +func (c *GreengrassV2) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) { + op := &request.Operation{ + Name: opGetDeployment, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/deployments/{deploymentId}", + } + + if input == nil { + input = &GetDeploymentInput{} + } + + output = &GetDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeployment API operation for AWS IoT Greengrass V2. +// +// Gets a deployment. Deployments define the components that run on AWS IoT +// Greengrass core devices. +// +// 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 Greengrass V2's +// API operation GetDeployment for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment +func (c *GreengrassV2) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + return out, req.Send() +} + +// GetDeploymentWithContext is the same as GetDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeployment 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 *GreengrassV2) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListComponentVersions = "ListComponentVersions" + +// ListComponentVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListComponentVersions 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 ListComponentVersions for more information on using the ListComponentVersions +// 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 ListComponentVersionsRequest method. +// req, resp := client.ListComponentVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions +func (c *GreengrassV2) ListComponentVersionsRequest(input *ListComponentVersionsInput) (req *request.Request, output *ListComponentVersionsOutput) { + op := &request.Operation{ + Name: opListComponentVersions, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/components/{arn}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComponentVersionsInput{} + } + + output = &ListComponentVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComponentVersions API operation for AWS IoT Greengrass V2. +// +// Retrieves a paginated list of all versions for 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 Greengrass V2's +// API operation ListComponentVersions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions +func (c *GreengrassV2) ListComponentVersions(input *ListComponentVersionsInput) (*ListComponentVersionsOutput, error) { + req, out := c.ListComponentVersionsRequest(input) + return out, req.Send() +} + +// ListComponentVersionsWithContext is the same as ListComponentVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListComponentVersions 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 *GreengrassV2) ListComponentVersionsWithContext(ctx aws.Context, input *ListComponentVersionsInput, opts ...request.Option) (*ListComponentVersionsOutput, error) { + req, out := c.ListComponentVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListComponentVersionsPages iterates over the pages of a ListComponentVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComponentVersions 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 ListComponentVersions operation. +// pageNum := 0 +// err := client.ListComponentVersionsPages(params, +// func(page *greengrassv2.ListComponentVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GreengrassV2) ListComponentVersionsPages(input *ListComponentVersionsInput, fn func(*ListComponentVersionsOutput, bool) bool) error { + return c.ListComponentVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComponentVersionsPagesWithContext same as ListComponentVersionsPages 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 *GreengrassV2) ListComponentVersionsPagesWithContext(ctx aws.Context, input *ListComponentVersionsInput, fn func(*ListComponentVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComponentVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComponentVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComponentVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListComponents = "ListComponents" + +// 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 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 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/greengrassv2-2020-11-30/ListComponents +func (c *GreengrassV2) ListComponentsRequest(input *ListComponentsInput) (req *request.Request, output *ListComponentsOutput) { + op := &request.Operation{ + Name: opListComponents, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/components", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComponentsInput{} + } + + output = &ListComponentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComponents API operation for AWS IoT Greengrass V2. +// +// Retrieves a paginated list of component summaries. This list includes components +// that you have permission to view. +// +// 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 Greengrass V2's +// API operation ListComponents for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents +func (c *GreengrassV2) ListComponents(input *ListComponentsInput) (*ListComponentsOutput, error) { + req, out := c.ListComponentsRequest(input) + return out, req.Send() +} + +// ListComponentsWithContext is the same as ListComponents with the addition of +// the ability to pass a context and additional request options. +// +// 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 *GreengrassV2) 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() +} + +// 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 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 ListComponents operation. +// pageNum := 0 +// err := client.ListComponentsPages(params, +// func(page *greengrassv2.ListComponentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GreengrassV2) ListComponentsPages(input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool) error { + return c.ListComponentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// 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 *GreengrassV2) 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 *ListComponentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComponentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComponentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCoreDevices = "ListCoreDevices" + +// ListCoreDevicesRequest generates a "aws/request.Request" representing the +// client's request for the ListCoreDevices 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 ListCoreDevices for more information on using the ListCoreDevices +// 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 ListCoreDevicesRequest method. +// req, resp := client.ListCoreDevicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices +func (c *GreengrassV2) ListCoreDevicesRequest(input *ListCoreDevicesInput) (req *request.Request, output *ListCoreDevicesOutput) { + op := &request.Operation{ + Name: opListCoreDevices, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/coreDevices", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCoreDevicesInput{} + } + + output = &ListCoreDevicesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCoreDevices API operation for AWS IoT Greengrass V2. +// +// Retrieves a paginated list of AWS IoT Greengrass core devices. +// +// 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 Greengrass V2's +// API operation ListCoreDevices for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices +func (c *GreengrassV2) ListCoreDevices(input *ListCoreDevicesInput) (*ListCoreDevicesOutput, error) { + req, out := c.ListCoreDevicesRequest(input) + return out, req.Send() +} + +// ListCoreDevicesWithContext is the same as ListCoreDevices with the addition of +// the ability to pass a context and additional request options. +// +// See ListCoreDevices 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 *GreengrassV2) ListCoreDevicesWithContext(ctx aws.Context, input *ListCoreDevicesInput, opts ...request.Option) (*ListCoreDevicesOutput, error) { + req, out := c.ListCoreDevicesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCoreDevicesPages iterates over the pages of a ListCoreDevices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCoreDevices 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 ListCoreDevices operation. +// pageNum := 0 +// err := client.ListCoreDevicesPages(params, +// func(page *greengrassv2.ListCoreDevicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GreengrassV2) ListCoreDevicesPages(input *ListCoreDevicesInput, fn func(*ListCoreDevicesOutput, bool) bool) error { + return c.ListCoreDevicesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCoreDevicesPagesWithContext same as ListCoreDevicesPages 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 *GreengrassV2) ListCoreDevicesPagesWithContext(ctx aws.Context, input *ListCoreDevicesInput, fn func(*ListCoreDevicesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCoreDevicesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCoreDevicesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCoreDevicesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDeployments = "ListDeployments" + +// ListDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeployments 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 ListDeployments for more information on using the ListDeployments +// 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 ListDeploymentsRequest method. +// req, resp := client.ListDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments +func (c *GreengrassV2) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) { + op := &request.Operation{ + Name: opListDeployments, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/deployments", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDeploymentsInput{} + } + + output = &ListDeploymentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDeployments API operation for AWS IoT Greengrass V2. +// +// Retrieves a paginated list of deployments. +// +// 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 Greengrass V2's +// API operation ListDeployments for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments +func (c *GreengrassV2) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) { + req, out := c.ListDeploymentsRequest(input) + return out, req.Send() +} + +// ListDeploymentsWithContext is the same as ListDeployments with the addition of +// the ability to pass a context and additional request options. +// +// See ListDeployments 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 *GreengrassV2) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) { + req, out := c.ListDeploymentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDeploymentsPages iterates over the pages of a ListDeployments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeployments 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 ListDeployments operation. +// pageNum := 0 +// err := client.ListDeploymentsPages(params, +// func(page *greengrassv2.ListDeploymentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GreengrassV2) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error { + return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDeploymentsPagesWithContext same as ListDeploymentsPages 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 *GreengrassV2) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDeploymentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDeploymentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEffectiveDeployments = "ListEffectiveDeployments" + +// ListEffectiveDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the ListEffectiveDeployments 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 ListEffectiveDeployments for more information on using the ListEffectiveDeployments +// 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 ListEffectiveDeploymentsRequest method. +// req, resp := client.ListEffectiveDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments +func (c *GreengrassV2) ListEffectiveDeploymentsRequest(input *ListEffectiveDeploymentsInput) (req *request.Request, output *ListEffectiveDeploymentsOutput) { + op := &request.Operation{ + Name: opListEffectiveDeployments, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/effectiveDeployments", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEffectiveDeploymentsInput{} + } + + output = &ListEffectiveDeploymentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEffectiveDeployments API operation for AWS IoT Greengrass V2. +// +// Retrieves a paginated list of deployment jobs that AWS IoT Greengrass sends +// to AWS IoT Greengrass core devices. +// +// 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 Greengrass V2's +// API operation ListEffectiveDeployments for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments +func (c *GreengrassV2) ListEffectiveDeployments(input *ListEffectiveDeploymentsInput) (*ListEffectiveDeploymentsOutput, error) { + req, out := c.ListEffectiveDeploymentsRequest(input) + return out, req.Send() +} + +// ListEffectiveDeploymentsWithContext is the same as ListEffectiveDeployments with the addition of +// the ability to pass a context and additional request options. +// +// See ListEffectiveDeployments 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 *GreengrassV2) ListEffectiveDeploymentsWithContext(ctx aws.Context, input *ListEffectiveDeploymentsInput, opts ...request.Option) (*ListEffectiveDeploymentsOutput, error) { + req, out := c.ListEffectiveDeploymentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEffectiveDeploymentsPages iterates over the pages of a ListEffectiveDeployments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEffectiveDeployments 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 ListEffectiveDeployments operation. +// pageNum := 0 +// err := client.ListEffectiveDeploymentsPages(params, +// func(page *greengrassv2.ListEffectiveDeploymentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GreengrassV2) ListEffectiveDeploymentsPages(input *ListEffectiveDeploymentsInput, fn func(*ListEffectiveDeploymentsOutput, bool) bool) error { + return c.ListEffectiveDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEffectiveDeploymentsPagesWithContext same as ListEffectiveDeploymentsPages 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 *GreengrassV2) ListEffectiveDeploymentsPagesWithContext(ctx aws.Context, input *ListEffectiveDeploymentsInput, fn func(*ListEffectiveDeploymentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEffectiveDeploymentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEffectiveDeploymentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEffectiveDeploymentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListInstalledComponents = "ListInstalledComponents" + +// ListInstalledComponentsRequest generates a "aws/request.Request" representing the +// client's request for the ListInstalledComponents 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 ListInstalledComponents for more information on using the ListInstalledComponents +// 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 ListInstalledComponentsRequest method. +// req, resp := client.ListInstalledComponentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents +func (c *GreengrassV2) ListInstalledComponentsRequest(input *ListInstalledComponentsInput) (req *request.Request, output *ListInstalledComponentsOutput) { + op := &request.Operation{ + Name: opListInstalledComponents, + HTTPMethod: "GET", + HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/installedComponents", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListInstalledComponentsInput{} + } + + output = &ListInstalledComponentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInstalledComponents API operation for AWS IoT Greengrass V2. +// +// Retrieves a paginated list of the components that a AWS IoT Greengrass core +// device runs. +// +// 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 Greengrass V2's +// API operation ListInstalledComponents for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents +func (c *GreengrassV2) ListInstalledComponents(input *ListInstalledComponentsInput) (*ListInstalledComponentsOutput, error) { + req, out := c.ListInstalledComponentsRequest(input) + return out, req.Send() +} + +// ListInstalledComponentsWithContext is the same as ListInstalledComponents with the addition of +// the ability to pass a context and additional request options. +// +// See ListInstalledComponents 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 *GreengrassV2) ListInstalledComponentsWithContext(ctx aws.Context, input *ListInstalledComponentsInput, opts ...request.Option) (*ListInstalledComponentsOutput, error) { + req, out := c.ListInstalledComponentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListInstalledComponentsPages iterates over the pages of a ListInstalledComponents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstalledComponents 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 ListInstalledComponents operation. +// pageNum := 0 +// err := client.ListInstalledComponentsPages(params, +// func(page *greengrassv2.ListInstalledComponentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GreengrassV2) ListInstalledComponentsPages(input *ListInstalledComponentsInput, fn func(*ListInstalledComponentsOutput, bool) bool) error { + return c.ListInstalledComponentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInstalledComponentsPagesWithContext same as ListInstalledComponentsPages 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 *GreengrassV2) ListInstalledComponentsPagesWithContext(ctx aws.Context, input *ListInstalledComponentsInput, fn func(*ListInstalledComponentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInstalledComponentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInstalledComponentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListInstalledComponentsOutput), !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 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 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/greengrassv2-2020-11-30/ListTagsForResource +func (c *GreengrassV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS IoT Greengrass V2. +// +// Retrieves the list of tags for an AWS IoT Greengrass 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 Greengrass V2's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource +func (c *GreengrassV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource 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. +// +// 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 *GreengrassV2) 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 opResolveComponentCandidates = "ResolveComponentCandidates" + +// ResolveComponentCandidatesRequest generates a "aws/request.Request" representing the +// client's request for the ResolveComponentCandidates 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 ResolveComponentCandidates for more information on using the ResolveComponentCandidates +// 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 ResolveComponentCandidatesRequest method. +// req, resp := client.ResolveComponentCandidatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates +func (c *GreengrassV2) ResolveComponentCandidatesRequest(input *ResolveComponentCandidatesInput) (req *request.Request, output *ResolveComponentCandidatesOutput) { + op := &request.Operation{ + Name: opResolveComponentCandidates, + HTTPMethod: "POST", + HTTPPath: "/greengrass/v2/resolveComponentCandidates", + } + + if input == nil { + input = &ResolveComponentCandidatesInput{} + } + + output = &ResolveComponentCandidatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResolveComponentCandidates API operation for AWS IoT Greengrass V2. +// +// Retrieves a list of components that meet the component, version, and platform +// requirements of a deployment. AWS IoT Greengrass core devices call this operation +// when they receive a deployment to identify the components to install. +// +// This operation identifies components that meet all dependency requirements +// for a deployment. If the requirements conflict, then this operation returns +// an error and the deployment fails. For example, this occurs if component +// A requires version >2.0.0 and component B requires version <2.0.0 of a component +// dependency. +// +// When you specify the component candidates to resolve, AWS IoT Greengrass +// compares each component's digest from the core device with the component's +// digest in the AWS Cloud. If the digests don't match, then AWS IoT Greengrass +// specifies to use the version from the AWS Cloud. +// +// To use this operation, you must use the data plane API endpoint and authenticate +// with an AWS IoT device certificate. For more information, see AWS IoT Greengrass +// endpoints and quotas (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/general/latest/gr/greengrass.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 Greengrass V2's +// API operation ResolveComponentCandidates for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * AccessDeniedException +// You don't have permission to perform the action. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * ThrottlingException +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +// +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ConflictException +// 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/greengrassv2-2020-11-30/ResolveComponentCandidates +func (c *GreengrassV2) ResolveComponentCandidates(input *ResolveComponentCandidatesInput) (*ResolveComponentCandidatesOutput, error) { + req, out := c.ResolveComponentCandidatesRequest(input) + return out, req.Send() +} + +// ResolveComponentCandidatesWithContext is the same as ResolveComponentCandidates with the addition of +// the ability to pass a context and additional request options. +// +// See ResolveComponentCandidates 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 *GreengrassV2) ResolveComponentCandidatesWithContext(ctx aws.Context, input *ResolveComponentCandidatesInput, opts ...request.Option) (*ResolveComponentCandidatesOutput, error) { + req, out := c.ResolveComponentCandidatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +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 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 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/greengrassv2-2020-11-30/TagResource +func (c *GreengrassV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS IoT Greengrass V2. +// +// Adds tags to an AWS IoT Greengrass 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 Greengrass V2's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource +func (c *GreengrassV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource 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. +// +// 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 *GreengrassV2) 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 opUntagResource = "UntagResource" + +// 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 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 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/greengrassv2-2020-11-30/UntagResource +func (c *GreengrassV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS IoT Greengrass V2. +// +// Removes a tag from an AWS IoT Greengrass 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 Greengrass V2's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// AWS IoT Greengrass can't process your request right now. Try again later. +// +// * ValidationException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource +func (c *GreengrassV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource 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. +// +// 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 *GreengrassV2) 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() +} + +// You don't have permission to perform the action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +type CancelDeploymentInput struct { + _ struct{} `type:"structure"` + + // The ID of the deployment. + // + // DeploymentId is a required field + DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentInput"} + if s.DeploymentId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentId")) + } + if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *CancelDeploymentInput) SetDeploymentId(v string) *CancelDeploymentInput { + s.DeploymentId = &v + return s +} + +type CancelDeploymentOutput struct { + _ struct{} `type:"structure"` + + // A message that communicates if the cancel was successful. + Message *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation +func (s CancelDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelDeploymentOutput) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *CancelDeploymentOutput) SetMessage(v string) *CancelDeploymentOutput { + s.Message = &v + return s +} + +// Contains the status of a component in the AWS IoT Greengrass service. +type CloudComponentStatus struct { + _ struct{} `type:"structure"` + + // The state of the component. + ComponentState *string `locationName:"componentState" type:"string" enum:"CloudComponentState"` + + // A dictionary of errors that communicate why the component is in an error + // state. For example, if AWS IoT Greengrass can't access an artifact for the + // component, then errors contains the artifact's URI as a key, and the error + // message as the value for that key. + Errors map[string]*string `locationName:"errors" type:"map"` + + // A message that communicates details, such as errors, about the status of + // the component. + Message *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation +func (s CloudComponentStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudComponentStatus) GoString() string { + return s.String() +} + +// SetComponentState sets the ComponentState field's value. +func (s *CloudComponentStatus) SetComponentState(v string) *CloudComponentStatus { + s.ComponentState = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *CloudComponentStatus) SetErrors(v map[string]*string) *CloudComponentStatus { + s.Errors = v + return s +} + +// SetMessage sets the Message field's value. +func (s *CloudComponentStatus) SetMessage(v string) *CloudComponentStatus { + s.Message = &v + return s +} + +// Contains information about a component. +type Component struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + Arn *string `locationName:"arn" type:"string"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The latest version of the component and its details. + LatestVersion *ComponentLatestVersion `locationName:"latestVersion" type:"structure"` +} + +// String returns the string representation +func (s Component) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Component) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Component) SetArn(v string) *Component { + s.Arn = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *Component) SetComponentName(v string) *Component { + s.ComponentName = &v + return s +} + +// SetLatestVersion sets the LatestVersion field's value. +func (s *Component) SetLatestVersion(v *ComponentLatestVersion) *Component { + s.LatestVersion = v + return s +} + +// Contains information about a component that is a candidate to deploy to a +// AWS IoT Greengrass core device. +type ComponentCandidate struct { + _ struct{} `type:"structure"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // The version requirements for the component's dependencies. AWS IoT Greengrass + // core devices get the version requirements from component recipes. + // + // AWS IoT Greengrass V2 uses semantic version constraints. For more information, + // see Semantic Versioning (https://semver.org/). + VersionRequirements map[string]*string `locationName:"versionRequirements" type:"map"` +} + +// String returns the string representation +func (s ComponentCandidate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentCandidate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentCandidate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentCandidate"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentName sets the ComponentName field's value. +func (s *ComponentCandidate) SetComponentName(v string) *ComponentCandidate { + s.ComponentName = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *ComponentCandidate) SetComponentVersion(v string) *ComponentCandidate { + s.ComponentVersion = &v + return s +} + +// SetVersionRequirements sets the VersionRequirements field's value. +func (s *ComponentCandidate) SetVersionRequirements(v map[string]*string) *ComponentCandidate { + s.VersionRequirements = v + return s +} + +// Contains information about a deployment's update to a component's configuration +// on Greengrass core devices. For more information, see Update component configurations +// (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html) +// in the AWS IoT Greengrass V2 Developer Guide. +type ComponentConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // A serialized JSON string that contains the configuration object to merge + // to target devices. The core device merges this configuration with the component's + // existing configuration. If this is the first time a component deploys on + // a device, the core device merges this configuration with the component's + // default configuration. This means that the core device keeps it's existing + // configuration for keys and values that you don't specify in this object. + // For more information, see Merge configuration updates (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#merge-configuration-update) + // in the AWS IoT Greengrass V2 Developer Guide. + Merge *string `locationName:"merge" min:"1" type:"string"` + + // The list of configuration nodes to reset to default values on target devices. + // Use JSON pointers to specify each node to reset. JSON pointers start with + // a forward slash (/) and use forward slashes to separate the key for each + // level in the object. For more information, see the JSON pointer specification + // (https://tools.ietf.org/html/rfc6901) and Reset configuration updates (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#reset-configuration-update) + // in the AWS IoT Greengrass V2 Developer Guide. + Reset []*string `locationName:"reset" type:"list"` +} + +// String returns the string representation +func (s ComponentConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentConfigurationUpdate"} + if s.Merge != nil && len(*s.Merge) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Merge", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMerge sets the Merge field's value. +func (s *ComponentConfigurationUpdate) SetMerge(v string) *ComponentConfigurationUpdate { + s.Merge = &v + return s +} + +// SetReset sets the Reset field's value. +func (s *ComponentConfigurationUpdate) SetReset(v []*string) *ComponentConfigurationUpdate { + s.Reset = v + return s +} + +// Contains information about a component dependency for a Lambda function component. +type ComponentDependencyRequirement struct { + _ struct{} `type:"structure"` + + // The type of this dependency. Choose from the following options: + // + // * SOFT – The component doesn't restart if the dependency changes state. + // + // * HARD – The component restarts if the dependency changes state. + // + // Default: HARD + DependencyType *string `locationName:"dependencyType" type:"string" enum:"ComponentDependencyType"` + + // The component version requirement for the component dependency. + // + // AWS IoT Greengrass V2 uses semantic version constraints. For more information, + // see Semantic Versioning (https://semver.org/). + VersionRequirement *string `locationName:"versionRequirement" min:"1" type:"string"` +} + +// String returns the string representation +func (s ComponentDependencyRequirement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentDependencyRequirement) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentDependencyRequirement) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentDependencyRequirement"} + if s.VersionRequirement != nil && len(*s.VersionRequirement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionRequirement", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDependencyType sets the DependencyType field's value. +func (s *ComponentDependencyRequirement) SetDependencyType(v string) *ComponentDependencyRequirement { + s.DependencyType = &v + return s +} + +// SetVersionRequirement sets the VersionRequirement field's value. +func (s *ComponentDependencyRequirement) SetVersionRequirement(v string) *ComponentDependencyRequirement { + s.VersionRequirement = &v + return s +} + +// Contains information about a component to deploy. +type ComponentDeploymentSpecification struct { + _ struct{} `type:"structure"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // The configuration updates to deploy for the component. You can define reset + // updates and merge updates. A reset updates the keys that you specify to the + // default configuration for the component. A merge updates the core device's + // component configuration with the keys and values that you specify. The AWS + // IoT Greengrass Core software applies reset updates before it applies merge + // updates. For more information, see Update component configurations (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html) + // in the AWS IoT Greengrass V2 Developer Guide. + ConfigurationUpdate *ComponentConfigurationUpdate `locationName:"configurationUpdate" type:"structure"` + + // The system user and group that the AWS IoT Greengrass Core software uses + // to run component processes on the core device. If you omit this parameter, + // the AWS IoT Greengrass Core software uses the system user and group that + // you configure for the core device. For more information, see Configure the + // user and group that run components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user) + // in the AWS IoT Greengrass V2 Developer Guide. + RunWith *ComponentRunWith `locationName:"runWith" type:"structure"` +} + +// String returns the string representation +func (s ComponentDeploymentSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentDeploymentSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentDeploymentSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentDeploymentSpecification"} + if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) + } + if s.ConfigurationUpdate != nil { + if err := s.ConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("ConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + if s.RunWith != nil { + if err := s.RunWith.Validate(); err != nil { + invalidParams.AddNested("RunWith", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *ComponentDeploymentSpecification) SetComponentVersion(v string) *ComponentDeploymentSpecification { + s.ComponentVersion = &v + return s +} + +// SetConfigurationUpdate sets the ConfigurationUpdate field's value. +func (s *ComponentDeploymentSpecification) SetConfigurationUpdate(v *ComponentConfigurationUpdate) *ComponentDeploymentSpecification { + s.ConfigurationUpdate = v + return s +} + +// SetRunWith sets the RunWith field's value. +func (s *ComponentDeploymentSpecification) SetRunWith(v *ComponentRunWith) *ComponentDeploymentSpecification { + s.RunWith = v + return s +} + +// Contains information about the latest version of a component. +type ComponentLatestVersion struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + Arn *string `locationName:"arn" type:"string"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // The time at which the component was created, expressed in ISO 8601 format. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // The description of the component version. + Description *string `locationName:"description" min:"1" type:"string"` + + // The platforms that the component version supports. + Platforms []*ComponentPlatform `locationName:"platforms" type:"list"` + + // The publisher of the component version. + Publisher *string `locationName:"publisher" min:"1" type:"string"` +} + +// String returns the string representation +func (s ComponentLatestVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentLatestVersion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ComponentLatestVersion) SetArn(v string) *ComponentLatestVersion { + s.Arn = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *ComponentLatestVersion) SetComponentVersion(v string) *ComponentLatestVersion { + s.ComponentVersion = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *ComponentLatestVersion) SetCreationTimestamp(v time.Time) *ComponentLatestVersion { + s.CreationTimestamp = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentLatestVersion) SetDescription(v string) *ComponentLatestVersion { + s.Description = &v + return s +} + +// SetPlatforms sets the Platforms field's value. +func (s *ComponentLatestVersion) SetPlatforms(v []*ComponentPlatform) *ComponentLatestVersion { + s.Platforms = v + return s +} + +// SetPublisher sets the Publisher field's value. +func (s *ComponentLatestVersion) SetPublisher(v string) *ComponentLatestVersion { + s.Publisher = &v + return s +} + +// Contains information about a platform that a component supports. +type ComponentPlatform struct { + _ struct{} `type:"structure"` + + // A dictionary of attributes for the platform. The AWS IoT Greengrass Core + // software defines the os and platform by default. You can specify additional + // platform attributes for a core device when you deploy the AWS IoT Greengrass + // nucleus component. For more information, see the AWS IoT Greengrass nucleus + // component (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) + // in the AWS IoT Greengrass V2 Developer Guide. + Attributes map[string]*string `locationName:"attributes" type:"map"` + + // The friendly name of the platform. This name helps you identify the platform. + // + // If you omit this parameter, AWS IoT Greengrass creates a friendly name from + // the os and architecture of the platform. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation +func (s ComponentPlatform) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentPlatform) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentPlatform) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentPlatform"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *ComponentPlatform) SetAttributes(v map[string]*string) *ComponentPlatform { + s.Attributes = v + return s +} + +// SetName sets the Name field's value. +func (s *ComponentPlatform) SetName(v string) *ComponentPlatform { + s.Name = &v + return s +} + +// Contains information system user and group that the AWS IoT Greengrass Core +// software uses to run component processes on the core device. For more information, +// see Configure the user and group that run components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user) +// in the AWS IoT Greengrass V2 Developer Guide. +type ComponentRunWith struct { + _ struct{} `type:"structure"` + + // The POSIX system user and (optional) group to use to run this component. + // Specify the user and group separated by a colon (:) in the following format: + // user:group. The group is optional. If you don't specify a group, the AWS + // IoT Greengrass Core software uses the primary user for the group. + PosixUser *string `locationName:"posixUser" min:"1" type:"string"` +} + +// String returns the string representation +func (s ComponentRunWith) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentRunWith) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentRunWith) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentRunWith"} + if s.PosixUser != nil && len(*s.PosixUser) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PosixUser", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPosixUser sets the PosixUser field's value. +func (s *ComponentRunWith) SetPosixUser(v string) *ComponentRunWith { + s.PosixUser = &v + return s +} + +// Contains information about a component version in a list. +type ComponentVersionListItem struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` +} + +// String returns the string representation +func (s ComponentVersionListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComponentVersionListItem) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ComponentVersionListItem) SetArn(v string) *ComponentVersionListItem { + s.Arn = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *ComponentVersionListItem) SetComponentName(v string) *ComponentVersionListItem { + s.ComponentName = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *ComponentVersionListItem) SetComponentVersion(v string) *ComponentVersionListItem { + s.ComponentVersion = &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 ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The ID of the resource that conflicts with the request. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the resource that conflicts with the request. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Contains information about a AWS IoT Greengrass core device, which is an +// AWS IoT thing that runs the AWS IoT Greengrass Core software. +type CoreDevice struct { + _ struct{} `type:"structure"` + + // The name of the core device. This is also the name of the AWS IoT thing. + CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string"` + + // The time at which the core device's status last updated, expressed in ISO + // 8601 format. + LastStatusUpdateTimestamp *time.Time `locationName:"lastStatusUpdateTimestamp" type:"timestamp"` + + // The status of the core device. Core devices can have the following statuses: + // + // * HEALTHY – The AWS IoT Greengrass Core software and all components + // run on the core device without issue. + // + // * UNHEALTHY – The AWS IoT Greengrass Core software or a component is + // in a failed state on the core device. + Status *string `locationName:"status" type:"string" enum:"CoreDeviceStatus"` +} + +// String returns the string representation +func (s CoreDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CoreDevice) GoString() string { + return s.String() +} + +// SetCoreDeviceThingName sets the CoreDeviceThingName field's value. +func (s *CoreDevice) SetCoreDeviceThingName(v string) *CoreDevice { + s.CoreDeviceThingName = &v + return s +} + +// SetLastStatusUpdateTimestamp sets the LastStatusUpdateTimestamp field's value. +func (s *CoreDevice) SetLastStatusUpdateTimestamp(v time.Time) *CoreDevice { + s.LastStatusUpdateTimestamp = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CoreDevice) SetStatus(v string) *CoreDevice { + s.Status = &v + return s +} + +type CreateComponentVersionInput struct { + _ struct{} `type:"structure"` + + // The recipe to use to create the component. The recipe defines the component's + // metadata, parameters, dependencies, lifecycle, artifacts, and platform compatibility. + // + // You must specify either inlineRecipe or lambdaFunction. + // + // InlineRecipe is automatically base64 encoded/decoded by the SDK. + InlineRecipe []byte `locationName:"inlineRecipe" type:"blob"` + + // The parameters to create a component from a Lambda function. + // + // You must specify either inlineRecipe or lambdaFunction. + LambdaFunction *LambdaFunctionRecipeSource `locationName:"lambdaFunction" type:"structure"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s CreateComponentVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateComponentVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateComponentVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateComponentVersionInput"} + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.LambdaFunction != nil { + if err := s.LambdaFunction.Validate(); err != nil { + invalidParams.AddNested("LambdaFunction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInlineRecipe sets the InlineRecipe field's value. +func (s *CreateComponentVersionInput) SetInlineRecipe(v []byte) *CreateComponentVersionInput { + s.InlineRecipe = v + return s +} + +// SetLambdaFunction sets the LambdaFunction field's value. +func (s *CreateComponentVersionInput) SetLambdaFunction(v *LambdaFunctionRecipeSource) *CreateComponentVersionInput { + s.LambdaFunction = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateComponentVersionInput) SetTags(v map[string]*string) *CreateComponentVersionInput { + s.Tags = v + return s +} + +type CreateComponentVersionOutput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + Arn *string `locationName:"arn" type:"string"` + + // The name of the component. + // + // ComponentName is a required field + ComponentName *string `locationName:"componentName" min:"1" type:"string" required:"true"` + + // The version of the component. + // + // ComponentVersion is a required field + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string" required:"true"` + + // The time at which the component was created, expressed in ISO 8601 format. + // + // CreationTimestamp is a required field + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" required:"true"` + + // The status of the component version in AWS IoT Greengrass V2. This status + // is different from the status of the component on a core device. + // + // Status is a required field + Status *CloudComponentStatus `locationName:"status" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateComponentVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateComponentVersionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateComponentVersionOutput) SetArn(v string) *CreateComponentVersionOutput { + s.Arn = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *CreateComponentVersionOutput) SetComponentName(v string) *CreateComponentVersionOutput { + s.ComponentName = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *CreateComponentVersionOutput) SetComponentVersion(v string) *CreateComponentVersionOutput { + s.ComponentVersion = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *CreateComponentVersionOutput) SetCreationTimestamp(v time.Time) *CreateComponentVersionOutput { + s.CreationTimestamp = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateComponentVersionOutput) SetStatus(v *CloudComponentStatus) *CreateComponentVersionOutput { + s.Status = v + return s +} + +type CreateDeploymentInput struct { + _ struct{} `type:"structure"` + + // The components to deploy. This is a dictionary, where each key is the name + // of a component, and each key's value is the version and configuration to + // deploy for that component. + Components map[string]*ComponentDeploymentSpecification `locationName:"components" type:"map"` + + // The name of the deployment. + // + // You can create deployments without names. If you create a deployment without + // a name, the AWS IoT Greengrass V2 console shows the deployment name as :, + // where targetType and targetName are the type and name of the deployment target. + DeploymentName *string `locationName:"deploymentName" min:"1" type:"string"` + + // The deployment policies for the deployment. These policies define how the + // deployment updates components and handles failure. + DeploymentPolicies *DeploymentPolicies `locationName:"deploymentPolicies" type:"structure"` + + // The job configuration for the deployment configuration. The job configuration + // specifies the rollout, timeout, and stop configurations for the deployment + // configuration. + IotJobConfiguration *DeploymentIoTJobConfiguration `locationName:"iotJobConfiguration" type:"structure"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer 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 target AWS IoT thing or thing group. + // + // TargetArn is a required field + TargetArn *string `locationName:"targetArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"} + if s.DeploymentName != nil && len(*s.DeploymentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentName", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.TargetArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetArn")) + } + 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 s.IotJobConfiguration != nil { + if err := s.IotJobConfiguration.Validate(); err != nil { + invalidParams.AddNested("IotJobConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponents sets the Components field's value. +func (s *CreateDeploymentInput) SetComponents(v map[string]*ComponentDeploymentSpecification) *CreateDeploymentInput { + s.Components = v + return s +} + +// SetDeploymentName sets the DeploymentName field's value. +func (s *CreateDeploymentInput) SetDeploymentName(v string) *CreateDeploymentInput { + s.DeploymentName = &v + return s +} + +// SetDeploymentPolicies sets the DeploymentPolicies field's value. +func (s *CreateDeploymentInput) SetDeploymentPolicies(v *DeploymentPolicies) *CreateDeploymentInput { + s.DeploymentPolicies = v + return s +} + +// SetIotJobConfiguration sets the IotJobConfiguration field's value. +func (s *CreateDeploymentInput) SetIotJobConfiguration(v *DeploymentIoTJobConfiguration) *CreateDeploymentInput { + s.IotJobConfiguration = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDeploymentInput) SetTags(v map[string]*string) *CreateDeploymentInput { + s.Tags = v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *CreateDeploymentInput) SetTargetArn(v string) *CreateDeploymentInput { + s.TargetArn = &v + return s +} + +type CreateDeploymentOutput struct { + _ struct{} `type:"structure"` + + // The ID of the deployment. + DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the AWS IoT job that applies the deployment to target devices. + IotJobArn *string `locationName:"iotJobArn" type:"string"` + + // The ID of the AWS IoT job that applies the deployment to target devices. + IotJobId *string `locationName:"iotJobId" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeploymentOutput) GoString() string { + return s.String() +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput { + s.DeploymentId = &v + return s +} + +// SetIotJobArn sets the IotJobArn field's value. +func (s *CreateDeploymentOutput) SetIotJobArn(v string) *CreateDeploymentOutput { + s.IotJobArn = &v + return s +} + +// SetIotJobId sets the IotJobId field's value. +func (s *CreateDeploymentOutput) SetIotJobId(v string) *CreateDeploymentOutput { + s.IotJobId = &v + return s +} + +type DeleteComponentInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteComponentInput) SetArn(v string) *DeleteComponentInput { + s.Arn = &v + return s +} + +type DeleteComponentOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteComponentOutput) GoString() string { + return s.String() +} + +type DeleteCoreDeviceInput struct { + _ struct{} `type:"structure"` + + // The name of the core device. This is also the name of the AWS IoT thing. + // + // CoreDeviceThingName is a required field + CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCoreDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCoreDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCoreDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCoreDeviceInput"} + if s.CoreDeviceThingName == nil { + invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) + } + if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCoreDeviceThingName sets the CoreDeviceThingName field's value. +func (s *DeleteCoreDeviceInput) SetCoreDeviceThingName(v string) *DeleteCoreDeviceInput { + s.CoreDeviceThingName = &v + return s +} + +type DeleteCoreDeviceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCoreDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCoreDeviceOutput) GoString() string { + return s.String() +} + +// Contains information about a deployment. +type Deployment struct { + _ struct{} `type:"structure"` + + // The time at which the deployment was created, expressed in ISO 8601 format. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // The ID of the deployment. + DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` + + // The name of the deployment. + // + // You can create deployments without names. If you create a deployment without + // a name, the AWS IoT Greengrass V2 console shows the deployment name as :, + // where targetType and targetName are the type and name of the deployment target. + DeploymentName *string `locationName:"deploymentName" min:"1" type:"string"` + + // The status of the deployment. + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` + + // Whether or not the deployment is the latest revision for its target. + IsLatestForTarget *bool `locationName:"isLatestForTarget" type:"boolean"` + + // The revision number of the deployment. + RevisionId *string `locationName:"revisionId" min:"1" type:"string"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the target AWS IoT thing or thing group. + TargetArn *string `locationName:"targetArn" type:"string"` +} + +// String returns the string representation +func (s Deployment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Deployment) GoString() string { + return s.String() +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *Deployment) SetCreationTimestamp(v time.Time) *Deployment { + s.CreationTimestamp = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *Deployment) SetDeploymentId(v string) *Deployment { + s.DeploymentId = &v + return s +} + +// SetDeploymentName sets the DeploymentName field's value. +func (s *Deployment) SetDeploymentName(v string) *Deployment { + s.DeploymentName = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *Deployment) SetDeploymentStatus(v string) *Deployment { + s.DeploymentStatus = &v + return s +} + +// SetIsLatestForTarget sets the IsLatestForTarget field's value. +func (s *Deployment) SetIsLatestForTarget(v bool) *Deployment { + s.IsLatestForTarget = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *Deployment) SetRevisionId(v string) *Deployment { + s.RevisionId = &v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *Deployment) SetTargetArn(v string) *Deployment { + s.TargetArn = &v + return s +} + +// Contains information about a deployment's policy that defines when components +// are safe to update. +// +// Each component on a device can report whether or not it's ready to update. +// After a component and its dependencies are ready, they can apply the update +// in the deployment. You can configure whether or not the deployment notifies +// components of an update and waits for a response. You specify the amount +// of time each component has to respond to the update notification. +type DeploymentComponentUpdatePolicy struct { + _ struct{} `type:"structure"` + + // Whether or not to notify components and wait for components to become safe + // to update. Choose from the following options: + // + // * NOTIFY_COMPONENTS – The deployment notifies each component before + // it stops and updates that component. Components can use the SubscribeToComponentUpdates + // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetocomponentupdates) + // IPC operation to receive these notifications. Then, components can respond + // with the DeferComponentUpdate (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-defercomponentupdate) + // IPC operation. For more information, see the Create deployments (https://docs.aws.amazon.com/greengrass/v2/latest/developerguide/create-deployments.html) + // in the AWS IoT Greengrass V2 Developer Guide. + // + // * SKIP_NOTIFY_COMPONENTS – The deployment doesn't notify components + // or wait for them to be safe to update. + // + // Default: NOTIFY_COMPONENTS + Action *string `locationName:"action" type:"string" enum:"DeploymentComponentUpdatePolicyAction"` + + // The amount of time in seconds that each component on a device has to report + // that it's safe to update. If the component waits for longer than this timeout, + // then the deployment proceeds on the device. + // + // Default: 60 + TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` +} + +// String returns the string representation +func (s DeploymentComponentUpdatePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentComponentUpdatePolicy) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *DeploymentComponentUpdatePolicy) SetAction(v string) *DeploymentComponentUpdatePolicy { + s.Action = &v + return s +} + +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *DeploymentComponentUpdatePolicy) SetTimeoutInSeconds(v int64) *DeploymentComponentUpdatePolicy { + s.TimeoutInSeconds = &v + return s +} + +// Contains information about how long a component on a core device can validate +// its configuration updates before it times out. Components can use the SubscribeToValidateConfigurationUpdates +// (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetovalidateconfigurationupdates) +// IPC operation to receive notifications when a deployment specifies a configuration +// update. Then, components can respond with the SendConfigurationValidityReport +// (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-sendconfigurationvalidityreport) +// IPC operation. For more information, see the Create deployments (https://docs.aws.amazon.com/greengrass/v2/latest/developerguide/create-deployments.html) +// in the AWS IoT Greengrass V2 Developer Guide. +type DeploymentConfigurationValidationPolicy struct { + _ struct{} `type:"structure"` + + // The amount of time in seconds that a component can validate its configuration + // updates. If the validation time exceeds this timeout, then the deployment + // proceeds for the device. + // + // Default: 30 + TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` +} + +// String returns the string representation +func (s DeploymentConfigurationValidationPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentConfigurationValidationPolicy) GoString() string { + return s.String() +} + +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *DeploymentConfigurationValidationPolicy) SetTimeoutInSeconds(v int64) *DeploymentConfigurationValidationPolicy { + s.TimeoutInSeconds = &v + return s +} + +// Contains information about an AWS IoT job configuration. +type DeploymentIoTJobConfiguration struct { + _ struct{} `type:"structure"` + + // The stop configuration for the job. This configuration defines when and how + // to stop a job rollout. + AbortConfig *IoTJobAbortConfig `locationName:"abortConfig" type:"structure"` + + // The rollout configuration for the job. This configuration defines the rate + // at which the job rolls out to the fleet of target devices. + JobExecutionsRolloutConfig *IoTJobExecutionsRolloutConfig `locationName:"jobExecutionsRolloutConfig" type:"structure"` + + // The timeout configuration for the job. This configuration defines the amount + // of time each device has to complete the job. + TimeoutConfig *IoTJobTimeoutConfig `locationName:"timeoutConfig" type:"structure"` +} + +// String returns the string representation +func (s DeploymentIoTJobConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentIoTJobConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeploymentIoTJobConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeploymentIoTJobConfiguration"} + if s.AbortConfig != nil { + if err := s.AbortConfig.Validate(); err != nil { + invalidParams.AddNested("AbortConfig", err.(request.ErrInvalidParams)) + } + } + if s.JobExecutionsRolloutConfig != nil { + if err := s.JobExecutionsRolloutConfig.Validate(); err != nil { + invalidParams.AddNested("JobExecutionsRolloutConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAbortConfig sets the AbortConfig field's value. +func (s *DeploymentIoTJobConfiguration) SetAbortConfig(v *IoTJobAbortConfig) *DeploymentIoTJobConfiguration { + s.AbortConfig = v + return s +} + +// SetJobExecutionsRolloutConfig sets the JobExecutionsRolloutConfig field's value. +func (s *DeploymentIoTJobConfiguration) SetJobExecutionsRolloutConfig(v *IoTJobExecutionsRolloutConfig) *DeploymentIoTJobConfiguration { + s.JobExecutionsRolloutConfig = v + return s +} + +// SetTimeoutConfig sets the TimeoutConfig field's value. +func (s *DeploymentIoTJobConfiguration) SetTimeoutConfig(v *IoTJobTimeoutConfig) *DeploymentIoTJobConfiguration { + s.TimeoutConfig = v + return s +} + +// Contains information about policies that define how a deployment updates +// components and handles failure. +type DeploymentPolicies struct { + _ struct{} `type:"structure"` + + // The component update policy for the configuration deployment. This policy + // defines when it's safe to deploy the configuration to devices. + ComponentUpdatePolicy *DeploymentComponentUpdatePolicy `locationName:"componentUpdatePolicy" type:"structure"` + + // The configuration validation policy for the configuration deployment. This + // policy defines how long each component has to validate its configure updates. + ConfigurationValidationPolicy *DeploymentConfigurationValidationPolicy `locationName:"configurationValidationPolicy" type:"structure"` + + // The failure handling policy for the configuration deployment. This policy + // defines what to do if the deployment fails. + // + // Default: ROLLBACK + FailureHandlingPolicy *string `locationName:"failureHandlingPolicy" type:"string" enum:"DeploymentFailureHandlingPolicy"` +} + +// String returns the string representation +func (s DeploymentPolicies) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentPolicies) GoString() string { + return s.String() +} + +// SetComponentUpdatePolicy sets the ComponentUpdatePolicy field's value. +func (s *DeploymentPolicies) SetComponentUpdatePolicy(v *DeploymentComponentUpdatePolicy) *DeploymentPolicies { + s.ComponentUpdatePolicy = v + return s +} + +// SetConfigurationValidationPolicy sets the ConfigurationValidationPolicy field's value. +func (s *DeploymentPolicies) SetConfigurationValidationPolicy(v *DeploymentConfigurationValidationPolicy) *DeploymentPolicies { + s.ConfigurationValidationPolicy = v + return s +} + +// SetFailureHandlingPolicy sets the FailureHandlingPolicy field's value. +func (s *DeploymentPolicies) SetFailureHandlingPolicy(v string) *DeploymentPolicies { + s.FailureHandlingPolicy = &v + return s +} + +type DescribeComponentInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeComponentInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DescribeComponentInput) SetArn(v string) *DescribeComponentInput { + s.Arn = &v + return s +} + +type DescribeComponentOutput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + Arn *string `locationName:"arn" type:"string"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // The time at which the component was created, expressed in ISO 8601 format. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // The description of the component version. + Description *string `locationName:"description" type:"string"` + + // The platforms that the component version supports. + Platforms []*ComponentPlatform `locationName:"platforms" type:"list"` + + // The publisher of the component version. + Publisher *string `locationName:"publisher" type:"string"` + + // The status of the component version in AWS IoT Greengrass V2. This status + // is different from the status of the component on a core device. + Status *CloudComponentStatus `locationName:"status" type:"structure"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s DescribeComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeComponentOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeComponentOutput) SetArn(v string) *DescribeComponentOutput { + s.Arn = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *DescribeComponentOutput) SetComponentName(v string) *DescribeComponentOutput { + s.ComponentName = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *DescribeComponentOutput) SetComponentVersion(v string) *DescribeComponentOutput { + s.ComponentVersion = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *DescribeComponentOutput) SetCreationTimestamp(v time.Time) *DescribeComponentOutput { + s.CreationTimestamp = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeComponentOutput) SetDescription(v string) *DescribeComponentOutput { + s.Description = &v + return s +} + +// SetPlatforms sets the Platforms field's value. +func (s *DescribeComponentOutput) SetPlatforms(v []*ComponentPlatform) *DescribeComponentOutput { + s.Platforms = v + return s +} + +// SetPublisher sets the Publisher field's value. +func (s *DescribeComponentOutput) SetPublisher(v string) *DescribeComponentOutput { + s.Publisher = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeComponentOutput) SetStatus(v *CloudComponentStatus) *DescribeComponentOutput { + s.Status = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeComponentOutput) SetTags(v map[string]*string) *DescribeComponentOutput { + s.Tags = v + return s +} + +// Contains information about a deployment job that AWS IoT Greengrass sends +// to a AWS IoT Greengrass core device. +type EffectiveDeployment struct { + _ struct{} `type:"structure"` + + // The status of the deployment job on the AWS IoT Greengrass core device. + // + // CoreDeviceExecutionStatus is a required field + CoreDeviceExecutionStatus *string `locationName:"coreDeviceExecutionStatus" type:"string" required:"true" enum:"EffectiveDeploymentExecutionStatus"` + + // The time at which the deployment was created, expressed in ISO 8601 format. + // + // CreationTimestamp is a required field + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" required:"true"` + + // The ID of the deployment. + // + // DeploymentId is a required field + DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` + + // The name of the deployment. + // + // You can create deployments without names. If you create a deployment without + // a name, the AWS IoT Greengrass V2 console shows the deployment name as :, + // where targetType and targetName are the type and name of the deployment target. + // + // DeploymentName is a required field + DeploymentName *string `locationName:"deploymentName" type:"string" required:"true"` + + // The description of the deployment job. + 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 AWS IoT job that applies the deployment to target devices. + IotJobArn *string `locationName:"iotJobArn" type:"string"` + + // The ID of the AWS IoT job that applies the deployment to target devices. + IotJobId *string `locationName:"iotJobId" min:"1" type:"string"` + + // The time at which the deployment job was last modified, expressed in ISO + // 8601 format. + // + // ModifiedTimestamp is a required field + ModifiedTimestamp *time.Time `locationName:"modifiedTimestamp" type:"timestamp" required:"true"` + + // The reason code for the update, if the job was updated. + Reason *string `locationName:"reason" type:"string"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the target AWS IoT thing or thing group. + // + // TargetArn is a required field + TargetArn *string `locationName:"targetArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s EffectiveDeployment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EffectiveDeployment) GoString() string { + return s.String() +} + +// SetCoreDeviceExecutionStatus sets the CoreDeviceExecutionStatus field's value. +func (s *EffectiveDeployment) SetCoreDeviceExecutionStatus(v string) *EffectiveDeployment { + s.CoreDeviceExecutionStatus = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *EffectiveDeployment) SetCreationTimestamp(v time.Time) *EffectiveDeployment { + s.CreationTimestamp = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *EffectiveDeployment) SetDeploymentId(v string) *EffectiveDeployment { + s.DeploymentId = &v + return s +} + +// SetDeploymentName sets the DeploymentName field's value. +func (s *EffectiveDeployment) SetDeploymentName(v string) *EffectiveDeployment { + s.DeploymentName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *EffectiveDeployment) SetDescription(v string) *EffectiveDeployment { + s.Description = &v + return s +} + +// SetIotJobArn sets the IotJobArn field's value. +func (s *EffectiveDeployment) SetIotJobArn(v string) *EffectiveDeployment { + s.IotJobArn = &v + return s +} + +// SetIotJobId sets the IotJobId field's value. +func (s *EffectiveDeployment) SetIotJobId(v string) *EffectiveDeployment { + s.IotJobId = &v + return s +} + +// SetModifiedTimestamp sets the ModifiedTimestamp field's value. +func (s *EffectiveDeployment) SetModifiedTimestamp(v time.Time) *EffectiveDeployment { + s.ModifiedTimestamp = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *EffectiveDeployment) SetReason(v string) *EffectiveDeployment { + s.Reason = &v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *EffectiveDeployment) SetTargetArn(v string) *EffectiveDeployment { + s.TargetArn = &v + return s +} + +type GetComponentInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + + // The format of the recipe. + RecipeOutputFormat *string `location:"querystring" locationName:"recipeOutputFormat" type:"string" enum:"RecipeOutputFormat"` +} + +// String returns the string representation +func (s GetComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetComponentInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetComponentInput) SetArn(v string) *GetComponentInput { + s.Arn = &v + return s +} + +// SetRecipeOutputFormat sets the RecipeOutputFormat field's value. +func (s *GetComponentInput) SetRecipeOutputFormat(v string) *GetComponentInput { + s.RecipeOutputFormat = &v + return s +} + +type GetComponentOutput struct { + _ struct{} `type:"structure"` + + // The recipe of the component version. + // + // Recipe is automatically base64 encoded/decoded by the SDK. + // + // Recipe is a required field + Recipe []byte `locationName:"recipe" type:"blob" required:"true"` + + // The format of the recipe. + // + // RecipeOutputFormat is a required field + RecipeOutputFormat *string `locationName:"recipeOutputFormat" type:"string" required:"true" enum:"RecipeOutputFormat"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s GetComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentOutput) GoString() string { + return s.String() +} + +// SetRecipe sets the Recipe field's value. +func (s *GetComponentOutput) SetRecipe(v []byte) *GetComponentOutput { + s.Recipe = v + return s +} + +// SetRecipeOutputFormat sets the RecipeOutputFormat field's value. +func (s *GetComponentOutput) SetRecipeOutputFormat(v string) *GetComponentOutput { + s.RecipeOutputFormat = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetComponentOutput) SetTags(v map[string]*string) *GetComponentOutput { + s.Tags = v + return s +} + +type GetComponentVersionArtifactInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + + // The name of the artifact. + // + // ArtifactName is a required field + ArtifactName *string `location:"uri" locationName:"artifactName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetComponentVersionArtifactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentVersionArtifactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetComponentVersionArtifactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetComponentVersionArtifactInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ArtifactName == nil { + invalidParams.Add(request.NewErrParamRequired("ArtifactName")) + } + if s.ArtifactName != nil && len(*s.ArtifactName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ArtifactName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetComponentVersionArtifactInput) SetArn(v string) *GetComponentVersionArtifactInput { + s.Arn = &v + return s +} + +// SetArtifactName sets the ArtifactName field's value. +func (s *GetComponentVersionArtifactInput) SetArtifactName(v string) *GetComponentVersionArtifactInput { + s.ArtifactName = &v + return s +} + +type GetComponentVersionArtifactOutput struct { + _ struct{} `type:"structure"` + + // The URL to the artifact. + // + // PreSignedUrl is a required field + PreSignedUrl *string `locationName:"preSignedUrl" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetComponentVersionArtifactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentVersionArtifactOutput) GoString() string { + return s.String() +} + +// SetPreSignedUrl sets the PreSignedUrl field's value. +func (s *GetComponentVersionArtifactOutput) SetPreSignedUrl(v string) *GetComponentVersionArtifactOutput { + s.PreSignedUrl = &v + return s +} + +type GetCoreDeviceInput struct { + _ struct{} `type:"structure"` + + // The name of the core device. This is also the name of the AWS IoT thing. + // + // CoreDeviceThingName is a required field + CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetCoreDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCoreDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCoreDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCoreDeviceInput"} + if s.CoreDeviceThingName == nil { + invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) + } + if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCoreDeviceThingName sets the CoreDeviceThingName field's value. +func (s *GetCoreDeviceInput) SetCoreDeviceThingName(v string) *GetCoreDeviceInput { + s.CoreDeviceThingName = &v + return s +} + +type GetCoreDeviceOutput struct { + _ struct{} `type:"structure"` + + // The computer architecture of the core device. + Architecture *string `locationName:"architecture" min:"1" type:"string"` + + // The name of the core device. This is also the name of the AWS IoT thing. + CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string"` + + // The version of the AWS IoT Greengrass Core software that the core device + // runs. This version is equivalent to the version of the AWS IoT Greengrass + // nucleus component that runs on the core device. For more information, see + // the AWS IoT Greengrass nucleus component (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) + // in the AWS IoT Greengrass V2 Developer Guide. + CoreVersion *string `locationName:"coreVersion" min:"1" type:"string"` + + // The time at which the core device's status last updated, expressed in ISO + // 8601 format. + LastStatusUpdateTimestamp *time.Time `locationName:"lastStatusUpdateTimestamp" type:"timestamp"` + + // The operating system platform that the core device runs. + Platform *string `locationName:"platform" min:"1" type:"string"` + + // The status of the core device. The core device status can be: + // + // * HEALTHY – The AWS IoT Greengrass Core software and all components + // run on the core device without issue. + // + // * UNHEALTHY – The AWS IoT Greengrass Core software or a component is + // in a failed state on the core device. + Status *string `locationName:"status" type:"string" enum:"CoreDeviceStatus"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s GetCoreDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCoreDeviceOutput) GoString() string { + return s.String() +} + +// SetArchitecture sets the Architecture field's value. +func (s *GetCoreDeviceOutput) SetArchitecture(v string) *GetCoreDeviceOutput { + s.Architecture = &v + return s +} + +// SetCoreDeviceThingName sets the CoreDeviceThingName field's value. +func (s *GetCoreDeviceOutput) SetCoreDeviceThingName(v string) *GetCoreDeviceOutput { + s.CoreDeviceThingName = &v + return s +} + +// SetCoreVersion sets the CoreVersion field's value. +func (s *GetCoreDeviceOutput) SetCoreVersion(v string) *GetCoreDeviceOutput { + s.CoreVersion = &v + return s +} + +// SetLastStatusUpdateTimestamp sets the LastStatusUpdateTimestamp field's value. +func (s *GetCoreDeviceOutput) SetLastStatusUpdateTimestamp(v time.Time) *GetCoreDeviceOutput { + s.LastStatusUpdateTimestamp = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *GetCoreDeviceOutput) SetPlatform(v string) *GetCoreDeviceOutput { + s.Platform = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetCoreDeviceOutput) SetStatus(v string) *GetCoreDeviceOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetCoreDeviceOutput) SetTags(v map[string]*string) *GetCoreDeviceOutput { + s.Tags = v + return s +} + +type GetDeploymentInput struct { + _ struct{} `type:"structure"` + + // The ID of the deployment. + // + // DeploymentId is a required field + DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"} + if s.DeploymentId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentId")) + } + if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput { + s.DeploymentId = &v + return s +} + +type GetDeploymentOutput struct { + _ struct{} `type:"structure"` + + // The components to deploy. This is a dictionary, where each key is the name + // of a component, and each key's value is the version and configuration to + // deploy for that component. + Components map[string]*ComponentDeploymentSpecification `locationName:"components" type:"map"` + + // The time at which the deployment was created, expressed in ISO 8601 format. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // The ID of the deployment. + DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` + + // The name of the deployment. + // + // You can create deployments without names. If you create a deployment without + // a name, the AWS IoT Greengrass V2 console shows the deployment name as :, + // where targetType and targetName are the type and name of the deployment target. + DeploymentName *string `locationName:"deploymentName" type:"string"` + + // The deployment policies for the deployment. These policies define how the + // deployment updates components and handles failure. + DeploymentPolicies *DeploymentPolicies `locationName:"deploymentPolicies" type:"structure"` + + // The status of the deployment. + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the AWS IoT job that applies the deployment to target devices. + IotJobArn *string `locationName:"iotJobArn" type:"string"` + + // The job configuration for the deployment configuration. The job configuration + // specifies the rollout, timeout, and stop configurations for the deployment + // configuration. + IotJobConfiguration *DeploymentIoTJobConfiguration `locationName:"iotJobConfiguration" type:"structure"` + + // The ID of the AWS IoT job that applies the deployment to target devices. + IotJobId *string `locationName:"iotJobId" type:"string"` + + // Whether or not the deployment is the latest revision for its target. + IsLatestForTarget *bool `locationName:"isLatestForTarget" type:"boolean"` + + // The revision number of the deployment. + RevisionId *string `locationName:"revisionId" min:"1" type:"string"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer 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 target AWS IoT thing or thing group. + TargetArn *string `locationName:"targetArn" type:"string"` +} + +// String returns the string representation +func (s GetDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentOutput) GoString() string { + return s.String() +} + +// SetComponents sets the Components field's value. +func (s *GetDeploymentOutput) SetComponents(v map[string]*ComponentDeploymentSpecification) *GetDeploymentOutput { + s.Components = v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *GetDeploymentOutput) SetCreationTimestamp(v time.Time) *GetDeploymentOutput { + s.CreationTimestamp = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput { + s.DeploymentId = &v + return s +} + +// SetDeploymentName sets the DeploymentName field's value. +func (s *GetDeploymentOutput) SetDeploymentName(v string) *GetDeploymentOutput { + s.DeploymentName = &v + return s +} + +// SetDeploymentPolicies sets the DeploymentPolicies field's value. +func (s *GetDeploymentOutput) SetDeploymentPolicies(v *DeploymentPolicies) *GetDeploymentOutput { + s.DeploymentPolicies = v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput { + s.DeploymentStatus = &v + return s +} + +// SetIotJobArn sets the IotJobArn field's value. +func (s *GetDeploymentOutput) SetIotJobArn(v string) *GetDeploymentOutput { + s.IotJobArn = &v + return s +} + +// SetIotJobConfiguration sets the IotJobConfiguration field's value. +func (s *GetDeploymentOutput) SetIotJobConfiguration(v *DeploymentIoTJobConfiguration) *GetDeploymentOutput { + s.IotJobConfiguration = v + return s +} + +// SetIotJobId sets the IotJobId field's value. +func (s *GetDeploymentOutput) SetIotJobId(v string) *GetDeploymentOutput { + s.IotJobId = &v + return s +} + +// SetIsLatestForTarget sets the IsLatestForTarget field's value. +func (s *GetDeploymentOutput) SetIsLatestForTarget(v bool) *GetDeploymentOutput { + s.IsLatestForTarget = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *GetDeploymentOutput) SetRevisionId(v string) *GetDeploymentOutput { + s.RevisionId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetDeploymentOutput) SetTags(v map[string]*string) *GetDeploymentOutput { + s.Tags = v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *GetDeploymentOutput) SetTargetArn(v string) *GetDeploymentOutput { + s.TargetArn = &v + return s +} + +// Contains information about a component on a AWS IoT Greengrass core device. +type InstalledComponent struct { + _ struct{} `type:"structure"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // Whether or not the component is a root component. + IsRoot *bool `locationName:"isRoot" type:"boolean"` + + // The lifecycle state of the component. + LifecycleState *string `locationName:"lifecycleState" type:"string" enum:"InstalledComponentLifecycleState"` + + // The details about the lifecycle state of the component. + LifecycleStateDetails *string `locationName:"lifecycleStateDetails" min:"1" type:"string"` +} + +// String returns the string representation +func (s InstalledComponent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstalledComponent) GoString() string { + return s.String() +} + +// SetComponentName sets the ComponentName field's value. +func (s *InstalledComponent) SetComponentName(v string) *InstalledComponent { + s.ComponentName = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *InstalledComponent) SetComponentVersion(v string) *InstalledComponent { + s.ComponentVersion = &v + return s +} + +// SetIsRoot sets the IsRoot field's value. +func (s *InstalledComponent) SetIsRoot(v bool) *InstalledComponent { + s.IsRoot = &v + return s +} + +// SetLifecycleState sets the LifecycleState field's value. +func (s *InstalledComponent) SetLifecycleState(v string) *InstalledComponent { + s.LifecycleState = &v + return s +} + +// SetLifecycleStateDetails sets the LifecycleStateDetails field's value. +func (s *InstalledComponent) SetLifecycleStateDetails(v string) *InstalledComponent { + s.LifecycleStateDetails = &v + return s +} + +// AWS IoT Greengrass can't process your request right now. Try again later. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The amount of time to wait before you retry the request. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` +} + +// String returns the string representation +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Contains a list of criteria that define when and how to cancel a configuration +// deployment. +type IoTJobAbortConfig struct { + _ struct{} `type:"structure"` + + // The list of criteria that define when and how to cancel the configuration + // deployment. + // + // CriteriaList is a required field + CriteriaList []*IoTJobAbortCriteria `locationName:"criteriaList" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s IoTJobAbortConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IoTJobAbortConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IoTJobAbortConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IoTJobAbortConfig"} + if s.CriteriaList == nil { + invalidParams.Add(request.NewErrParamRequired("CriteriaList")) + } + if s.CriteriaList != nil && len(s.CriteriaList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CriteriaList", 1)) + } + if s.CriteriaList != nil { + for i, v := range s.CriteriaList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CriteriaList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCriteriaList sets the CriteriaList field's value. +func (s *IoTJobAbortConfig) SetCriteriaList(v []*IoTJobAbortCriteria) *IoTJobAbortConfig { + s.CriteriaList = v + return s +} + +// Contains criteria that define when and how to cancel a job. +// +// The deployment stops if the following conditions are true: +// +// The number of things that receive the deployment exceeds the minNumberOfExecutedThings. +// +// The percentage of failures with type failureType exceeds the thresholdPercentage. +type IoTJobAbortCriteria struct { + _ struct{} `type:"structure"` + + // The action to perform when the criteria are met. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"IoTJobAbortAction"` + + // The type of job deployment failure that can cancel a job. + // + // FailureType is a required field + FailureType *string `locationName:"failureType" type:"string" required:"true" enum:"IoTJobExecutionFailureType"` + + // The minimum number of things that receive the configuration before the job + // can cancel. + // + // MinNumberOfExecutedThings is a required field + MinNumberOfExecutedThings *int64 `locationName:"minNumberOfExecutedThings" min:"1" type:"integer" required:"true"` + + // The minimum percentage of failureType failures that occur before the job + // can cancel. + // + // This parameter supports up to two digits after the decimal (for example, + // you can specify 10.9 or 10.99, but not 10.999). + // + // ThresholdPercentage is a required field + ThresholdPercentage *float64 `locationName:"thresholdPercentage" type:"double" required:"true"` +} + +// String returns the string representation +func (s IoTJobAbortCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IoTJobAbortCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IoTJobAbortCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IoTJobAbortCriteria"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.FailureType == nil { + invalidParams.Add(request.NewErrParamRequired("FailureType")) + } + if s.MinNumberOfExecutedThings == nil { + invalidParams.Add(request.NewErrParamRequired("MinNumberOfExecutedThings")) + } + if s.MinNumberOfExecutedThings != nil && *s.MinNumberOfExecutedThings < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinNumberOfExecutedThings", 1)) + } + if s.ThresholdPercentage == nil { + invalidParams.Add(request.NewErrParamRequired("ThresholdPercentage")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *IoTJobAbortCriteria) SetAction(v string) *IoTJobAbortCriteria { + s.Action = &v + return s +} + +// SetFailureType sets the FailureType field's value. +func (s *IoTJobAbortCriteria) SetFailureType(v string) *IoTJobAbortCriteria { + s.FailureType = &v + return s +} + +// SetMinNumberOfExecutedThings sets the MinNumberOfExecutedThings field's value. +func (s *IoTJobAbortCriteria) SetMinNumberOfExecutedThings(v int64) *IoTJobAbortCriteria { + s.MinNumberOfExecutedThings = &v + return s +} + +// SetThresholdPercentage sets the ThresholdPercentage field's value. +func (s *IoTJobAbortCriteria) SetThresholdPercentage(v float64) *IoTJobAbortCriteria { + s.ThresholdPercentage = &v + return s +} + +// Contains information about the rollout configuration for a job. This configuration +// defines the rate at which the job deploys a configuration to a fleet of target +// devices. +type IoTJobExecutionsRolloutConfig struct { + _ struct{} `type:"structure"` + + // The exponential rate to increase the job rollout rate. + ExponentialRate *IoTJobExponentialRolloutRate `locationName:"exponentialRate" type:"structure"` + + // The maximum number of devices that receive a pending job notification, per + // minute. + MaximumPerMinute *int64 `locationName:"maximumPerMinute" min:"1" type:"integer"` +} + +// String returns the string representation +func (s IoTJobExecutionsRolloutConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IoTJobExecutionsRolloutConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IoTJobExecutionsRolloutConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IoTJobExecutionsRolloutConfig"} + if s.MaximumPerMinute != nil && *s.MaximumPerMinute < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaximumPerMinute", 1)) + } + if s.ExponentialRate != nil { + if err := s.ExponentialRate.Validate(); err != nil { + invalidParams.AddNested("ExponentialRate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExponentialRate sets the ExponentialRate field's value. +func (s *IoTJobExecutionsRolloutConfig) SetExponentialRate(v *IoTJobExponentialRolloutRate) *IoTJobExecutionsRolloutConfig { + s.ExponentialRate = v + return s +} + +// SetMaximumPerMinute sets the MaximumPerMinute field's value. +func (s *IoTJobExecutionsRolloutConfig) SetMaximumPerMinute(v int64) *IoTJobExecutionsRolloutConfig { + s.MaximumPerMinute = &v + return s +} + +// Contains information about an exponential rollout rate for a configuration +// deployment job. +type IoTJobExponentialRolloutRate struct { + _ struct{} `type:"structure"` + + // The minimum number of devices that receive a pending job notification, per + // minute, when the job starts. This parameter defines the initial rollout rate + // of the job. + // + // BaseRatePerMinute is a required field + BaseRatePerMinute *int64 `locationName:"baseRatePerMinute" min:"1" type:"integer" required:"true"` + + // The exponential factor to increase the rollout rate for the job. + // + // This parameter supports up to one digit after the decimal (for example, you + // can specify 1.5, but not 1.55). + // + // IncrementFactor is a required field + IncrementFactor *float64 `locationName:"incrementFactor" min:"1" type:"double" required:"true"` + + // The criteria to increase the rollout rate for the job. + // + // RateIncreaseCriteria is a required field + RateIncreaseCriteria *IoTJobRateIncreaseCriteria `locationName:"rateIncreaseCriteria" type:"structure" required:"true"` +} + +// String returns the string representation +func (s IoTJobExponentialRolloutRate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IoTJobExponentialRolloutRate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IoTJobExponentialRolloutRate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IoTJobExponentialRolloutRate"} + if s.BaseRatePerMinute == nil { + invalidParams.Add(request.NewErrParamRequired("BaseRatePerMinute")) + } + if s.BaseRatePerMinute != nil && *s.BaseRatePerMinute < 1 { + invalidParams.Add(request.NewErrParamMinValue("BaseRatePerMinute", 1)) + } + if s.IncrementFactor == nil { + invalidParams.Add(request.NewErrParamRequired("IncrementFactor")) + } + if s.IncrementFactor != nil && *s.IncrementFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("IncrementFactor", 1)) + } + if s.RateIncreaseCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("RateIncreaseCriteria")) + } + if s.RateIncreaseCriteria != nil { + if err := s.RateIncreaseCriteria.Validate(); err != nil { + invalidParams.AddNested("RateIncreaseCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBaseRatePerMinute sets the BaseRatePerMinute field's value. +func (s *IoTJobExponentialRolloutRate) SetBaseRatePerMinute(v int64) *IoTJobExponentialRolloutRate { + s.BaseRatePerMinute = &v + return s +} + +// SetIncrementFactor sets the IncrementFactor field's value. +func (s *IoTJobExponentialRolloutRate) SetIncrementFactor(v float64) *IoTJobExponentialRolloutRate { + s.IncrementFactor = &v + return s +} + +// SetRateIncreaseCriteria sets the RateIncreaseCriteria field's value. +func (s *IoTJobExponentialRolloutRate) SetRateIncreaseCriteria(v *IoTJobRateIncreaseCriteria) *IoTJobExponentialRolloutRate { + s.RateIncreaseCriteria = v + return s +} + +// Contains information about criteria to meet before a job increases its rollout +// rate. Specify either numberOfNotifiedThings or numberOfSucceededThings. +type IoTJobRateIncreaseCriteria struct { + _ struct{} `type:"structure"` + + // The number of devices to receive the job notification before the rollout + // rate increases. + NumberOfNotifiedThings *int64 `locationName:"numberOfNotifiedThings" min:"1" type:"integer"` + + // The number of devices to successfully run the configuration job before the + // rollout rate increases. + NumberOfSucceededThings *int64 `locationName:"numberOfSucceededThings" min:"1" type:"integer"` +} + +// String returns the string representation +func (s IoTJobRateIncreaseCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IoTJobRateIncreaseCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IoTJobRateIncreaseCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IoTJobRateIncreaseCriteria"} + if s.NumberOfNotifiedThings != nil && *s.NumberOfNotifiedThings < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfNotifiedThings", 1)) + } + if s.NumberOfSucceededThings != nil && *s.NumberOfSucceededThings < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfSucceededThings", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNumberOfNotifiedThings sets the NumberOfNotifiedThings field's value. +func (s *IoTJobRateIncreaseCriteria) SetNumberOfNotifiedThings(v int64) *IoTJobRateIncreaseCriteria { + s.NumberOfNotifiedThings = &v + return s +} + +// SetNumberOfSucceededThings sets the NumberOfSucceededThings field's value. +func (s *IoTJobRateIncreaseCriteria) SetNumberOfSucceededThings(v int64) *IoTJobRateIncreaseCriteria { + s.NumberOfSucceededThings = &v + return s +} + +// Contains information about the timeout configuration for a job. +type IoTJobTimeoutConfig struct { + _ struct{} `type:"structure"` + + // The amount of time, in minutes, that devices have to complete the job. The + // timer starts when the job status is set to IN_PROGRESS. If the job status + // doesn't change to a terminal state before the time expires, then the job + // status is set to TIMED_OUT. + // + // The timeout interval must be between 1 minute and 7 days (10080 minutes). + InProgressTimeoutInMinutes *int64 `locationName:"inProgressTimeoutInMinutes" type:"long"` +} + +// String returns the string representation +func (s IoTJobTimeoutConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IoTJobTimeoutConfig) GoString() string { + return s.String() +} + +// SetInProgressTimeoutInMinutes sets the InProgressTimeoutInMinutes field's value. +func (s *IoTJobTimeoutConfig) SetInProgressTimeoutInMinutes(v int64) *IoTJobTimeoutConfig { + s.InProgressTimeoutInMinutes = &v + return s +} + +// Contains information about a container in which AWS Lambda functions run +// on AWS IoT Greengrass core devices. +type LambdaContainerParams struct { + _ struct{} `type:"structure"` + + // The list of system devices that the container can access. + Devices []*LambdaDeviceMount `locationName:"devices" type:"list"` + + // The memory size of the container, expressed in kilobytes. + // + // Default: 16384 (16 MB) + MemorySizeInKB *int64 `locationName:"memorySizeInKB" type:"integer"` + + // Whether or not the container can read information from the device's /sys + // folder. + // + // Default: false + MountROSysfs *bool `locationName:"mountROSysfs" type:"boolean"` + + // The list of volumes that the container can access. + Volumes []*LambdaVolumeMount `locationName:"volumes" type:"list"` +} + +// String returns the string representation +func (s LambdaContainerParams) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaContainerParams) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaContainerParams) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaContainerParams"} + if s.Devices != nil { + for i, v := range s.Devices { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Volumes != nil { + for i, v := range s.Volumes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDevices sets the Devices field's value. +func (s *LambdaContainerParams) SetDevices(v []*LambdaDeviceMount) *LambdaContainerParams { + s.Devices = v + return s +} + +// SetMemorySizeInKB sets the MemorySizeInKB field's value. +func (s *LambdaContainerParams) SetMemorySizeInKB(v int64) *LambdaContainerParams { + s.MemorySizeInKB = &v + return s +} + +// SetMountROSysfs sets the MountROSysfs field's value. +func (s *LambdaContainerParams) SetMountROSysfs(v bool) *LambdaContainerParams { + s.MountROSysfs = &v + return s +} + +// SetVolumes sets the Volumes field's value. +func (s *LambdaContainerParams) SetVolumes(v []*LambdaVolumeMount) *LambdaContainerParams { + s.Volumes = v + return s +} + +// Contains information about a device that Linux processes in a container can +// access. +type LambdaDeviceMount struct { + _ struct{} `type:"structure"` + + // Whether or not to add the component's system user as an owner of the device. + // + // Default: false + AddGroupOwner *bool `locationName:"addGroupOwner" type:"boolean"` + + // The mount path for the device in the file system. + // + // Path is a required field + Path *string `locationName:"path" type:"string" required:"true"` + + // The permission to access the device: read/only (ro) or read/write (rw). + // + // Default: ro + Permission *string `locationName:"permission" type:"string" enum:"LambdaFilesystemPermission"` +} + +// String returns the string representation +func (s LambdaDeviceMount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaDeviceMount) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaDeviceMount) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaDeviceMount"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddGroupOwner sets the AddGroupOwner field's value. +func (s *LambdaDeviceMount) SetAddGroupOwner(v bool) *LambdaDeviceMount { + s.AddGroupOwner = &v + return s +} + +// SetPath sets the Path field's value. +func (s *LambdaDeviceMount) SetPath(v string) *LambdaDeviceMount { + s.Path = &v + return s +} + +// SetPermission sets the Permission field's value. +func (s *LambdaDeviceMount) SetPermission(v string) *LambdaDeviceMount { + s.Permission = &v + return s +} + +// Contains information about an event source for an AWS Lambda function. The +// event source defines the topics on which this Lambda function subscribes +// to receive messages that run the function. +type LambdaEventSource struct { + _ struct{} `type:"structure"` + + // The topic to which to subscribe to receive event messages. + // + // Topic is a required field + Topic *string `locationName:"topic" type:"string" required:"true"` + + // The type of event source. Choose from the following options: + // + // * PUB_SUB – Subscribe to local publish/subscribe messages. This event + // source type doesn't support MQTT wildcards (+ and #) in the event source + // topic. + // + // * IOT_CORE – Subscribe to AWS IoT Core MQTT messages. This event source + // type supports MQTT wildcards (+ and #) in the event source topic. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"LambdaEventSourceType"` +} + +// String returns the string representation +func (s LambdaEventSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaEventSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaEventSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaEventSource"} + if s.Topic == nil { + invalidParams.Add(request.NewErrParamRequired("Topic")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTopic sets the Topic field's value. +func (s *LambdaEventSource) SetTopic(v string) *LambdaEventSource { + s.Topic = &v + return s +} + +// SetType sets the Type field's value. +func (s *LambdaEventSource) SetType(v string) *LambdaEventSource { + s.Type = &v + return s +} + +// Contains parameters for a Lambda function that runs on AWS IoT Greengrass. +type LambdaExecutionParameters struct { + _ struct{} `type:"structure"` + + // The map of environment variables that are available to the Lambda function + // when it runs. + EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` + + // The list of event sources to which to subscribe to receive work messages. + // The Lambda function runs when it receives a message from an event source. + // You can subscribe this function to local publish/subscribe messages and AWS + // IoT Core MQTT messages. + EventSources []*LambdaEventSource `locationName:"eventSources" type:"list"` + + // The list of arguments to pass to the Lambda function when it runs. + ExecArgs []*string `locationName:"execArgs" type:"list"` + + // The encoding type that the Lambda function supports. + // + // Default: json + InputPayloadEncodingType *string `locationName:"inputPayloadEncodingType" type:"string" enum:"LambdaInputPayloadEncodingType"` + + // The parameters for the Linux process that contains the Lambda function. + LinuxProcessParams *LambdaLinuxProcessParams `locationName:"linuxProcessParams" type:"structure"` + + // The maximum amount of time in seconds that a non-pinned Lambda function can + // idle before the AWS IoT Greengrass Core software stops its process. + MaxIdleTimeInSeconds *int64 `locationName:"maxIdleTimeInSeconds" type:"integer"` + + // The maximum number of instances that a non-pinned Lambda function can run + // at the same time. + MaxInstancesCount *int64 `locationName:"maxInstancesCount" type:"integer"` + + // The maximum size of the message queue for the Lambda function component. + // The AWS IoT Greengrass core stores messages in a FIFO (first-in-first-out) + // queue until it can run the Lambda function to consume each message. + MaxQueueSize *int64 `locationName:"maxQueueSize" type:"integer"` + + // Whether or not the Lambda function is pinned, or long-lived. + // + // * A pinned Lambda function starts when AWS IoT Greengrass starts and keeps + // running in its own container. + // + // * A non-pinned Lambda function starts only when it receives a work item + // and exists after it idles for maxIdleTimeInSeconds. If the function has + // multiple work items, the AWS IoT Greengrass Core software creates multiple + // instances of the function. + // + // Default: true + Pinned *bool `locationName:"pinned" type:"boolean"` + + // The interval in seconds at which a pinned (also known as long-lived) Lambda + // function component sends status updates to the Lambda manager component. + StatusTimeoutInSeconds *int64 `locationName:"statusTimeoutInSeconds" type:"integer"` + + // The maximum amount of time in seconds that the Lambda function can process + // a work item. + TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` +} + +// String returns the string representation +func (s LambdaExecutionParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaExecutionParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaExecutionParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaExecutionParameters"} + if s.EventSources != nil { + for i, v := range s.EventSources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EventSources", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LinuxProcessParams != nil { + if err := s.LinuxProcessParams.Validate(); err != nil { + invalidParams.AddNested("LinuxProcessParams", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentVariables sets the EnvironmentVariables field's value. +func (s *LambdaExecutionParameters) SetEnvironmentVariables(v map[string]*string) *LambdaExecutionParameters { + s.EnvironmentVariables = v + return s +} + +// SetEventSources sets the EventSources field's value. +func (s *LambdaExecutionParameters) SetEventSources(v []*LambdaEventSource) *LambdaExecutionParameters { + s.EventSources = v + return s +} + +// SetExecArgs sets the ExecArgs field's value. +func (s *LambdaExecutionParameters) SetExecArgs(v []*string) *LambdaExecutionParameters { + s.ExecArgs = v + return s +} + +// SetInputPayloadEncodingType sets the InputPayloadEncodingType field's value. +func (s *LambdaExecutionParameters) SetInputPayloadEncodingType(v string) *LambdaExecutionParameters { + s.InputPayloadEncodingType = &v + return s +} + +// SetLinuxProcessParams sets the LinuxProcessParams field's value. +func (s *LambdaExecutionParameters) SetLinuxProcessParams(v *LambdaLinuxProcessParams) *LambdaExecutionParameters { + s.LinuxProcessParams = v + return s +} + +// SetMaxIdleTimeInSeconds sets the MaxIdleTimeInSeconds field's value. +func (s *LambdaExecutionParameters) SetMaxIdleTimeInSeconds(v int64) *LambdaExecutionParameters { + s.MaxIdleTimeInSeconds = &v + return s +} + +// SetMaxInstancesCount sets the MaxInstancesCount field's value. +func (s *LambdaExecutionParameters) SetMaxInstancesCount(v int64) *LambdaExecutionParameters { + s.MaxInstancesCount = &v + return s +} + +// SetMaxQueueSize sets the MaxQueueSize field's value. +func (s *LambdaExecutionParameters) SetMaxQueueSize(v int64) *LambdaExecutionParameters { + s.MaxQueueSize = &v + return s +} + +// SetPinned sets the Pinned field's value. +func (s *LambdaExecutionParameters) SetPinned(v bool) *LambdaExecutionParameters { + s.Pinned = &v + return s +} + +// SetStatusTimeoutInSeconds sets the StatusTimeoutInSeconds field's value. +func (s *LambdaExecutionParameters) SetStatusTimeoutInSeconds(v int64) *LambdaExecutionParameters { + s.StatusTimeoutInSeconds = &v + return s +} + +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *LambdaExecutionParameters) SetTimeoutInSeconds(v int64) *LambdaExecutionParameters { + s.TimeoutInSeconds = &v + return s +} + +// Contains information about an AWS Lambda function to import to create a component. +type LambdaFunctionRecipeSource struct { + _ struct{} `type:"structure"` + + // The component versions on which this Lambda function component depends. + ComponentDependencies map[string]*ComponentDependencyRequirement `locationName:"componentDependencies" type:"map"` + + // The system and runtime parameters for the Lambda function as it runs on the + // AWS IoT Greengrass core device. + ComponentLambdaParameters *LambdaExecutionParameters `locationName:"componentLambdaParameters" type:"structure"` + + // The name of the component. + // + // Defaults to the name of the Lambda function. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The platforms that the component version supports. + ComponentPlatforms []*ComponentPlatform `locationName:"componentPlatforms" type:"list"` + + // The version of the component. + // + // Defaults to the version of the Lambda function as a semantic version. For + // example, if your function version is 3, the component version becomes 3.0.0. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the Lambda function. The ARN must include the version of the function + // to import. You can't use version aliases like $LATEST. + // + // LambdaArn is a required field + LambdaArn *string `locationName:"lambdaArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s LambdaFunctionRecipeSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaFunctionRecipeSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaFunctionRecipeSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionRecipeSource"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) + } + if s.LambdaArn == nil { + invalidParams.Add(request.NewErrParamRequired("LambdaArn")) + } + if s.ComponentDependencies != nil { + for i, v := range s.ComponentDependencies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentDependencies", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ComponentLambdaParameters != nil { + if err := s.ComponentLambdaParameters.Validate(); err != nil { + invalidParams.AddNested("ComponentLambdaParameters", err.(request.ErrInvalidParams)) + } + } + if s.ComponentPlatforms != nil { + for i, v := range s.ComponentPlatforms { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentPlatforms", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentDependencies sets the ComponentDependencies field's value. +func (s *LambdaFunctionRecipeSource) SetComponentDependencies(v map[string]*ComponentDependencyRequirement) *LambdaFunctionRecipeSource { + s.ComponentDependencies = v + return s +} + +// SetComponentLambdaParameters sets the ComponentLambdaParameters field's value. +func (s *LambdaFunctionRecipeSource) SetComponentLambdaParameters(v *LambdaExecutionParameters) *LambdaFunctionRecipeSource { + s.ComponentLambdaParameters = v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *LambdaFunctionRecipeSource) SetComponentName(v string) *LambdaFunctionRecipeSource { + s.ComponentName = &v + return s +} + +// SetComponentPlatforms sets the ComponentPlatforms field's value. +func (s *LambdaFunctionRecipeSource) SetComponentPlatforms(v []*ComponentPlatform) *LambdaFunctionRecipeSource { + s.ComponentPlatforms = v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *LambdaFunctionRecipeSource) SetComponentVersion(v string) *LambdaFunctionRecipeSource { + s.ComponentVersion = &v + return s +} + +// SetLambdaArn sets the LambdaArn field's value. +func (s *LambdaFunctionRecipeSource) SetLambdaArn(v string) *LambdaFunctionRecipeSource { + s.LambdaArn = &v + return s +} + +// Contains parameters for a Linux process that contains an AWS Lambda function. +type LambdaLinuxProcessParams struct { + _ struct{} `type:"structure"` + + // The parameters for the container in which the Lambda function runs. + ContainerParams *LambdaContainerParams `locationName:"containerParams" type:"structure"` + + // The isolation mode for the process that contains the Lambda function. The + // process can run in an isolated runtime environment inside the AWS IoT Greengrass + // container, or as a regular process outside any container. + // + // Default: GreengrassContainer + IsolationMode *string `locationName:"isolationMode" type:"string" enum:"LambdaIsolationMode"` +} + +// String returns the string representation +func (s LambdaLinuxProcessParams) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaLinuxProcessParams) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaLinuxProcessParams) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaLinuxProcessParams"} + if s.ContainerParams != nil { + if err := s.ContainerParams.Validate(); err != nil { + invalidParams.AddNested("ContainerParams", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerParams sets the ContainerParams field's value. +func (s *LambdaLinuxProcessParams) SetContainerParams(v *LambdaContainerParams) *LambdaLinuxProcessParams { + s.ContainerParams = v + return s +} + +// SetIsolationMode sets the IsolationMode field's value. +func (s *LambdaLinuxProcessParams) SetIsolationMode(v string) *LambdaLinuxProcessParams { + s.IsolationMode = &v + return s +} + +// Contains information about a volume that Linux processes in a container can +// access. When you define a volume, the AWS IoT Greengrass Core software mounts +// the source files to the destination inside the container. +type LambdaVolumeMount struct { + _ struct{} `type:"structure"` + + // Whether or not to add the AWS IoT Greengrass user group as an owner of the + // volume. + // + // Default: false + AddGroupOwner *bool `locationName:"addGroupOwner" type:"boolean"` + + // The path to the logical volume in the file system. + // + // DestinationPath is a required field + DestinationPath *string `locationName:"destinationPath" type:"string" required:"true"` + + // The permission to access the volume: read/only (ro) or read/write (rw). + // + // Default: ro + Permission *string `locationName:"permission" type:"string" enum:"LambdaFilesystemPermission"` + + // The path to the physical volume in the file system. + // + // SourcePath is a required field + SourcePath *string `locationName:"sourcePath" type:"string" required:"true"` +} + +// String returns the string representation +func (s LambdaVolumeMount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaVolumeMount) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaVolumeMount) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaVolumeMount"} + if s.DestinationPath == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationPath")) + } + if s.SourcePath == nil { + invalidParams.Add(request.NewErrParamRequired("SourcePath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddGroupOwner sets the AddGroupOwner field's value. +func (s *LambdaVolumeMount) SetAddGroupOwner(v bool) *LambdaVolumeMount { + s.AddGroupOwner = &v + return s +} + +// SetDestinationPath sets the DestinationPath field's value. +func (s *LambdaVolumeMount) SetDestinationPath(v string) *LambdaVolumeMount { + s.DestinationPath = &v + return s +} + +// SetPermission sets the Permission field's value. +func (s *LambdaVolumeMount) SetPermission(v string) *LambdaVolumeMount { + s.Permission = &v + return s +} + +// SetSourcePath sets the SourcePath field's value. +func (s *LambdaVolumeMount) SetSourcePath(v string) *LambdaVolumeMount { + s.SourcePath = &v + return s +} + +type ListComponentVersionsInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + + // The maximum number of results to be returned per 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" type:"string"` +} + +// String returns the string representation +func (s ListComponentVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentVersionsInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *ListComponentVersionsInput) SetArn(v string) *ListComponentVersionsInput { + s.Arn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentVersionsInput) SetMaxResults(v int64) *ListComponentVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentVersionsInput) SetNextToken(v string) *ListComponentVersionsInput { + s.NextToken = &v + return s +} + +type ListComponentVersionsOutput struct { + _ struct{} `type:"structure"` + + // A list of versions that exist for the component. + ComponentVersions []*ComponentVersionListItem `locationName:"componentVersions" type:"list"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListComponentVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentVersionsOutput) GoString() string { + return s.String() +} + +// SetComponentVersions sets the ComponentVersions field's value. +func (s *ListComponentVersionsOutput) SetComponentVersions(v []*ComponentVersionListItem) *ListComponentVersionsOutput { + s.ComponentVersions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentVersionsOutput) SetNextToken(v string) *ListComponentVersionsOutput { + s.NextToken = &v + return s +} + +type ListComponentsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned per 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" type:"string"` + + // The scope of the components to list. + // + // Default: PRIVATE + Scope *string `location:"querystring" locationName:"scope" type:"string" enum:"ComponentVisibilityScope"` +} + +// String returns the string representation +func (s ListComponentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentsInput) GoString() string { + return s.String() +} + +// 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.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { + s.NextToken = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *ListComponentsInput) SetScope(v string) *ListComponentsInput { + s.Scope = &v + return s +} + +type ListComponentsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each component. + Components []*Component `locationName:"components" type:"list"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListComponentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentsOutput) GoString() string { + return s.String() +} + +// SetComponents sets the Components field's value. +func (s *ListComponentsOutput) SetComponents(v []*Component) *ListComponentsOutput { + s.Components = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { + s.NextToken = &v + return s +} + +type ListCoreDevicesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned per 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" type:"string"` + + // The core device status by which to filter. If you specify this parameter, + // the list includes only core devices that have this status. Choose one of + // the following options: + // + // * HEALTHY – The AWS IoT Greengrass Core software and all components + // run on the core device without issue. + // + // * UNHEALTHY – The AWS IoT Greengrass Core software or a component is + // in a failed state on the core device. + Status *string `location:"querystring" locationName:"status" type:"string" enum:"CoreDeviceStatus"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the AWS IoT thing group by which to filter. If you specify this parameter, + // the list includes only core devices that are members of this thing group. + ThingGroupArn *string `location:"querystring" locationName:"thingGroupArn" type:"string"` +} + +// String returns the string representation +func (s ListCoreDevicesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCoreDevicesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCoreDevicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCoreDevicesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCoreDevicesInput) SetMaxResults(v int64) *ListCoreDevicesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCoreDevicesInput) SetNextToken(v string) *ListCoreDevicesInput { + s.NextToken = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListCoreDevicesInput) SetStatus(v string) *ListCoreDevicesInput { + s.Status = &v + return s +} + +// SetThingGroupArn sets the ThingGroupArn field's value. +func (s *ListCoreDevicesInput) SetThingGroupArn(v string) *ListCoreDevicesInput { + s.ThingGroupArn = &v + return s +} + +type ListCoreDevicesOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each core device. + CoreDevices []*CoreDevice `locationName:"coreDevices" type:"list"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListCoreDevicesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCoreDevicesOutput) GoString() string { + return s.String() +} + +// SetCoreDevices sets the CoreDevices field's value. +func (s *ListCoreDevicesOutput) SetCoreDevices(v []*CoreDevice) *ListCoreDevicesOutput { + s.CoreDevices = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCoreDevicesOutput) SetNextToken(v string) *ListCoreDevicesOutput { + s.NextToken = &v + return s +} + +type ListDeploymentsInput struct { + _ struct{} `type:"structure"` + + // The filter for the list of deployments. Choose one of the following options: + // + // * ALL – The list includes all deployments. + // + // * LATEST_ONLY – The list includes only the latest revision of each deployment. + // + // Default: LATEST_ONLY + HistoryFilter *string `location:"querystring" locationName:"historyFilter" type:"string" enum:"DeploymentHistoryFilter"` + + // The maximum number of results to be returned per 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" type:"string"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the target AWS IoT thing or thing group. + TargetArn *string `location:"querystring" locationName:"targetArn" type:"string"` +} + +// String returns the string representation +func (s ListDeploymentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeploymentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDeploymentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHistoryFilter sets the HistoryFilter field's value. +func (s *ListDeploymentsInput) SetHistoryFilter(v string) *ListDeploymentsInput { + s.HistoryFilter = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput { + s.NextToken = &v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *ListDeploymentsInput) SetTargetArn(v string) *ListDeploymentsInput { + s.TargetArn = &v + return s +} + +type ListDeploymentsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each deployment. + Deployments []*Deployment `locationName:"deployments" type:"list"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDeploymentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeploymentsOutput) GoString() string { + return s.String() +} + +// SetDeployments sets the Deployments field's value. +func (s *ListDeploymentsOutput) SetDeployments(v []*Deployment) *ListDeploymentsOutput { + s.Deployments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput { + s.NextToken = &v + return s +} + +type ListEffectiveDeploymentsInput struct { + _ struct{} `type:"structure"` + + // The name of the core device. This is also the name of the AWS IoT thing. + // + // CoreDeviceThingName is a required field + CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per 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" type:"string"` +} + +// String returns the string representation +func (s ListEffectiveDeploymentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEffectiveDeploymentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEffectiveDeploymentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEffectiveDeploymentsInput"} + if s.CoreDeviceThingName == nil { + invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) + } + if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCoreDeviceThingName sets the CoreDeviceThingName field's value. +func (s *ListEffectiveDeploymentsInput) SetCoreDeviceThingName(v string) *ListEffectiveDeploymentsInput { + s.CoreDeviceThingName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEffectiveDeploymentsInput) SetMaxResults(v int64) *ListEffectiveDeploymentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEffectiveDeploymentsInput) SetNextToken(v string) *ListEffectiveDeploymentsInput { + s.NextToken = &v + return s +} + +type ListEffectiveDeploymentsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each deployment on the core device. + EffectiveDeployments []*EffectiveDeployment `locationName:"effectiveDeployments" type:"list"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEffectiveDeploymentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEffectiveDeploymentsOutput) GoString() string { + return s.String() +} + +// SetEffectiveDeployments sets the EffectiveDeployments field's value. +func (s *ListEffectiveDeploymentsOutput) SetEffectiveDeployments(v []*EffectiveDeployment) *ListEffectiveDeploymentsOutput { + s.EffectiveDeployments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEffectiveDeploymentsOutput) SetNextToken(v string) *ListEffectiveDeploymentsOutput { + s.NextToken = &v + return s +} + +type ListInstalledComponentsInput struct { + _ struct{} `type:"structure"` + + // The name of the core device. This is also the name of the AWS IoT thing. + // + // CoreDeviceThingName is a required field + CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per 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" type:"string"` +} + +// String returns the string representation +func (s ListInstalledComponentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInstalledComponentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInstalledComponentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInstalledComponentsInput"} + if s.CoreDeviceThingName == nil { + invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) + } + if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCoreDeviceThingName sets the CoreDeviceThingName field's value. +func (s *ListInstalledComponentsInput) SetCoreDeviceThingName(v string) *ListInstalledComponentsInput { + s.CoreDeviceThingName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInstalledComponentsInput) SetMaxResults(v int64) *ListInstalledComponentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInstalledComponentsInput) SetNextToken(v string) *ListInstalledComponentsInput { + s.NextToken = &v + return s +} + +type ListInstalledComponentsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each component on the core device. + InstalledComponents []*InstalledComponent `locationName:"installedComponents" type:"list"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInstalledComponentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInstalledComponentsOutput) GoString() string { + return s.String() +} + +// SetInstalledComponents sets the InstalledComponents field's value. +func (s *ListInstalledComponentsOutput) SetInstalledComponents(v []*InstalledComponent) *ListInstalledComponentsOutput { + s.InstalledComponents = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInstalledComponentsOutput) SetNextToken(v string) *ListInstalledComponentsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer Guide. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ResolveComponentCandidatesInput struct { + _ struct{} `type:"structure"` + + // The list of components to resolve. + // + // ComponentCandidates is a required field + ComponentCandidates []*ComponentCandidate `locationName:"componentCandidates" type:"list" required:"true"` + + // The platform to use to resolve compatible components. + // + // Platform is a required field + Platform *ComponentPlatform `locationName:"platform" type:"structure" required:"true"` +} + +// String returns the string representation +func (s ResolveComponentCandidatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolveComponentCandidatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResolveComponentCandidatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResolveComponentCandidatesInput"} + if s.ComponentCandidates == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentCandidates")) + } + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.ComponentCandidates != nil { + for i, v := range s.ComponentCandidates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentCandidates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Platform != nil { + if err := s.Platform.Validate(); err != nil { + invalidParams.AddNested("Platform", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentCandidates sets the ComponentCandidates field's value. +func (s *ResolveComponentCandidatesInput) SetComponentCandidates(v []*ComponentCandidate) *ResolveComponentCandidatesInput { + s.ComponentCandidates = v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ResolveComponentCandidatesInput) SetPlatform(v *ComponentPlatform) *ResolveComponentCandidatesInput { + s.Platform = v + return s +} + +type ResolveComponentCandidatesOutput struct { + _ struct{} `type:"structure"` + + // A list of components that meet the requirements that you specify in the request. + // This list includes each component's recipe that you can use to install the + // component. + ResolvedComponentVersions []*ResolvedComponentVersion `locationName:"resolvedComponentVersions" type:"list"` +} + +// String returns the string representation +func (s ResolveComponentCandidatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolveComponentCandidatesOutput) GoString() string { + return s.String() +} + +// SetResolvedComponentVersions sets the ResolvedComponentVersions field's value. +func (s *ResolveComponentCandidatesOutput) SetResolvedComponentVersions(v []*ResolvedComponentVersion) *ResolveComponentCandidatesOutput { + s.ResolvedComponentVersions = v + return s +} + +// Contains information about a component version that is compatible to run +// on a AWS IoT Greengrass core device. +type ResolvedComponentVersion struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the component version. + Arn *string `locationName:"arn" type:"string"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The version of the component. + ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` + + // The recipe of the component version. + // + // Recipe is automatically base64 encoded/decoded by the SDK. + Recipe []byte `locationName:"recipe" type:"blob"` +} + +// String returns the string representation +func (s ResolvedComponentVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolvedComponentVersion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResolvedComponentVersion) SetArn(v string) *ResolvedComponentVersion { + s.Arn = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *ResolvedComponentVersion) SetComponentName(v string) *ResolvedComponentVersion { + s.ComponentName = &v + return s +} + +// SetComponentVersion sets the ComponentVersion field's value. +func (s *ResolvedComponentVersion) SetComponentVersion(v string) *ResolvedComponentVersion { + s.ComponentVersion = &v + return s +} + +// SetRecipe sets the Recipe field's value. +func (s *ResolvedComponentVersion) SetRecipe(v []byte) *ResolvedComponentVersion { + s.Recipe = v + return s +} + +// The requested resource can't be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The ID of the resource that isn't found. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the resource that isn't found. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Your request exceeds a service quota. For example, you might have the maximum +// number of components that you can create. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The code for the quota in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). + // + // QuotaCode is a required field + QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` + + // The ID of the resource that exceeds the service quota. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The type of the resource that exceeds the service quota. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The code for the service in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). + // + // ServiceCode is a required field + ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"` +} + +// String returns the string representation +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the resource to tag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A list of key-value pairs that contain metadata for the resource. For more + // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/tag-resources.html) + // in the AWS IoT Greengrass V2 Developer Guide. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Your request exceeded a request rate quota. For example, you might have exceeded +// the amount of times that you can retrieve device or deployment status per +// second. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The code for the quota in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). + QuotaCode *string `locationName:"quotaCode" type:"string"` + + // The amount of time to wait before you retry the request. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` + + // The code for the service in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). + ServiceCode *string `locationName:"serviceCode" type:"string"` +} + +// String returns the string representation +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) 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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the resource to untag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A list of keys for tags to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The list of fields that failed to validate. + Fields []*ValidationExceptionField `locationName:"fields" type:"list"` + + Message_ *string `locationName:"message" type:"string"` + + // The reason for the validation exception. + Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Contains information about a validation exception field. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // The message of the exception field. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` + + // The name of the exception field. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s ValidationExceptionField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationExceptionField) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { + s.Name = &v + return s +} + +const ( + // CloudComponentStateRequested is a CloudComponentState enum value + CloudComponentStateRequested = "REQUESTED" + + // CloudComponentStateInitiated is a CloudComponentState enum value + CloudComponentStateInitiated = "INITIATED" + + // CloudComponentStateDeployable is a CloudComponentState enum value + CloudComponentStateDeployable = "DEPLOYABLE" + + // CloudComponentStateFailed is a CloudComponentState enum value + CloudComponentStateFailed = "FAILED" + + // CloudComponentStateDeprecated is a CloudComponentState enum value + CloudComponentStateDeprecated = "DEPRECATED" +) + +// CloudComponentState_Values returns all elements of the CloudComponentState enum +func CloudComponentState_Values() []string { + return []string{ + CloudComponentStateRequested, + CloudComponentStateInitiated, + CloudComponentStateDeployable, + CloudComponentStateFailed, + CloudComponentStateDeprecated, + } +} + +const ( + // ComponentDependencyTypeHard is a ComponentDependencyType enum value + ComponentDependencyTypeHard = "HARD" + + // ComponentDependencyTypeSoft is a ComponentDependencyType enum value + ComponentDependencyTypeSoft = "SOFT" +) + +// ComponentDependencyType_Values returns all elements of the ComponentDependencyType enum +func ComponentDependencyType_Values() []string { + return []string{ + ComponentDependencyTypeHard, + ComponentDependencyTypeSoft, + } +} + +const ( + // ComponentVisibilityScopePrivate is a ComponentVisibilityScope enum value + ComponentVisibilityScopePrivate = "PRIVATE" + + // ComponentVisibilityScopePublic is a ComponentVisibilityScope enum value + ComponentVisibilityScopePublic = "PUBLIC" +) + +// ComponentVisibilityScope_Values returns all elements of the ComponentVisibilityScope enum +func ComponentVisibilityScope_Values() []string { + return []string{ + ComponentVisibilityScopePrivate, + ComponentVisibilityScopePublic, + } +} + +const ( + // CoreDeviceStatusHealthy is a CoreDeviceStatus enum value + CoreDeviceStatusHealthy = "HEALTHY" + + // CoreDeviceStatusUnhealthy is a CoreDeviceStatus enum value + CoreDeviceStatusUnhealthy = "UNHEALTHY" +) + +// CoreDeviceStatus_Values returns all elements of the CoreDeviceStatus enum +func CoreDeviceStatus_Values() []string { + return []string{ + CoreDeviceStatusHealthy, + CoreDeviceStatusUnhealthy, + } +} + +const ( + // DeploymentComponentUpdatePolicyActionNotifyComponents is a DeploymentComponentUpdatePolicyAction enum value + DeploymentComponentUpdatePolicyActionNotifyComponents = "NOTIFY_COMPONENTS" + + // DeploymentComponentUpdatePolicyActionSkipNotifyComponents is a DeploymentComponentUpdatePolicyAction enum value + DeploymentComponentUpdatePolicyActionSkipNotifyComponents = "SKIP_NOTIFY_COMPONENTS" +) + +// DeploymentComponentUpdatePolicyAction_Values returns all elements of the DeploymentComponentUpdatePolicyAction enum +func DeploymentComponentUpdatePolicyAction_Values() []string { + return []string{ + DeploymentComponentUpdatePolicyActionNotifyComponents, + DeploymentComponentUpdatePolicyActionSkipNotifyComponents, + } +} + +const ( + // DeploymentFailureHandlingPolicyRollback is a DeploymentFailureHandlingPolicy enum value + DeploymentFailureHandlingPolicyRollback = "ROLLBACK" + + // DeploymentFailureHandlingPolicyDoNothing is a DeploymentFailureHandlingPolicy enum value + DeploymentFailureHandlingPolicyDoNothing = "DO_NOTHING" +) + +// DeploymentFailureHandlingPolicy_Values returns all elements of the DeploymentFailureHandlingPolicy enum +func DeploymentFailureHandlingPolicy_Values() []string { + return []string{ + DeploymentFailureHandlingPolicyRollback, + DeploymentFailureHandlingPolicyDoNothing, + } +} + +const ( + // DeploymentHistoryFilterAll is a DeploymentHistoryFilter enum value + DeploymentHistoryFilterAll = "ALL" + + // DeploymentHistoryFilterLatestOnly is a DeploymentHistoryFilter enum value + DeploymentHistoryFilterLatestOnly = "LATEST_ONLY" +) + +// DeploymentHistoryFilter_Values returns all elements of the DeploymentHistoryFilter enum +func DeploymentHistoryFilter_Values() []string { + return []string{ + DeploymentHistoryFilterAll, + DeploymentHistoryFilterLatestOnly, + } +} + +const ( + // DeploymentStatusActive is a DeploymentStatus enum value + DeploymentStatusActive = "ACTIVE" + + // DeploymentStatusCompleted is a DeploymentStatus enum value + DeploymentStatusCompleted = "COMPLETED" + + // DeploymentStatusCanceled is a DeploymentStatus enum value + DeploymentStatusCanceled = "CANCELED" + + // DeploymentStatusFailed is a DeploymentStatus enum value + DeploymentStatusFailed = "FAILED" + + // DeploymentStatusInactive is a DeploymentStatus enum value + DeploymentStatusInactive = "INACTIVE" +) + +// DeploymentStatus_Values returns all elements of the DeploymentStatus enum +func DeploymentStatus_Values() []string { + return []string{ + DeploymentStatusActive, + DeploymentStatusCompleted, + DeploymentStatusCanceled, + DeploymentStatusFailed, + DeploymentStatusInactive, + } +} + +const ( + // EffectiveDeploymentExecutionStatusInProgress is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusInProgress = "IN_PROGRESS" + + // EffectiveDeploymentExecutionStatusQueued is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusQueued = "QUEUED" + + // EffectiveDeploymentExecutionStatusFailed is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusFailed = "FAILED" + + // EffectiveDeploymentExecutionStatusCompleted is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusCompleted = "COMPLETED" + + // EffectiveDeploymentExecutionStatusTimedOut is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusTimedOut = "TIMED_OUT" + + // EffectiveDeploymentExecutionStatusCanceled is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusCanceled = "CANCELED" + + // EffectiveDeploymentExecutionStatusRejected is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusRejected = "REJECTED" +) + +// EffectiveDeploymentExecutionStatus_Values returns all elements of the EffectiveDeploymentExecutionStatus enum +func EffectiveDeploymentExecutionStatus_Values() []string { + return []string{ + EffectiveDeploymentExecutionStatusInProgress, + EffectiveDeploymentExecutionStatusQueued, + EffectiveDeploymentExecutionStatusFailed, + EffectiveDeploymentExecutionStatusCompleted, + EffectiveDeploymentExecutionStatusTimedOut, + EffectiveDeploymentExecutionStatusCanceled, + EffectiveDeploymentExecutionStatusRejected, + } +} + +const ( + // InstalledComponentLifecycleStateNew is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateNew = "NEW" + + // InstalledComponentLifecycleStateInstalled is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateInstalled = "INSTALLED" + + // InstalledComponentLifecycleStateStarting is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateStarting = "STARTING" + + // InstalledComponentLifecycleStateRunning is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateRunning = "RUNNING" + + // InstalledComponentLifecycleStateStopping is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateStopping = "STOPPING" + + // InstalledComponentLifecycleStateErrored is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateErrored = "ERRORED" + + // InstalledComponentLifecycleStateBroken is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateBroken = "BROKEN" + + // InstalledComponentLifecycleStateFinished is a InstalledComponentLifecycleState enum value + InstalledComponentLifecycleStateFinished = "FINISHED" +) + +// InstalledComponentLifecycleState_Values returns all elements of the InstalledComponentLifecycleState enum +func InstalledComponentLifecycleState_Values() []string { + return []string{ + InstalledComponentLifecycleStateNew, + InstalledComponentLifecycleStateInstalled, + InstalledComponentLifecycleStateStarting, + InstalledComponentLifecycleStateRunning, + InstalledComponentLifecycleStateStopping, + InstalledComponentLifecycleStateErrored, + InstalledComponentLifecycleStateBroken, + InstalledComponentLifecycleStateFinished, + } +} + +const ( + // IoTJobAbortActionCancel is a IoTJobAbortAction enum value + IoTJobAbortActionCancel = "CANCEL" +) + +// IoTJobAbortAction_Values returns all elements of the IoTJobAbortAction enum +func IoTJobAbortAction_Values() []string { + return []string{ + IoTJobAbortActionCancel, + } +} + +const ( + // IoTJobExecutionFailureTypeFailed is a IoTJobExecutionFailureType enum value + IoTJobExecutionFailureTypeFailed = "FAILED" + + // IoTJobExecutionFailureTypeRejected is a IoTJobExecutionFailureType enum value + IoTJobExecutionFailureTypeRejected = "REJECTED" + + // IoTJobExecutionFailureTypeTimedOut is a IoTJobExecutionFailureType enum value + IoTJobExecutionFailureTypeTimedOut = "TIMED_OUT" + + // IoTJobExecutionFailureTypeAll is a IoTJobExecutionFailureType enum value + IoTJobExecutionFailureTypeAll = "ALL" +) + +// IoTJobExecutionFailureType_Values returns all elements of the IoTJobExecutionFailureType enum +func IoTJobExecutionFailureType_Values() []string { + return []string{ + IoTJobExecutionFailureTypeFailed, + IoTJobExecutionFailureTypeRejected, + IoTJobExecutionFailureTypeTimedOut, + IoTJobExecutionFailureTypeAll, + } +} + +const ( + // LambdaEventSourceTypePubSub is a LambdaEventSourceType enum value + LambdaEventSourceTypePubSub = "PUB_SUB" + + // LambdaEventSourceTypeIotCore is a LambdaEventSourceType enum value + LambdaEventSourceTypeIotCore = "IOT_CORE" +) + +// LambdaEventSourceType_Values returns all elements of the LambdaEventSourceType enum +func LambdaEventSourceType_Values() []string { + return []string{ + LambdaEventSourceTypePubSub, + LambdaEventSourceTypeIotCore, + } +} + +const ( + // LambdaFilesystemPermissionRo is a LambdaFilesystemPermission enum value + LambdaFilesystemPermissionRo = "ro" + + // LambdaFilesystemPermissionRw is a LambdaFilesystemPermission enum value + LambdaFilesystemPermissionRw = "rw" +) + +// LambdaFilesystemPermission_Values returns all elements of the LambdaFilesystemPermission enum +func LambdaFilesystemPermission_Values() []string { + return []string{ + LambdaFilesystemPermissionRo, + LambdaFilesystemPermissionRw, + } +} + +const ( + // LambdaInputPayloadEncodingTypeJson is a LambdaInputPayloadEncodingType enum value + LambdaInputPayloadEncodingTypeJson = "json" + + // LambdaInputPayloadEncodingTypeBinary is a LambdaInputPayloadEncodingType enum value + LambdaInputPayloadEncodingTypeBinary = "binary" +) + +// LambdaInputPayloadEncodingType_Values returns all elements of the LambdaInputPayloadEncodingType enum +func LambdaInputPayloadEncodingType_Values() []string { + return []string{ + LambdaInputPayloadEncodingTypeJson, + LambdaInputPayloadEncodingTypeBinary, + } +} + +const ( + // LambdaIsolationModeGreengrassContainer is a LambdaIsolationMode enum value + LambdaIsolationModeGreengrassContainer = "GreengrassContainer" + + // LambdaIsolationModeNoContainer is a LambdaIsolationMode enum value + LambdaIsolationModeNoContainer = "NoContainer" +) + +// LambdaIsolationMode_Values returns all elements of the LambdaIsolationMode enum +func LambdaIsolationMode_Values() []string { + return []string{ + LambdaIsolationModeGreengrassContainer, + LambdaIsolationModeNoContainer, + } +} + +const ( + // RecipeOutputFormatJson is a RecipeOutputFormat enum value + RecipeOutputFormatJson = "JSON" + + // RecipeOutputFormatYaml is a RecipeOutputFormat enum value + RecipeOutputFormatYaml = "YAML" +) + +// RecipeOutputFormat_Values returns all elements of the RecipeOutputFormat enum +func RecipeOutputFormat_Values() []string { + return []string{ + RecipeOutputFormatJson, + RecipeOutputFormatYaml, + } +} + +const ( + // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value + ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION" + + // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value + ValidationExceptionReasonCannotParse = "CANNOT_PARSE" + + // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value + ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED" + + // ValidationExceptionReasonOther is a ValidationExceptionReason enum value + ValidationExceptionReasonOther = "OTHER" +) + +// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum +func ValidationExceptionReason_Values() []string { + return []string{ + ValidationExceptionReasonUnknownOperation, + ValidationExceptionReasonCannotParse, + ValidationExceptionReasonFieldValidationFailed, + ValidationExceptionReasonOther, + } +} diff --git a/service/greengrassv2/doc.go b/service/greengrassv2/doc.go new file mode 100644 index 0000000000..4e13031d1f --- /dev/null +++ b/service/greengrassv2/doc.go @@ -0,0 +1,43 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package greengrassv2 provides the client and types for making API +// requests to AWS IoT Greengrass V2. +// +// AWS IoT Greengrass brings local compute, messaging, data management, sync, +// and ML inference capabilities to edge devices. This enables devices to collect +// and analyze data closer to the source of information, react autonomously +// to local events, and communicate securely with each other on local networks. +// Local devices can also communicate securely with AWS IoT Core and export +// IoT data to the AWS Cloud. AWS IoT Greengrass developers can use AWS Lambda +// functions and components to create and deploy applications to fleets of edge +// devices for local operation. +// +// AWS IoT Greengrass Version 2 provides a new major version of the AWS IoT +// Greengrass Core software, new APIs, and a new console. Use this API reference +// to learn how to use the AWS IoT Greengrass V2 API operations to manage components, +// manage deployments, and core devices. +// +// For more information, see What is AWS IoT Greengrass? (https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html) +// in the AWS IoT Greengrass V2 Developer Guide. +// +// See https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30 for more information on this service. +// +// See greengrassv2 package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/greengrassv2/ +// +// Using the Client +// +// To contact AWS IoT Greengrass V2 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 AWS IoT Greengrass V2 client GreengrassV2 for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/greengrassv2/#New +package greengrassv2 diff --git a/service/greengrassv2/errors.go b/service/greengrassv2/errors.go new file mode 100644 index 0000000000..d4f130667c --- /dev/null +++ b/service/greengrassv2/errors.go @@ -0,0 +1,67 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package greengrassv2 + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You don't have permission to perform the action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // 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. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // AWS IoT Greengrass can't process your request right now. Try again later. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The requested resource can't be found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // Your request exceeds a service quota. For example, you might have the maximum + // number of components that you can create. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Your request exceeded a request rate quota. For example, you might have exceeded + // the amount of times that you can retrieve device or deployment status per + // second. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The request isn't valid. This can occur if your request contains malformed + // JSON or unsupported characters. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/greengrassv2/greengrassv2iface/interface.go b/service/greengrassv2/greengrassv2iface/interface.go new file mode 100644 index 0000000000..461ed60a7d --- /dev/null +++ b/service/greengrassv2/greengrassv2iface/interface.go @@ -0,0 +1,162 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package greengrassv2iface provides an interface to enable mocking the AWS IoT Greengrass V2 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 greengrassv2iface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/greengrassv2" +) + +// GreengrassV2API provides an interface to enable mocking the +// greengrassv2.GreengrassV2 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 +// // AWS IoT Greengrass V2. +// func myFunc(svc greengrassv2iface.GreengrassV2API) bool { +// // Make svc.CancelDeployment request +// } +// +// func main() { +// sess := session.New() +// svc := greengrassv2.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockGreengrassV2Client struct { +// greengrassv2iface.GreengrassV2API +// } +// func (m *mockGreengrassV2Client) CancelDeployment(input *greengrassv2.CancelDeploymentInput) (*greengrassv2.CancelDeploymentOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockGreengrassV2Client{} +// +// 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 GreengrassV2API interface { + CancelDeployment(*greengrassv2.CancelDeploymentInput) (*greengrassv2.CancelDeploymentOutput, error) + CancelDeploymentWithContext(aws.Context, *greengrassv2.CancelDeploymentInput, ...request.Option) (*greengrassv2.CancelDeploymentOutput, error) + CancelDeploymentRequest(*greengrassv2.CancelDeploymentInput) (*request.Request, *greengrassv2.CancelDeploymentOutput) + + CreateComponentVersion(*greengrassv2.CreateComponentVersionInput) (*greengrassv2.CreateComponentVersionOutput, error) + CreateComponentVersionWithContext(aws.Context, *greengrassv2.CreateComponentVersionInput, ...request.Option) (*greengrassv2.CreateComponentVersionOutput, error) + CreateComponentVersionRequest(*greengrassv2.CreateComponentVersionInput) (*request.Request, *greengrassv2.CreateComponentVersionOutput) + + CreateDeployment(*greengrassv2.CreateDeploymentInput) (*greengrassv2.CreateDeploymentOutput, error) + CreateDeploymentWithContext(aws.Context, *greengrassv2.CreateDeploymentInput, ...request.Option) (*greengrassv2.CreateDeploymentOutput, error) + CreateDeploymentRequest(*greengrassv2.CreateDeploymentInput) (*request.Request, *greengrassv2.CreateDeploymentOutput) + + DeleteComponent(*greengrassv2.DeleteComponentInput) (*greengrassv2.DeleteComponentOutput, error) + DeleteComponentWithContext(aws.Context, *greengrassv2.DeleteComponentInput, ...request.Option) (*greengrassv2.DeleteComponentOutput, error) + DeleteComponentRequest(*greengrassv2.DeleteComponentInput) (*request.Request, *greengrassv2.DeleteComponentOutput) + + DeleteCoreDevice(*greengrassv2.DeleteCoreDeviceInput) (*greengrassv2.DeleteCoreDeviceOutput, error) + DeleteCoreDeviceWithContext(aws.Context, *greengrassv2.DeleteCoreDeviceInput, ...request.Option) (*greengrassv2.DeleteCoreDeviceOutput, error) + DeleteCoreDeviceRequest(*greengrassv2.DeleteCoreDeviceInput) (*request.Request, *greengrassv2.DeleteCoreDeviceOutput) + + DescribeComponent(*greengrassv2.DescribeComponentInput) (*greengrassv2.DescribeComponentOutput, error) + DescribeComponentWithContext(aws.Context, *greengrassv2.DescribeComponentInput, ...request.Option) (*greengrassv2.DescribeComponentOutput, error) + DescribeComponentRequest(*greengrassv2.DescribeComponentInput) (*request.Request, *greengrassv2.DescribeComponentOutput) + + GetComponent(*greengrassv2.GetComponentInput) (*greengrassv2.GetComponentOutput, error) + GetComponentWithContext(aws.Context, *greengrassv2.GetComponentInput, ...request.Option) (*greengrassv2.GetComponentOutput, error) + GetComponentRequest(*greengrassv2.GetComponentInput) (*request.Request, *greengrassv2.GetComponentOutput) + + GetComponentVersionArtifact(*greengrassv2.GetComponentVersionArtifactInput) (*greengrassv2.GetComponentVersionArtifactOutput, error) + GetComponentVersionArtifactWithContext(aws.Context, *greengrassv2.GetComponentVersionArtifactInput, ...request.Option) (*greengrassv2.GetComponentVersionArtifactOutput, error) + GetComponentVersionArtifactRequest(*greengrassv2.GetComponentVersionArtifactInput) (*request.Request, *greengrassv2.GetComponentVersionArtifactOutput) + + GetCoreDevice(*greengrassv2.GetCoreDeviceInput) (*greengrassv2.GetCoreDeviceOutput, error) + GetCoreDeviceWithContext(aws.Context, *greengrassv2.GetCoreDeviceInput, ...request.Option) (*greengrassv2.GetCoreDeviceOutput, error) + GetCoreDeviceRequest(*greengrassv2.GetCoreDeviceInput) (*request.Request, *greengrassv2.GetCoreDeviceOutput) + + GetDeployment(*greengrassv2.GetDeploymentInput) (*greengrassv2.GetDeploymentOutput, error) + GetDeploymentWithContext(aws.Context, *greengrassv2.GetDeploymentInput, ...request.Option) (*greengrassv2.GetDeploymentOutput, error) + GetDeploymentRequest(*greengrassv2.GetDeploymentInput) (*request.Request, *greengrassv2.GetDeploymentOutput) + + ListComponentVersions(*greengrassv2.ListComponentVersionsInput) (*greengrassv2.ListComponentVersionsOutput, error) + ListComponentVersionsWithContext(aws.Context, *greengrassv2.ListComponentVersionsInput, ...request.Option) (*greengrassv2.ListComponentVersionsOutput, error) + ListComponentVersionsRequest(*greengrassv2.ListComponentVersionsInput) (*request.Request, *greengrassv2.ListComponentVersionsOutput) + + ListComponentVersionsPages(*greengrassv2.ListComponentVersionsInput, func(*greengrassv2.ListComponentVersionsOutput, bool) bool) error + ListComponentVersionsPagesWithContext(aws.Context, *greengrassv2.ListComponentVersionsInput, func(*greengrassv2.ListComponentVersionsOutput, bool) bool, ...request.Option) error + + ListComponents(*greengrassv2.ListComponentsInput) (*greengrassv2.ListComponentsOutput, error) + ListComponentsWithContext(aws.Context, *greengrassv2.ListComponentsInput, ...request.Option) (*greengrassv2.ListComponentsOutput, error) + ListComponentsRequest(*greengrassv2.ListComponentsInput) (*request.Request, *greengrassv2.ListComponentsOutput) + + ListComponentsPages(*greengrassv2.ListComponentsInput, func(*greengrassv2.ListComponentsOutput, bool) bool) error + ListComponentsPagesWithContext(aws.Context, *greengrassv2.ListComponentsInput, func(*greengrassv2.ListComponentsOutput, bool) bool, ...request.Option) error + + ListCoreDevices(*greengrassv2.ListCoreDevicesInput) (*greengrassv2.ListCoreDevicesOutput, error) + ListCoreDevicesWithContext(aws.Context, *greengrassv2.ListCoreDevicesInput, ...request.Option) (*greengrassv2.ListCoreDevicesOutput, error) + ListCoreDevicesRequest(*greengrassv2.ListCoreDevicesInput) (*request.Request, *greengrassv2.ListCoreDevicesOutput) + + ListCoreDevicesPages(*greengrassv2.ListCoreDevicesInput, func(*greengrassv2.ListCoreDevicesOutput, bool) bool) error + ListCoreDevicesPagesWithContext(aws.Context, *greengrassv2.ListCoreDevicesInput, func(*greengrassv2.ListCoreDevicesOutput, bool) bool, ...request.Option) error + + ListDeployments(*greengrassv2.ListDeploymentsInput) (*greengrassv2.ListDeploymentsOutput, error) + ListDeploymentsWithContext(aws.Context, *greengrassv2.ListDeploymentsInput, ...request.Option) (*greengrassv2.ListDeploymentsOutput, error) + ListDeploymentsRequest(*greengrassv2.ListDeploymentsInput) (*request.Request, *greengrassv2.ListDeploymentsOutput) + + ListDeploymentsPages(*greengrassv2.ListDeploymentsInput, func(*greengrassv2.ListDeploymentsOutput, bool) bool) error + ListDeploymentsPagesWithContext(aws.Context, *greengrassv2.ListDeploymentsInput, func(*greengrassv2.ListDeploymentsOutput, bool) bool, ...request.Option) error + + ListEffectiveDeployments(*greengrassv2.ListEffectiveDeploymentsInput) (*greengrassv2.ListEffectiveDeploymentsOutput, error) + ListEffectiveDeploymentsWithContext(aws.Context, *greengrassv2.ListEffectiveDeploymentsInput, ...request.Option) (*greengrassv2.ListEffectiveDeploymentsOutput, error) + ListEffectiveDeploymentsRequest(*greengrassv2.ListEffectiveDeploymentsInput) (*request.Request, *greengrassv2.ListEffectiveDeploymentsOutput) + + ListEffectiveDeploymentsPages(*greengrassv2.ListEffectiveDeploymentsInput, func(*greengrassv2.ListEffectiveDeploymentsOutput, bool) bool) error + ListEffectiveDeploymentsPagesWithContext(aws.Context, *greengrassv2.ListEffectiveDeploymentsInput, func(*greengrassv2.ListEffectiveDeploymentsOutput, bool) bool, ...request.Option) error + + ListInstalledComponents(*greengrassv2.ListInstalledComponentsInput) (*greengrassv2.ListInstalledComponentsOutput, error) + ListInstalledComponentsWithContext(aws.Context, *greengrassv2.ListInstalledComponentsInput, ...request.Option) (*greengrassv2.ListInstalledComponentsOutput, error) + ListInstalledComponentsRequest(*greengrassv2.ListInstalledComponentsInput) (*request.Request, *greengrassv2.ListInstalledComponentsOutput) + + ListInstalledComponentsPages(*greengrassv2.ListInstalledComponentsInput, func(*greengrassv2.ListInstalledComponentsOutput, bool) bool) error + ListInstalledComponentsPagesWithContext(aws.Context, *greengrassv2.ListInstalledComponentsInput, func(*greengrassv2.ListInstalledComponentsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*greengrassv2.ListTagsForResourceInput) (*greengrassv2.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *greengrassv2.ListTagsForResourceInput, ...request.Option) (*greengrassv2.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*greengrassv2.ListTagsForResourceInput) (*request.Request, *greengrassv2.ListTagsForResourceOutput) + + ResolveComponentCandidates(*greengrassv2.ResolveComponentCandidatesInput) (*greengrassv2.ResolveComponentCandidatesOutput, error) + ResolveComponentCandidatesWithContext(aws.Context, *greengrassv2.ResolveComponentCandidatesInput, ...request.Option) (*greengrassv2.ResolveComponentCandidatesOutput, error) + ResolveComponentCandidatesRequest(*greengrassv2.ResolveComponentCandidatesInput) (*request.Request, *greengrassv2.ResolveComponentCandidatesOutput) + + TagResource(*greengrassv2.TagResourceInput) (*greengrassv2.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *greengrassv2.TagResourceInput, ...request.Option) (*greengrassv2.TagResourceOutput, error) + TagResourceRequest(*greengrassv2.TagResourceInput) (*request.Request, *greengrassv2.TagResourceOutput) + + UntagResource(*greengrassv2.UntagResourceInput) (*greengrassv2.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *greengrassv2.UntagResourceInput, ...request.Option) (*greengrassv2.UntagResourceOutput, error) + UntagResourceRequest(*greengrassv2.UntagResourceInput) (*request.Request, *greengrassv2.UntagResourceOutput) +} + +var _ GreengrassV2API = (*greengrassv2.GreengrassV2)(nil) diff --git a/service/greengrassv2/service.go b/service/greengrassv2/service.go new file mode 100644 index 0000000000..8713a1344a --- /dev/null +++ b/service/greengrassv2/service.go @@ -0,0 +1,101 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package greengrassv2 + +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" +) + +// GreengrassV2 provides the API operation methods for making requests to +// AWS IoT Greengrass V2. See this package's package overview docs +// for details on the service. +// +// GreengrassV2 methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type GreengrassV2 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 = "GreengrassV2" // Name of service. + EndpointsID = "greengrass" // ID to lookup a service endpoint with. + ServiceID = "GreengrassV2" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the GreengrassV2 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 GreengrassV2 client from just a session. +// svc := greengrassv2.New(mySession) +// +// // Create a GreengrassV2 client with additional configuration +// svc := greengrassv2.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *GreengrassV2 { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *GreengrassV2 { + svc := &GreengrassV2{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-11-30", + }, + 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 GreengrassV2 operation and runs any +// custom request initialization. +func (c *GreengrassV2) 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/iot/api.go b/service/iot/api.go index f6b08f0273..138663d8b4 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -903,8 +903,7 @@ func (c *IoT) CancelAuditTaskRequest(input *CancelAuditTaskInput) (req *request. // CancelAuditTask API operation for AWS IoT. // // Cancels an audit that is in progress. The audit can be either scheduled or -// on-demand. If the audit is not in progress, an "InvalidRequestException" -// occurs. +// on demand. If the audit isn't in progress, an "InvalidRequestException" occurs. // // 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 @@ -1052,6 +1051,92 @@ func (c *IoT) CancelCertificateTransferWithContext(ctx aws.Context, input *Cance return out, req.Send() } +const opCancelDetectMitigationActionsTask = "CancelDetectMitigationActionsTask" + +// CancelDetectMitigationActionsTaskRequest generates a "aws/request.Request" representing the +// client's request for the CancelDetectMitigationActionsTask 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 CancelDetectMitigationActionsTask for more information on using the CancelDetectMitigationActionsTask +// 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 CancelDetectMitigationActionsTaskRequest method. +// req, resp := client.CancelDetectMitigationActionsTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CancelDetectMitigationActionsTaskRequest(input *CancelDetectMitigationActionsTaskInput) (req *request.Request, output *CancelDetectMitigationActionsTaskOutput) { + op := &request.Operation{ + Name: opCancelDetectMitigationActionsTask, + HTTPMethod: "PUT", + HTTPPath: "/detect/mitigationactions/tasks/{taskId}/cancel", + } + + if input == nil { + input = &CancelDetectMitigationActionsTaskInput{} + } + + output = &CancelDetectMitigationActionsTaskOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CancelDetectMitigationActionsTask API operation for AWS IoT. +// +// Cancels a Device Defender ML Detect mitigation 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's +// API operation CancelDetectMitigationActionsTask for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) CancelDetectMitigationActionsTask(input *CancelDetectMitigationActionsTaskInput) (*CancelDetectMitigationActionsTaskOutput, error) { + req, out := c.CancelDetectMitigationActionsTaskRequest(input) + return out, req.Send() +} + +// CancelDetectMitigationActionsTaskWithContext is the same as CancelDetectMitigationActionsTask with the addition of +// the ability to pass a context and additional request options. +// +// See CancelDetectMitigationActionsTask 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 *IoT) CancelDetectMitigationActionsTaskWithContext(ctx aws.Context, input *CancelDetectMitigationActionsTaskInput, opts ...request.Option) (*CancelDetectMitigationActionsTaskOutput, error) { + req, out := c.CancelDetectMitigationActionsTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCancelJob = "CancelJob" // CancelJobRequest generates a "aws/request.Request" representing the @@ -1814,6 +1899,95 @@ func (c *IoT) CreateCertificateFromCsrWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateCustomMetric = "CreateCustomMetric" + +// CreateCustomMetricRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomMetric 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 CreateCustomMetric for more information on using the CreateCustomMetric +// 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 CreateCustomMetricRequest method. +// req, resp := client.CreateCustomMetricRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateCustomMetricRequest(input *CreateCustomMetricInput) (req *request.Request, output *CreateCustomMetricOutput) { + op := &request.Operation{ + Name: opCreateCustomMetric, + HTTPMethod: "POST", + HTTPPath: "/custom-metric/{metricName}", + } + + if input == nil { + input = &CreateCustomMetricInput{} + } + + output = &CreateCustomMetricOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCustomMetric API operation for AWS IoT. +// +// Use this API to define a Custom Metric published by your devices to Device +// Defender. +// +// 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's +// API operation CreateCustomMetric for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * LimitExceededException +// A limit has been exceeded. +// +// * ResourceAlreadyExistsException +// The resource already exists. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) CreateCustomMetric(input *CreateCustomMetricInput) (*CreateCustomMetricOutput, error) { + req, out := c.CreateCustomMetricRequest(input) + return out, req.Send() +} + +// CreateCustomMetricWithContext is the same as CreateCustomMetric with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCustomMetric 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 *IoT) CreateCustomMetricWithContext(ctx aws.Context, input *CreateCustomMetricInput, opts ...request.Option) (*CreateCustomMetricOutput, error) { + req, out := c.CreateCustomMetricRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDimension = "CreateDimension" // CreateDimensionRequest generates a "aws/request.Request" representing the @@ -4330,6 +4504,95 @@ func (c *IoT) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertifi return out, req.Send() } +const opDeleteCustomMetric = "DeleteCustomMetric" + +// DeleteCustomMetricRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomMetric 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 DeleteCustomMetric for more information on using the DeleteCustomMetric +// 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 DeleteCustomMetricRequest method. +// req, resp := client.DeleteCustomMetricRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteCustomMetricRequest(input *DeleteCustomMetricInput) (req *request.Request, output *DeleteCustomMetricOutput) { + op := &request.Operation{ + Name: opDeleteCustomMetric, + HTTPMethod: "DELETE", + HTTPPath: "/custom-metric/{metricName}", + } + + if input == nil { + input = &DeleteCustomMetricInput{} + } + + output = &DeleteCustomMetricOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCustomMetric API operation for AWS IoT. +// +// +// Before you can delete a custom metric, you must first remove the custom metric +// from all security profiles it's a part of. The security profile associated +// with the custom metric can be found using the ListSecurityProfiles (https://docs.aws.amazon.com/iot/latest/apireference/API_ListSecurityProfiles.html) +// API with metricName set to your custom metric name. +// +// Deletes a Device Defender detect custom metric. +// +// 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's +// API operation DeleteCustomMetric for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) DeleteCustomMetric(input *DeleteCustomMetricInput) (*DeleteCustomMetricOutput, error) { + req, out := c.DeleteCustomMetricRequest(input) + return out, req.Send() +} + +// DeleteCustomMetricWithContext is the same as DeleteCustomMetric with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCustomMetric 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 *IoT) DeleteCustomMetricWithContext(ctx aws.Context, input *DeleteCustomMetricInput, opts ...request.Option) (*DeleteCustomMetricOutput, error) { + req, out := c.DeleteCustomMetricRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDimension = "DeleteDimension" // DeleteDimensionRequest generates a "aws/request.Request" representing the @@ -6574,8 +6837,8 @@ func (c *IoT) DescribeAuditFindingRequest(input *DescribeAuditFindingInput) (req // DescribeAuditFinding API operation for AWS IoT. // // Gets information about a single audit finding. Properties include the reason -// for noncompliance, the severity of the issue, and when the audit that returned -// the finding was started. +// for noncompliance, the severity of the issue, and the start time when the +// audit that returned the finding. // // 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 @@ -7234,6 +7497,91 @@ func (c *IoT) DescribeCertificateWithContext(ctx aws.Context, input *DescribeCer return out, req.Send() } +const opDescribeCustomMetric = "DescribeCustomMetric" + +// DescribeCustomMetricRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomMetric 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 DescribeCustomMetric for more information on using the DescribeCustomMetric +// 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 DescribeCustomMetricRequest method. +// req, resp := client.DescribeCustomMetricRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeCustomMetricRequest(input *DescribeCustomMetricInput) (req *request.Request, output *DescribeCustomMetricOutput) { + op := &request.Operation{ + Name: opDescribeCustomMetric, + HTTPMethod: "GET", + HTTPPath: "/custom-metric/{metricName}", + } + + if input == nil { + input = &DescribeCustomMetricInput{} + } + + output = &DescribeCustomMetricOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCustomMetric API operation for AWS IoT. +// +// Gets information about a Device Defender detect custom metric. +// +// 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's +// API operation DescribeCustomMetric for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) DescribeCustomMetric(input *DescribeCustomMetricInput) (*DescribeCustomMetricOutput, error) { + req, out := c.DescribeCustomMetricRequest(input) + return out, req.Send() +} + +// DescribeCustomMetricWithContext is the same as DescribeCustomMetric with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCustomMetric 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 *IoT) DescribeCustomMetricWithContext(ctx aws.Context, input *DescribeCustomMetricInput, opts ...request.Option) (*DescribeCustomMetricOutput, error) { + req, out := c.DescribeCustomMetricRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDefaultAuthorizer = "DescribeDefaultAuthorizer" // DescribeDefaultAuthorizerRequest generates a "aws/request.Request" representing the @@ -7325,6 +7673,91 @@ func (c *IoT) DescribeDefaultAuthorizerWithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeDetectMitigationActionsTask = "DescribeDetectMitigationActionsTask" + +// DescribeDetectMitigationActionsTaskRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDetectMitigationActionsTask 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 DescribeDetectMitigationActionsTask for more information on using the DescribeDetectMitigationActionsTask +// 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 DescribeDetectMitigationActionsTaskRequest method. +// req, resp := client.DescribeDetectMitigationActionsTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeDetectMitigationActionsTaskRequest(input *DescribeDetectMitigationActionsTaskInput) (req *request.Request, output *DescribeDetectMitigationActionsTaskOutput) { + op := &request.Operation{ + Name: opDescribeDetectMitigationActionsTask, + HTTPMethod: "GET", + HTTPPath: "/detect/mitigationactions/tasks/{taskId}", + } + + if input == nil { + input = &DescribeDetectMitigationActionsTaskInput{} + } + + output = &DescribeDetectMitigationActionsTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDetectMitigationActionsTask API operation for AWS IoT. +// +// Gets information about a Device Defender ML Detect mitigation 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's +// API operation DescribeDetectMitigationActionsTask for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) DescribeDetectMitigationActionsTask(input *DescribeDetectMitigationActionsTaskInput) (*DescribeDetectMitigationActionsTaskOutput, error) { + req, out := c.DescribeDetectMitigationActionsTaskRequest(input) + return out, req.Send() +} + +// DescribeDetectMitigationActionsTaskWithContext is the same as DescribeDetectMitigationActionsTask with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDetectMitigationActionsTask 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 *IoT) DescribeDetectMitigationActionsTaskWithContext(ctx aws.Context, input *DescribeDetectMitigationActionsTaskInput, opts ...request.Option) (*DescribeDetectMitigationActionsTaskOutput, error) { + req, out := c.DescribeDetectMitigationActionsTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDimension = "DescribeDimension" // DescribeDimensionRequest generates a "aws/request.Request" representing the @@ -9455,6 +9888,149 @@ func (c *IoT) EnableTopicRuleWithContext(ctx aws.Context, input *EnableTopicRule return out, req.Send() } +const opGetBehaviorModelTrainingSummaries = "GetBehaviorModelTrainingSummaries" + +// GetBehaviorModelTrainingSummariesRequest generates a "aws/request.Request" representing the +// client's request for the GetBehaviorModelTrainingSummaries 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 GetBehaviorModelTrainingSummaries for more information on using the GetBehaviorModelTrainingSummaries +// 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 GetBehaviorModelTrainingSummariesRequest method. +// req, resp := client.GetBehaviorModelTrainingSummariesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) GetBehaviorModelTrainingSummariesRequest(input *GetBehaviorModelTrainingSummariesInput) (req *request.Request, output *GetBehaviorModelTrainingSummariesOutput) { + op := &request.Operation{ + Name: opGetBehaviorModelTrainingSummaries, + HTTPMethod: "GET", + HTTPPath: "/behavior-model-training/summaries", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetBehaviorModelTrainingSummariesInput{} + } + + output = &GetBehaviorModelTrainingSummariesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBehaviorModelTrainingSummaries API operation for AWS IoT. +// +// Returns a Device Defender's ML Detect Security Profile training model's status. +// +// 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's +// API operation GetBehaviorModelTrainingSummaries for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +func (c *IoT) GetBehaviorModelTrainingSummaries(input *GetBehaviorModelTrainingSummariesInput) (*GetBehaviorModelTrainingSummariesOutput, error) { + req, out := c.GetBehaviorModelTrainingSummariesRequest(input) + return out, req.Send() +} + +// GetBehaviorModelTrainingSummariesWithContext is the same as GetBehaviorModelTrainingSummaries with the addition of +// the ability to pass a context and additional request options. +// +// See GetBehaviorModelTrainingSummaries 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 *IoT) GetBehaviorModelTrainingSummariesWithContext(ctx aws.Context, input *GetBehaviorModelTrainingSummariesInput, opts ...request.Option) (*GetBehaviorModelTrainingSummariesOutput, error) { + req, out := c.GetBehaviorModelTrainingSummariesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetBehaviorModelTrainingSummariesPages iterates over the pages of a GetBehaviorModelTrainingSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetBehaviorModelTrainingSummaries 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 GetBehaviorModelTrainingSummaries operation. +// pageNum := 0 +// err := client.GetBehaviorModelTrainingSummariesPages(params, +// func(page *iot.GetBehaviorModelTrainingSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) GetBehaviorModelTrainingSummariesPages(input *GetBehaviorModelTrainingSummariesInput, fn func(*GetBehaviorModelTrainingSummariesOutput, bool) bool) error { + return c.GetBehaviorModelTrainingSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetBehaviorModelTrainingSummariesPagesWithContext same as GetBehaviorModelTrainingSummariesPages 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 *IoT) GetBehaviorModelTrainingSummariesPagesWithContext(ctx aws.Context, input *GetBehaviorModelTrainingSummariesInput, fn func(*GetBehaviorModelTrainingSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetBehaviorModelTrainingSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetBehaviorModelTrainingSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetBehaviorModelTrainingSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetCardinality = "GetCardinality" // GetCardinalityRequest generates a "aws/request.Request" representing the @@ -12462,6 +13038,427 @@ func (c *IoT) ListCertificatesByCAPagesWithContext(ctx aws.Context, input *ListC return p.Err() } +const opListCustomMetrics = "ListCustomMetrics" + +// ListCustomMetricsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomMetrics 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 ListCustomMetrics for more information on using the ListCustomMetrics +// 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 ListCustomMetricsRequest method. +// req, resp := client.ListCustomMetricsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListCustomMetricsRequest(input *ListCustomMetricsInput) (req *request.Request, output *ListCustomMetricsOutput) { + op := &request.Operation{ + Name: opListCustomMetrics, + HTTPMethod: "GET", + HTTPPath: "/custom-metrics", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomMetricsInput{} + } + + output = &ListCustomMetricsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomMetrics API operation for AWS IoT. +// +// Lists your Device Defender detect custom metrics. +// +// 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's +// API operation ListCustomMetrics for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) ListCustomMetrics(input *ListCustomMetricsInput) (*ListCustomMetricsOutput, error) { + req, out := c.ListCustomMetricsRequest(input) + return out, req.Send() +} + +// ListCustomMetricsWithContext is the same as ListCustomMetrics with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomMetrics 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 *IoT) ListCustomMetricsWithContext(ctx aws.Context, input *ListCustomMetricsInput, opts ...request.Option) (*ListCustomMetricsOutput, error) { + req, out := c.ListCustomMetricsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomMetricsPages iterates over the pages of a ListCustomMetrics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomMetrics 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 ListCustomMetrics operation. +// pageNum := 0 +// err := client.ListCustomMetricsPages(params, +// func(page *iot.ListCustomMetricsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListCustomMetricsPages(input *ListCustomMetricsInput, fn func(*ListCustomMetricsOutput, bool) bool) error { + return c.ListCustomMetricsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomMetricsPagesWithContext same as ListCustomMetricsPages 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 *IoT) ListCustomMetricsPagesWithContext(ctx aws.Context, input *ListCustomMetricsInput, fn func(*ListCustomMetricsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomMetricsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomMetricsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomMetricsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDetectMitigationActionsExecutions = "ListDetectMitigationActionsExecutions" + +// ListDetectMitigationActionsExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDetectMitigationActionsExecutions 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 ListDetectMitigationActionsExecutions for more information on using the ListDetectMitigationActionsExecutions +// 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 ListDetectMitigationActionsExecutionsRequest method. +// req, resp := client.ListDetectMitigationActionsExecutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListDetectMitigationActionsExecutionsRequest(input *ListDetectMitigationActionsExecutionsInput) (req *request.Request, output *ListDetectMitigationActionsExecutionsOutput) { + op := &request.Operation{ + Name: opListDetectMitigationActionsExecutions, + HTTPMethod: "GET", + HTTPPath: "/detect/mitigationactions/executions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDetectMitigationActionsExecutionsInput{} + } + + output = &ListDetectMitigationActionsExecutionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDetectMitigationActionsExecutions API operation for AWS IoT. +// +// Lists mitigation actions executions for a Device Defender ML Detect Security +// Profile. +// +// 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's +// API operation ListDetectMitigationActionsExecutions for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) ListDetectMitigationActionsExecutions(input *ListDetectMitigationActionsExecutionsInput) (*ListDetectMitigationActionsExecutionsOutput, error) { + req, out := c.ListDetectMitigationActionsExecutionsRequest(input) + return out, req.Send() +} + +// ListDetectMitigationActionsExecutionsWithContext is the same as ListDetectMitigationActionsExecutions with the addition of +// the ability to pass a context and additional request options. +// +// See ListDetectMitigationActionsExecutions 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 *IoT) ListDetectMitigationActionsExecutionsWithContext(ctx aws.Context, input *ListDetectMitigationActionsExecutionsInput, opts ...request.Option) (*ListDetectMitigationActionsExecutionsOutput, error) { + req, out := c.ListDetectMitigationActionsExecutionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDetectMitigationActionsExecutionsPages iterates over the pages of a ListDetectMitigationActionsExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDetectMitigationActionsExecutions 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 ListDetectMitigationActionsExecutions operation. +// pageNum := 0 +// err := client.ListDetectMitigationActionsExecutionsPages(params, +// func(page *iot.ListDetectMitigationActionsExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListDetectMitigationActionsExecutionsPages(input *ListDetectMitigationActionsExecutionsInput, fn func(*ListDetectMitigationActionsExecutionsOutput, bool) bool) error { + return c.ListDetectMitigationActionsExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDetectMitigationActionsExecutionsPagesWithContext same as ListDetectMitigationActionsExecutionsPages 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 *IoT) ListDetectMitigationActionsExecutionsPagesWithContext(ctx aws.Context, input *ListDetectMitigationActionsExecutionsInput, fn func(*ListDetectMitigationActionsExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDetectMitigationActionsExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDetectMitigationActionsExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDetectMitigationActionsExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDetectMitigationActionsTasks = "ListDetectMitigationActionsTasks" + +// ListDetectMitigationActionsTasksRequest generates a "aws/request.Request" representing the +// client's request for the ListDetectMitigationActionsTasks 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 ListDetectMitigationActionsTasks for more information on using the ListDetectMitigationActionsTasks +// 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 ListDetectMitigationActionsTasksRequest method. +// req, resp := client.ListDetectMitigationActionsTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListDetectMitigationActionsTasksRequest(input *ListDetectMitigationActionsTasksInput) (req *request.Request, output *ListDetectMitigationActionsTasksOutput) { + op := &request.Operation{ + Name: opListDetectMitigationActionsTasks, + HTTPMethod: "GET", + HTTPPath: "/detect/mitigationactions/tasks", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDetectMitigationActionsTasksInput{} + } + + output = &ListDetectMitigationActionsTasksOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDetectMitigationActionsTasks API operation for AWS IoT. +// +// List of Device Defender ML Detect mitigation actions tasks. +// +// 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's +// API operation ListDetectMitigationActionsTasks for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) ListDetectMitigationActionsTasks(input *ListDetectMitigationActionsTasksInput) (*ListDetectMitigationActionsTasksOutput, error) { + req, out := c.ListDetectMitigationActionsTasksRequest(input) + return out, req.Send() +} + +// ListDetectMitigationActionsTasksWithContext is the same as ListDetectMitigationActionsTasks with the addition of +// the ability to pass a context and additional request options. +// +// See ListDetectMitigationActionsTasks 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 *IoT) ListDetectMitigationActionsTasksWithContext(ctx aws.Context, input *ListDetectMitigationActionsTasksInput, opts ...request.Option) (*ListDetectMitigationActionsTasksOutput, error) { + req, out := c.ListDetectMitigationActionsTasksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDetectMitigationActionsTasksPages iterates over the pages of a ListDetectMitigationActionsTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDetectMitigationActionsTasks 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 ListDetectMitigationActionsTasks operation. +// pageNum := 0 +// err := client.ListDetectMitigationActionsTasksPages(params, +// func(page *iot.ListDetectMitigationActionsTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListDetectMitigationActionsTasksPages(input *ListDetectMitigationActionsTasksInput, fn func(*ListDetectMitigationActionsTasksOutput, bool) bool) error { + return c.ListDetectMitigationActionsTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDetectMitigationActionsTasksPagesWithContext same as ListDetectMitigationActionsTasksPages 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 *IoT) ListDetectMitigationActionsTasksPagesWithContext(ctx aws.Context, input *ListDetectMitigationActionsTasksInput, fn func(*ListDetectMitigationActionsTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDetectMitigationActionsTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDetectMitigationActionsTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDetectMitigationActionsTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDimensions = "ListDimensions" // ListDimensionsRequest generates a "aws/request.Request" representing the @@ -15098,9 +16095,10 @@ func (c *IoT) ListSecurityProfilesRequest(input *ListSecurityProfilesInput) (req // ListSecurityProfiles API operation for AWS IoT. // -// Lists the Device Defender security profiles you have created. You can use -// filters to list only those security profiles associated with a thing group -// or only those associated with your account. +// Lists the Device Defender security profiles you've created. You can filter +// security profiles by dimension or custom metric. +// +// dimensionName and metricName cannot be used in the same request. // // 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 @@ -19213,6 +20211,95 @@ func (c *IoT) StartAuditMitigationActionsTaskWithContext(ctx aws.Context, input return out, req.Send() } +const opStartDetectMitigationActionsTask = "StartDetectMitigationActionsTask" + +// StartDetectMitigationActionsTaskRequest generates a "aws/request.Request" representing the +// client's request for the StartDetectMitigationActionsTask 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 StartDetectMitigationActionsTask for more information on using the StartDetectMitigationActionsTask +// 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 StartDetectMitigationActionsTaskRequest method. +// req, resp := client.StartDetectMitigationActionsTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) StartDetectMitigationActionsTaskRequest(input *StartDetectMitigationActionsTaskInput) (req *request.Request, output *StartDetectMitigationActionsTaskOutput) { + op := &request.Operation{ + Name: opStartDetectMitigationActionsTask, + HTTPMethod: "PUT", + HTTPPath: "/detect/mitigationactions/tasks/{taskId}", + } + + if input == nil { + input = &StartDetectMitigationActionsTaskInput{} + } + + output = &StartDetectMitigationActionsTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartDetectMitigationActionsTask API operation for AWS IoT. +// +// Starts a Device Defender ML Detect mitigation actions task. +// +// 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's +// API operation StartDetectMitigationActionsTask for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * TaskAlreadyExistsException +// This exception occurs if you attempt to start a task with the same task-id +// as an existing task but with a different clientRequestToken. +// +// * LimitExceededException +// A limit has been exceeded. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) StartDetectMitigationActionsTask(input *StartDetectMitigationActionsTaskInput) (*StartDetectMitigationActionsTaskOutput, error) { + req, out := c.StartDetectMitigationActionsTaskRequest(input) + return out, req.Send() +} + +// StartDetectMitigationActionsTaskWithContext is the same as StartDetectMitigationActionsTask with the addition of +// the ability to pass a context and additional request options. +// +// See StartDetectMitigationActionsTask 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 *IoT) StartDetectMitigationActionsTaskWithContext(ctx aws.Context, input *StartDetectMitigationActionsTaskInput, opts ...request.Option) (*StartDetectMitigationActionsTaskOutput, error) { + req, out := c.StartDetectMitigationActionsTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartOnDemandAuditTask = "StartOnDemandAuditTask" // StartOnDemandAuditTaskRequest generates a "aws/request.Request" representing the @@ -20498,6 +21585,91 @@ func (c *IoT) UpdateCertificateWithContext(ctx aws.Context, input *UpdateCertifi return out, req.Send() } +const opUpdateCustomMetric = "UpdateCustomMetric" + +// UpdateCustomMetricRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCustomMetric 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 UpdateCustomMetric for more information on using the UpdateCustomMetric +// 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 UpdateCustomMetricRequest method. +// req, resp := client.UpdateCustomMetricRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateCustomMetricRequest(input *UpdateCustomMetricInput) (req *request.Request, output *UpdateCustomMetricOutput) { + op := &request.Operation{ + Name: opUpdateCustomMetric, + HTTPMethod: "PATCH", + HTTPPath: "/custom-metric/{metricName}", + } + + if input == nil { + input = &UpdateCustomMetricInput{} + } + + output = &UpdateCustomMetricOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCustomMetric API operation for AWS IoT. +// +// Updates a Device Defender detect custom metric. +// +// 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's +// API operation UpdateCustomMetric for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) UpdateCustomMetric(input *UpdateCustomMetricInput) (*UpdateCustomMetricOutput, error) { + req, out := c.UpdateCustomMetricRequest(input) + return out, req.Send() +} + +// UpdateCustomMetricWithContext is the same as UpdateCustomMetric with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCustomMetric 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 *IoT) UpdateCustomMetricWithContext(ctx aws.Context, input *UpdateCustomMetricInput, opts ...request.Option) (*UpdateCustomMetricOutput, error) { + req, out := c.UpdateCustomMetricRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateDimension = "UpdateDimension" // UpdateDimensionRequest generates a "aws/request.Request" representing the @@ -20541,7 +21713,7 @@ func (c *IoT) UpdateDimensionRequest(input *UpdateDimensionInput) (req *request. // UpdateDimension API operation for AWS IoT. // // Updates the definition for a dimension. You cannot change the type of a dimension -// after it is created (you can delete it and re-create it). +// after it is created (you can delete it and recreate it). // // 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 @@ -22254,6 +23426,10 @@ type Action struct { // asset properties. IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"` + // Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) + // or self-managed Apache Kafka cluster. + Kafka *KafkaAction `locationName:"kafka" type:"structure"` + // Write data to an Amazon Kinesis stream. Kinesis *KinesisAction `locationName:"kinesis" type:"structure"` @@ -22348,6 +23524,11 @@ func (s *Action) Validate() error { invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams)) } } + if s.Kafka != nil { + if err := s.Kafka.Validate(); err != nil { + invalidParams.AddNested("Kafka", err.(request.ErrInvalidParams)) + } + } if s.Kinesis != nil { if err := s.Kinesis.Validate(); err != nil { invalidParams.AddNested("Kinesis", err.(request.ErrInvalidParams)) @@ -22466,6 +23647,12 @@ func (s *Action) SetIotSiteWise(v *IotSiteWiseAction) *Action { return s } +// SetKafka sets the Kafka field's value. +func (s *Action) SetKafka(v *KafkaAction) *Action { + s.Kafka = v + return s +} + // SetKinesis sets the Kinesis field's value. func (s *Action) SetKinesis(v *KinesisAction) *Action { s.Kinesis = v @@ -22524,21 +23711,24 @@ func (s *Action) SetTimestream(v *TimestreamAction) *Action { type ActiveViolation struct { _ struct{} `type:"structure"` - // The behavior which is being violated. + // The behavior that is being violated. Behavior *Behavior `locationName:"behavior" type:"structure"` // The time the most recent violation occurred. LastViolationTime *time.Time `locationName:"lastViolationTime" type:"timestamp"` - // The value of the metric (the measurement) which caused the most recent violation. + // The value of the metric (the measurement) that caused the most recent violation. LastViolationValue *MetricValue `locationName:"lastViolationValue" type:"structure"` - // The security profile whose behavior is in violation. + // The security profile with the behavior is in violation. SecurityProfileName *string `locationName:"securityProfileName" min:"1" type:"string"` // The name of the thing responsible for the active violation. ThingName *string `locationName:"thingName" min:"1" type:"string"` + // The details of a violation event. + ViolationEventAdditionalInfo *ViolationEventAdditionalInfo `locationName:"violationEventAdditionalInfo" type:"structure"` + // The ID of the active violation. ViolationId *string `locationName:"violationId" min:"1" type:"string"` @@ -22586,6 +23776,12 @@ func (s *ActiveViolation) SetThingName(v string) *ActiveViolation { return s } +// SetViolationEventAdditionalInfo sets the ViolationEventAdditionalInfo field's value. +func (s *ActiveViolation) SetViolationEventAdditionalInfo(v *ViolationEventAdditionalInfo) *ActiveViolation { + s.ViolationEventAdditionalInfo = v + return s +} + // SetViolationId sets the ViolationId field's value. func (s *ActiveViolation) SetViolationId(v string) *ActiveViolation { s.ViolationId = &v @@ -22776,12 +23972,12 @@ type AddThingsToThingGroupParams struct { _ struct{} `type:"structure"` // Specifies if this mitigation action can move the things that triggered the - // mitigation action even if they are part of one or more dynamic things groups. + // mitigation action even if they are part of one or more dynamic thing groups. OverrideDynamicGroups *bool `locationName:"overrideDynamicGroups" type:"boolean"` // The list of groups to which you want to add the things that triggered the // mitigation action. You can add a thing to a maximum of 10 groups, but you - // cannot add a thing to more than one group in the same hierarchy. + // can't add a thing to more than one group in the same hierarchy. // // ThingGroupNames is a required field ThingGroupNames []*string `locationName:"thingGroupNames" min:"1" type:"list" required:"true"` @@ -22829,7 +24025,8 @@ func (s *AddThingsToThingGroupParams) SetThingGroupNames(v []*string) *AddThings type AlertTarget struct { _ struct{} `type:"structure"` - // The ARN of the notification target to which alerts are sent. + // The Amazon Resource Name (ARN) of the notification target to which alerts + // are sent. // // AlertTargetArn is a required field AlertTargetArn *string `locationName:"alertTargetArn" type:"string" required:"true"` @@ -24823,14 +26020,18 @@ type Behavior struct { Metric *string `locationName:"metric" type:"string"` // The dimension for a metric in your behavior. For example, using a TOPIC_FILTER - // dimension, you can narrow down the scope of the metric only to MQTT topics - // whose name match the pattern specified in the dimension. + // dimension, you can narrow down the scope of the metric to only MQTT topics + // where the name matches the pattern specified in the dimension. This can't + // be used with custom metrics. MetricDimension *MetricDimension `locationName:"metricDimension" type:"structure"` - // The name you have given to the behavior. + // The name you've given to the behavior. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Suppresses alerts. + SuppressAlerts *bool `locationName:"suppressAlerts" type:"boolean"` } // String returns the string representation @@ -24893,12 +26094,26 @@ func (s *Behavior) SetName(v string) *Behavior { return s } +// SetSuppressAlerts sets the SuppressAlerts field's value. +func (s *Behavior) SetSuppressAlerts(v bool) *Behavior { + s.SuppressAlerts = &v + return s +} + // The criteria by which the behavior is determined to be normal. type BehaviorCriteria struct { _ struct{} `type:"structure"` // The operator that relates the thing measured (metric) to the criteria (containing - // a value or statisticalThreshold). + // a value or statisticalThreshold). Valid operators include: + // + // * string-list: in-set and not-in-set + // + // * number-list: in-set and not-in-set + // + // * ip-address-list: in-cidr-set and not-in-cidr-set + // + // * number: less-than, less-than-equals, greater-than, and greater-than-equals ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"` // If a device is in violation of the behavior for the specified number of consecutive @@ -24911,14 +26126,18 @@ type BehaviorCriteria struct { ConsecutiveDatapointsToClear *int64 `locationName:"consecutiveDatapointsToClear" min:"1" type:"integer"` // Use this to specify the time duration over which the behavior is evaluated, - // for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT). + // for those criteria that have a time dimension (for example, NUM_MESSAGES_SENT). // For a statisticalThreshhold metric comparison, measurements from all devices // are accumulated over this time duration before being used to calculate percentiles, // and later, measurements from an individual device are also accumulated over - // this time duration before being given a percentile rank. + // this time duration before being given a percentile rank. Cannot be used with + // list-based metric datatypes. DurationSeconds *int64 `locationName:"durationSeconds" type:"integer"` - // A statistical ranking (percentile) which indicates a threshold value by which + // The configuration of an ML Detect + MlDetectionConfig *MachineLearningDetectionConfig `locationName:"mlDetectionConfig" type:"structure"` + + // A statistical ranking (percentile)that indicates a threshold value by which // a behavior is determined to be in compliance or in violation of the behavior. StatisticalThreshold *StatisticalThreshold `locationName:"statisticalThreshold" type:"structure"` @@ -24945,6 +26164,11 @@ func (s *BehaviorCriteria) Validate() error { if s.ConsecutiveDatapointsToClear != nil && *s.ConsecutiveDatapointsToClear < 1 { invalidParams.Add(request.NewErrParamMinValue("ConsecutiveDatapointsToClear", 1)) } + if s.MlDetectionConfig != nil { + if err := s.MlDetectionConfig.Validate(); err != nil { + invalidParams.AddNested("MlDetectionConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -24976,6 +26200,12 @@ func (s *BehaviorCriteria) SetDurationSeconds(v int64) *BehaviorCriteria { return s } +// SetMlDetectionConfig sets the MlDetectionConfig field's value. +func (s *BehaviorCriteria) SetMlDetectionConfig(v *MachineLearningDetectionConfig) *BehaviorCriteria { + s.MlDetectionConfig = v + return s +} + // SetStatisticalThreshold sets the StatisticalThreshold field's value. func (s *BehaviorCriteria) SetStatisticalThreshold(v *StatisticalThreshold) *BehaviorCriteria { s.StatisticalThreshold = v @@ -24988,6 +26218,75 @@ func (s *BehaviorCriteria) SetValue(v *MetricValue) *BehaviorCriteria { return s } +// The summary of an ML Detect behavior model. +type BehaviorModelTrainingSummary struct { + _ struct{} `type:"structure"` + + // The name of the behavior. + BehaviorName *string `locationName:"behaviorName" min:"1" type:"string"` + + // The percentage of datapoints collected. + DatapointsCollectionPercentage *float64 `locationName:"datapointsCollectionPercentage" type:"double"` + + // The date the model was last refreshed. + LastModelRefreshDate *time.Time `locationName:"lastModelRefreshDate" type:"timestamp"` + + // The status of the behavior model. + ModelStatus *string `locationName:"modelStatus" type:"string" enum:"ModelStatus"` + + // The name of the security profile. + SecurityProfileName *string `locationName:"securityProfileName" min:"1" type:"string"` + + // The date a training model started collecting data. + TrainingDataCollectionStartDate *time.Time `locationName:"trainingDataCollectionStartDate" type:"timestamp"` +} + +// String returns the string representation +func (s BehaviorModelTrainingSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BehaviorModelTrainingSummary) GoString() string { + return s.String() +} + +// SetBehaviorName sets the BehaviorName field's value. +func (s *BehaviorModelTrainingSummary) SetBehaviorName(v string) *BehaviorModelTrainingSummary { + s.BehaviorName = &v + return s +} + +// SetDatapointsCollectionPercentage sets the DatapointsCollectionPercentage field's value. +func (s *BehaviorModelTrainingSummary) SetDatapointsCollectionPercentage(v float64) *BehaviorModelTrainingSummary { + s.DatapointsCollectionPercentage = &v + return s +} + +// SetLastModelRefreshDate sets the LastModelRefreshDate field's value. +func (s *BehaviorModelTrainingSummary) SetLastModelRefreshDate(v time.Time) *BehaviorModelTrainingSummary { + s.LastModelRefreshDate = &v + return s +} + +// SetModelStatus sets the ModelStatus field's value. +func (s *BehaviorModelTrainingSummary) SetModelStatus(v string) *BehaviorModelTrainingSummary { + s.ModelStatus = &v + return s +} + +// SetSecurityProfileName sets the SecurityProfileName field's value. +func (s *BehaviorModelTrainingSummary) SetSecurityProfileName(v string) *BehaviorModelTrainingSummary { + s.SecurityProfileName = &v + return s +} + +// SetTrainingDataCollectionStartDate sets the TrainingDataCollectionStartDate field's value. +func (s *BehaviorModelTrainingSummary) SetTrainingDataCollectionStartDate(v time.Time) *BehaviorModelTrainingSummary { + s.TrainingDataCollectionStartDate = &v + return s +} + // Additional information about the billing group. type BillingGroupMetadata struct { _ struct{} `type:"structure"` @@ -25372,6 +26671,61 @@ func (s CancelCertificateTransferOutput) GoString() string { return s.String() } +type CancelDetectMitigationActionsTaskInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the task. + // + // TaskId is a required field + TaskId *string `location:"uri" locationName:"taskId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelDetectMitigationActionsTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelDetectMitigationActionsTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelDetectMitigationActionsTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelDetectMitigationActionsTaskInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskId sets the TaskId field's value. +func (s *CancelDetectMitigationActionsTaskInput) SetTaskId(v string) *CancelDetectMitigationActionsTaskInput { + s.TaskId = &v + return s +} + +type CancelDetectMitigationActionsTaskOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CancelDetectMitigationActionsTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelDetectMitigationActionsTaskOutput) GoString() string { + return s.String() +} + type CancelJobExecutionInput struct { _ struct{} `type:"structure"` @@ -27004,6 +28358,141 @@ func (s *CreateCertificateFromCsrOutput) SetCertificatePem(v string) *CreateCert return s } +type CreateCustomMetricInput struct { + _ struct{} `type:"structure"` + + // Each custom metric must have a unique client request token. If you try to + // create a new custom metric that already exists with a different token, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // Field represents a friendly name in the console for the custom metric; it + // doesn't have to be unique. Don't use this name as the metric identifier in + // the device metric report. Can be updated once defined. + DisplayName *string `locationName:"displayName" type:"string"` + + // The name of the custom metric. This will be used in the metric report submitted + // from the device/thing. Shouldn't begin with aws:. Cannot be updated once + // defined. + // + // MetricName is a required field + MetricName *string `location:"uri" locationName:"metricName" min:"1" type:"string" required:"true"` + + // The type of the custom metric. Types include string-list, ip-address-list, + // number-list, and number. + // + // MetricType is a required field + MetricType *string `locationName:"metricType" type:"string" required:"true" enum:"CustomMetricType"` + + // Metadata that can be used to manage the custom metric. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s CreateCustomMetricInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomMetricInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCustomMetricInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomMetricInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + if s.MetricType == nil { + invalidParams.Add(request.NewErrParamRequired("MetricType")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateCustomMetricInput) SetClientRequestToken(v string) *CreateCustomMetricInput { + s.ClientRequestToken = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateCustomMetricInput) SetDisplayName(v string) *CreateCustomMetricInput { + s.DisplayName = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *CreateCustomMetricInput) SetMetricName(v string) *CreateCustomMetricInput { + s.MetricName = &v + return s +} + +// SetMetricType sets the MetricType field's value. +func (s *CreateCustomMetricInput) SetMetricType(v string) *CreateCustomMetricInput { + s.MetricType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCustomMetricInput) SetTags(v []*Tag) *CreateCustomMetricInput { + s.Tags = v + return s +} + +type CreateCustomMetricOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the custom metric, e.g. arn:aws-partition:iot:region:accountId:custommetric/metricName + MetricArn *string `locationName:"metricArn" type:"string"` + + // The name of the custom metric to be used in the metric report. + MetricName *string `locationName:"metricName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateCustomMetricOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomMetricOutput) GoString() string { + return s.String() +} + +// SetMetricArn sets the MetricArn field's value. +func (s *CreateCustomMetricOutput) SetMetricArn(v string) *CreateCustomMetricOutput { + s.MetricArn = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *CreateCustomMetricOutput) SetMetricName(v string) *CreateCustomMetricOutput { + s.MetricName = &v + return s +} + type CreateDimensionInput struct { _ struct{} `type:"structure"` @@ -27116,7 +28605,7 @@ func (s *CreateDimensionInput) SetType(v string) *CreateDimensionInput { type CreateDimensionOutput struct { _ struct{} `type:"structure"` - // The ARN (Amazon resource name) of the created dimension. + // The Amazon Resource Name (ARN) of the created dimension. Arn *string `locationName:"arn" type:"string"` // A unique identifier for the dimension. @@ -28975,20 +30464,19 @@ func (s *CreateRoleAliasOutput) SetRoleAliasArn(v string) *CreateRoleAliasOutput type CreateScheduledAuditInput struct { _ struct{} `type:"structure"` - // The day of the month on which the scheduled audit takes place. Can be "1" - // through "31" or "LAST". This field is required if the "frequency" parameter - // is set to "MONTHLY". If days 29-31 are specified, and the month does not - // have that many days, the audit takes place on the "LAST" day of the month. + // The day of the month on which the scheduled audit takes place. This can be + // "1" through "31" or "LAST". This field is required if the "frequency" parameter + // is set to MONTHLY. If days 29 to 31 are specified, and the month doesn't + // have that many days, the audit takes place on the LAST day of the month. DayOfMonth *string `locationName:"dayOfMonth" type:"string"` - // The day of the week on which the scheduled audit takes place. Can be one - // of "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT". This field is required - // if the "frequency" parameter is set to "WEEKLY" or "BIWEEKLY". + // The day of the week on which the scheduled audit takes place, either SUN, + // MON, TUE, WED, THU, FRI, or SAT. This field is required if the frequency + // parameter is set to WEEKLY or BIWEEKLY. DayOfWeek *string `locationName:"dayOfWeek" type:"string" enum:"DayOfWeek"` - // How often the scheduled audit takes place. Can be one of "DAILY", "WEEKLY", - // "BIWEEKLY" or "MONTHLY". The start time of each audit is determined by the - // system. + // How often the scheduled audit takes place, either DAILY, WEEKLY, BIWEEKLY + // or MONTHLY. The start time of each audit is determined by the system. // // Frequency is a required field Frequency *string `locationName:"frequency" type:"string" required:"true" enum:"AuditFrequency"` @@ -29118,14 +30606,16 @@ type CreateSecurityProfileInput struct { // // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for - // any metric specified here. + // any metric specified here. Can be used with custom metrics; cannot be used + // with dimensions. // // Deprecated: Use additionalMetricsToRetainV2. AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for - // any metric specified here. + // any metric specified here. Can be used with custom metrics; cannot be used + // with dimensions. AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Specifies the destinations to which alerts are sent. (Alerts are always sent @@ -30432,6 +31922,61 @@ func (s *DeleteConflictException) RequestID() string { return s.RespMetadata.RequestID } +type DeleteCustomMetricInput struct { + _ struct{} `type:"structure"` + + // The name of the custom metric. + // + // MetricName is a required field + MetricName *string `location:"uri" locationName:"metricName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCustomMetricInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCustomMetricInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCustomMetricInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomMetricInput"} + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricName sets the MetricName field's value. +func (s *DeleteCustomMetricInput) SetMetricName(v string) *DeleteCustomMetricInput { + s.MetricName = &v + return s +} + +type DeleteCustomMetricOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCustomMetricOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCustomMetricOutput) GoString() string { + return s.String() +} + type DeleteDimensionInput struct { _ struct{} `type:"structure"` @@ -32729,6 +34274,118 @@ func (s *DescribeCertificateOutput) SetCertificateDescription(v *CertificateDesc return s } +type DescribeCustomMetricInput struct { + _ struct{} `type:"structure"` + + // The name of the custom metric. + // + // MetricName is a required field + MetricName *string `location:"uri" locationName:"metricName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeCustomMetricInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCustomMetricInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCustomMetricInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCustomMetricInput"} + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricName sets the MetricName field's value. +func (s *DescribeCustomMetricInput) SetMetricName(v string) *DescribeCustomMetricInput { + s.MetricName = &v + return s +} + +type DescribeCustomMetricOutput struct { + _ struct{} `type:"structure"` + + // The creation date of the custom metric in milliseconds since epoch. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // Field represents a friendly name in the console for the custom metric; doesn't + // have to be unique. Don't use this name as the metric identifier in the device + // metric report. Can be updated. + DisplayName *string `locationName:"displayName" type:"string"` + + // The time the custom metric was last modified in milliseconds since epoch. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The Amazon Resource Number (ARN) of the custom metric. + MetricArn *string `locationName:"metricArn" type:"string"` + + // The name of the custom metric. + MetricName *string `locationName:"metricName" min:"1" type:"string"` + + // The type of the custom metric. Types include string-list, ip-address-list, + // number-list, and number. + MetricType *string `locationName:"metricType" type:"string" enum:"CustomMetricType"` +} + +// String returns the string representation +func (s DescribeCustomMetricOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCustomMetricOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeCustomMetricOutput) SetCreationDate(v time.Time) *DescribeCustomMetricOutput { + s.CreationDate = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *DescribeCustomMetricOutput) SetDisplayName(v string) *DescribeCustomMetricOutput { + s.DisplayName = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *DescribeCustomMetricOutput) SetLastModifiedDate(v time.Time) *DescribeCustomMetricOutput { + s.LastModifiedDate = &v + return s +} + +// SetMetricArn sets the MetricArn field's value. +func (s *DescribeCustomMetricOutput) SetMetricArn(v string) *DescribeCustomMetricOutput { + s.MetricArn = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *DescribeCustomMetricOutput) SetMetricName(v string) *DescribeCustomMetricOutput { + s.MetricName = &v + return s +} + +// SetMetricType sets the MetricType field's value. +func (s *DescribeCustomMetricOutput) SetMetricType(v string) *DescribeCustomMetricOutput { + s.MetricType = &v + return s +} + type DescribeDefaultAuthorizerInput struct { _ struct{} `type:"structure"` } @@ -32766,6 +34423,70 @@ func (s *DescribeDefaultAuthorizerOutput) SetAuthorizerDescription(v *Authorizer return s } +type DescribeDetectMitigationActionsTaskInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the task. + // + // TaskId is a required field + TaskId *string `location:"uri" locationName:"taskId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDetectMitigationActionsTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDetectMitigationActionsTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDetectMitigationActionsTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDetectMitigationActionsTaskInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskId sets the TaskId field's value. +func (s *DescribeDetectMitigationActionsTaskInput) SetTaskId(v string) *DescribeDetectMitigationActionsTaskInput { + s.TaskId = &v + return s +} + +type DescribeDetectMitigationActionsTaskOutput struct { + _ struct{} `type:"structure"` + + // The description of a task. + TaskSummary *DetectMitigationActionsTaskSummary `locationName:"taskSummary" type:"structure"` +} + +// String returns the string representation +func (s DescribeDetectMitigationActionsTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDetectMitigationActionsTaskOutput) GoString() string { + return s.String() +} + +// SetTaskSummary sets the TaskSummary field's value. +func (s *DescribeDetectMitigationActionsTaskOutput) SetTaskSummary(v *DetectMitigationActionsTaskSummary) *DescribeDetectMitigationActionsTaskOutput { + s.TaskSummary = v + return s +} + type DescribeDimensionInput struct { _ struct{} `type:"structure"` @@ -32810,7 +34531,7 @@ func (s *DescribeDimensionInput) SetName(v string) *DescribeDimensionInput { type DescribeDimensionOutput struct { _ struct{} `type:"structure"` - // The ARN (Amazon resource name) for the dimension. + // The Amazon Resource Name (ARN) for the dimension. Arn *string `locationName:"arn" type:"string"` // The date the dimension was created. @@ -33874,17 +35595,17 @@ func (s *DescribeScheduledAuditInput) SetScheduledAuditName(v string) *DescribeS type DescribeScheduledAuditOutput struct { _ struct{} `type:"structure"` - // The day of the month on which the scheduled audit takes place. Will be "1" - // through "31" or "LAST". If days 29-31 are specified, and the month does not - // have that many days, the audit takes place on the "LAST" day of the month. + // The day of the month on which the scheduled audit takes place. This is will + // be 1 through 31 or LAST. If days 29-31 are specified, and the month does + // not have that many days, the audit takes place on the LAST day of the month. DayOfMonth *string `locationName:"dayOfMonth" type:"string"` - // The day of the week on which the scheduled audit takes place. One of "SUN", - // "MON", "TUE", "WED", "THU", "FRI", or "SAT". + // The day of the week on which the scheduled audit takes place, either one + // of SUN, MON, TUE, WED, THU, FRI, or SAT. DayOfWeek *string `locationName:"dayOfWeek" type:"string" enum:"DayOfWeek"` - // How often the scheduled audit takes place. One of "DAILY", "WEEKLY", "BIWEEKLY", - // or "MONTHLY". The start time of each audit is determined by the system. + // How often the scheduled audit takes place, either one of DAILY, WEEKLY, BIWEEKLY, + // or MONTHLY. The start time of each audit is determined by the system. Frequency *string `locationName:"frequency" type:"string" enum:"AuditFrequency"` // The ARN of the scheduled audit. @@ -35043,6 +36764,310 @@ func (s DetachThingPrincipalOutput) GoString() string { return s.String() } +// Describes which mitigation actions should be executed. +type DetectMitigationActionExecution struct { + _ struct{} `type:"structure"` + + // The friendly name that uniquely identifies the mitigation action. + ActionName *string `locationName:"actionName" type:"string"` + + // The error code of a mitigation action. + ErrorCode *string `locationName:"errorCode" type:"string"` + + // The date a mitigation action ended. + ExecutionEndDate *time.Time `locationName:"executionEndDate" type:"timestamp"` + + // The date a mitigation action was started. + ExecutionStartDate *time.Time `locationName:"executionStartDate" type:"timestamp"` + + // The message of a mitigation action. + Message *string `locationName:"message" type:"string"` + + // The status of a mitigation action. + Status *string `locationName:"status" type:"string" enum:"DetectMitigationActionExecutionStatus"` + + // The unique identifier of the task. + TaskId *string `locationName:"taskId" min:"1" type:"string"` + + // The name of the thing. + ThingName *string `locationName:"thingName" min:"1" type:"string"` + + // The unique identifier of the violation. + ViolationId *string `locationName:"violationId" min:"1" type:"string"` +} + +// String returns the string representation +func (s DetectMitigationActionExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectMitigationActionExecution) GoString() string { + return s.String() +} + +// SetActionName sets the ActionName field's value. +func (s *DetectMitigationActionExecution) SetActionName(v string) *DetectMitigationActionExecution { + s.ActionName = &v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *DetectMitigationActionExecution) SetErrorCode(v string) *DetectMitigationActionExecution { + s.ErrorCode = &v + return s +} + +// SetExecutionEndDate sets the ExecutionEndDate field's value. +func (s *DetectMitigationActionExecution) SetExecutionEndDate(v time.Time) *DetectMitigationActionExecution { + s.ExecutionEndDate = &v + return s +} + +// SetExecutionStartDate sets the ExecutionStartDate field's value. +func (s *DetectMitigationActionExecution) SetExecutionStartDate(v time.Time) *DetectMitigationActionExecution { + s.ExecutionStartDate = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *DetectMitigationActionExecution) SetMessage(v string) *DetectMitigationActionExecution { + s.Message = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DetectMitigationActionExecution) SetStatus(v string) *DetectMitigationActionExecution { + s.Status = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *DetectMitigationActionExecution) SetTaskId(v string) *DetectMitigationActionExecution { + s.TaskId = &v + return s +} + +// SetThingName sets the ThingName field's value. +func (s *DetectMitigationActionExecution) SetThingName(v string) *DetectMitigationActionExecution { + s.ThingName = &v + return s +} + +// SetViolationId sets the ViolationId field's value. +func (s *DetectMitigationActionExecution) SetViolationId(v string) *DetectMitigationActionExecution { + s.ViolationId = &v + return s +} + +// The statistics of a mitigation action task. +type DetectMitigationActionsTaskStatistics struct { + _ struct{} `type:"structure"` + + // The actions that were performed. + ActionsExecuted *int64 `locationName:"actionsExecuted" type:"long"` + + // The actions that failed. + ActionsFailed *int64 `locationName:"actionsFailed" type:"long"` + + // The actions that were skipped. + ActionsSkipped *int64 `locationName:"actionsSkipped" type:"long"` +} + +// String returns the string representation +func (s DetectMitigationActionsTaskStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectMitigationActionsTaskStatistics) GoString() string { + return s.String() +} + +// SetActionsExecuted sets the ActionsExecuted field's value. +func (s *DetectMitigationActionsTaskStatistics) SetActionsExecuted(v int64) *DetectMitigationActionsTaskStatistics { + s.ActionsExecuted = &v + return s +} + +// SetActionsFailed sets the ActionsFailed field's value. +func (s *DetectMitigationActionsTaskStatistics) SetActionsFailed(v int64) *DetectMitigationActionsTaskStatistics { + s.ActionsFailed = &v + return s +} + +// SetActionsSkipped sets the ActionsSkipped field's value. +func (s *DetectMitigationActionsTaskStatistics) SetActionsSkipped(v int64) *DetectMitigationActionsTaskStatistics { + s.ActionsSkipped = &v + return s +} + +// The summary of the mitigation action tasks. +type DetectMitigationActionsTaskSummary struct { + _ struct{} `type:"structure"` + + // The definition of the actions. + ActionsDefinition []*MitigationAction `locationName:"actionsDefinition" type:"list"` + + // Includes only active violations. + OnlyActiveViolationsIncluded *bool `locationName:"onlyActiveViolationsIncluded" type:"boolean"` + + // Includes suppressed alerts. + SuppressedAlertsIncluded *bool `locationName:"suppressedAlertsIncluded" type:"boolean"` + + // Specifies the ML Detect findings to which the mitigation actions are applied. + Target *DetectMitigationActionsTaskTarget `locationName:"target" type:"structure"` + + // The date the task ended. + TaskEndTime *time.Time `locationName:"taskEndTime" type:"timestamp"` + + // The unique identifier of the task. + TaskId *string `locationName:"taskId" min:"1" type:"string"` + + // The date the task started. + TaskStartTime *time.Time `locationName:"taskStartTime" type:"timestamp"` + + // The statistics of a mitigation action task. + TaskStatistics *DetectMitigationActionsTaskStatistics `locationName:"taskStatistics" type:"structure"` + + // The status of the task. + TaskStatus *string `locationName:"taskStatus" type:"string" enum:"DetectMitigationActionsTaskStatus"` + + // Specifies the time period of which violation events occurred between. + ViolationEventOccurrenceRange *ViolationEventOccurrenceRange `locationName:"violationEventOccurrenceRange" type:"structure"` +} + +// String returns the string representation +func (s DetectMitigationActionsTaskSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectMitigationActionsTaskSummary) GoString() string { + return s.String() +} + +// SetActionsDefinition sets the ActionsDefinition field's value. +func (s *DetectMitigationActionsTaskSummary) SetActionsDefinition(v []*MitigationAction) *DetectMitigationActionsTaskSummary { + s.ActionsDefinition = v + return s +} + +// SetOnlyActiveViolationsIncluded sets the OnlyActiveViolationsIncluded field's value. +func (s *DetectMitigationActionsTaskSummary) SetOnlyActiveViolationsIncluded(v bool) *DetectMitigationActionsTaskSummary { + s.OnlyActiveViolationsIncluded = &v + return s +} + +// SetSuppressedAlertsIncluded sets the SuppressedAlertsIncluded field's value. +func (s *DetectMitigationActionsTaskSummary) SetSuppressedAlertsIncluded(v bool) *DetectMitigationActionsTaskSummary { + s.SuppressedAlertsIncluded = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *DetectMitigationActionsTaskSummary) SetTarget(v *DetectMitigationActionsTaskTarget) *DetectMitigationActionsTaskSummary { + s.Target = v + return s +} + +// SetTaskEndTime sets the TaskEndTime field's value. +func (s *DetectMitigationActionsTaskSummary) SetTaskEndTime(v time.Time) *DetectMitigationActionsTaskSummary { + s.TaskEndTime = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *DetectMitigationActionsTaskSummary) SetTaskId(v string) *DetectMitigationActionsTaskSummary { + s.TaskId = &v + return s +} + +// SetTaskStartTime sets the TaskStartTime field's value. +func (s *DetectMitigationActionsTaskSummary) SetTaskStartTime(v time.Time) *DetectMitigationActionsTaskSummary { + s.TaskStartTime = &v + return s +} + +// SetTaskStatistics sets the TaskStatistics field's value. +func (s *DetectMitigationActionsTaskSummary) SetTaskStatistics(v *DetectMitigationActionsTaskStatistics) *DetectMitigationActionsTaskSummary { + s.TaskStatistics = v + return s +} + +// SetTaskStatus sets the TaskStatus field's value. +func (s *DetectMitigationActionsTaskSummary) SetTaskStatus(v string) *DetectMitigationActionsTaskSummary { + s.TaskStatus = &v + return s +} + +// SetViolationEventOccurrenceRange sets the ViolationEventOccurrenceRange field's value. +func (s *DetectMitigationActionsTaskSummary) SetViolationEventOccurrenceRange(v *ViolationEventOccurrenceRange) *DetectMitigationActionsTaskSummary { + s.ViolationEventOccurrenceRange = v + return s +} + +// The target of a mitigation action task. +type DetectMitigationActionsTaskTarget struct { + _ struct{} `type:"structure"` + + // The name of the behavior. + BehaviorName *string `locationName:"behaviorName" min:"1" type:"string"` + + // The name of the security profile. + SecurityProfileName *string `locationName:"securityProfileName" min:"1" type:"string"` + + // The unique identifiers of the violations. + ViolationIds []*string `locationName:"violationIds" min:"1" type:"list"` +} + +// String returns the string representation +func (s DetectMitigationActionsTaskTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectMitigationActionsTaskTarget) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetectMitigationActionsTaskTarget) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetectMitigationActionsTaskTarget"} + if s.BehaviorName != nil && len(*s.BehaviorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BehaviorName", 1)) + } + if s.SecurityProfileName != nil && len(*s.SecurityProfileName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityProfileName", 1)) + } + if s.ViolationIds != nil && len(s.ViolationIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ViolationIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBehaviorName sets the BehaviorName field's value. +func (s *DetectMitigationActionsTaskTarget) SetBehaviorName(v string) *DetectMitigationActionsTaskTarget { + s.BehaviorName = &v + return s +} + +// SetSecurityProfileName sets the SecurityProfileName field's value. +func (s *DetectMitigationActionsTaskTarget) SetSecurityProfileName(v string) *DetectMitigationActionsTaskTarget { + s.SecurityProfileName = &v + return s +} + +// SetViolationIds sets the ViolationIds field's value. +func (s *DetectMitigationActionsTaskTarget) SetViolationIds(v []*string) *DetectMitigationActionsTaskTarget { + s.ViolationIds = v + return s +} + // The input for the DisableTopicRuleRequest operation. type DisableTopicRuleInput struct { _ struct{} `type:"structure"` @@ -35514,12 +37539,12 @@ func (s *ElasticsearchAction) SetType(v string) *ElasticsearchAction { type EnableIoTLoggingParams struct { _ struct{} `type:"structure"` - // Specifies the types of information to be logged. + // Specifies the type of information to be logged. // // LogLevel is a required field LogLevel *string `locationName:"logLevel" type:"string" required:"true" enum:"LogLevel"` - // The ARN of the IAM role used for logging. + // The Amazon Resource Name (ARN) of the IAM role used for logging. // // RoleArnForLogging is a required field RoleArnForLogging *string `locationName:"roleArnForLogging" min:"20" type:"string" required:"true"` @@ -35927,6 +37952,97 @@ func (s *FirehoseAction) SetSeparator(v string) *FirehoseAction { return s } +type GetBehaviorModelTrainingSummariesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. The default is 25. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The name of the security profile. + SecurityProfileName *string `location:"querystring" locationName:"securityProfileName" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetBehaviorModelTrainingSummariesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBehaviorModelTrainingSummariesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBehaviorModelTrainingSummariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBehaviorModelTrainingSummariesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.SecurityProfileName != nil && len(*s.SecurityProfileName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityProfileName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetBehaviorModelTrainingSummariesInput) SetMaxResults(v int64) *GetBehaviorModelTrainingSummariesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetBehaviorModelTrainingSummariesInput) SetNextToken(v string) *GetBehaviorModelTrainingSummariesInput { + s.NextToken = &v + return s +} + +// SetSecurityProfileName sets the SecurityProfileName field's value. +func (s *GetBehaviorModelTrainingSummariesInput) SetSecurityProfileName(v string) *GetBehaviorModelTrainingSummariesInput { + s.SecurityProfileName = &v + return s +} + +type GetBehaviorModelTrainingSummariesOutput struct { + _ struct{} `type:"structure"` + + // A token that can be used to retrieve the next set of results, or null if + // there are no additional results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of all ML Detect behaviors and their model status for a given Security + // Profile. + Summaries []*BehaviorModelTrainingSummary `locationName:"summaries" type:"list"` +} + +// String returns the string representation +func (s GetBehaviorModelTrainingSummariesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBehaviorModelTrainingSummariesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetBehaviorModelTrainingSummariesOutput) SetNextToken(v string) *GetBehaviorModelTrainingSummariesOutput { + s.NextToken = &v + return s +} + +// SetSummaries sets the Summaries field's value. +func (s *GetBehaviorModelTrainingSummariesOutput) SetSummaries(v []*BehaviorModelTrainingSummary) *GetBehaviorModelTrainingSummariesOutput { + s.Summaries = v + return s +} + type GetCardinalityInput struct { _ struct{} `type:"structure"` @@ -38795,6 +40911,92 @@ func (s *JobSummary) SetThingGroupId(v string) *JobSummary { return s } +// Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) +// or self-managed Apache Kafka cluster. +type KafkaAction struct { + _ struct{} `type:"structure"` + + // Properties of the Apache Kafka producer client. + // + // ClientProperties is a required field + ClientProperties map[string]*string `locationName:"clientProperties" type:"map" required:"true"` + + // The ARN of Kafka action's VPC TopicRuleDestination. + // + // DestinationArn is a required field + DestinationArn *string `locationName:"destinationArn" type:"string" required:"true"` + + // The Kafka message key. + Key *string `locationName:"key" type:"string"` + + // The Kafka message partition. + Partition *string `locationName:"partition" type:"string"` + + // The Kafka topic for messages to be sent to the Kafka broker. + // + // Topic is a required field + Topic *string `locationName:"topic" type:"string" required:"true"` +} + +// String returns the string representation +func (s KafkaAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KafkaAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KafkaAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KafkaAction"} + if s.ClientProperties == nil { + invalidParams.Add(request.NewErrParamRequired("ClientProperties")) + } + if s.DestinationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationArn")) + } + if s.Topic == nil { + invalidParams.Add(request.NewErrParamRequired("Topic")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientProperties sets the ClientProperties field's value. +func (s *KafkaAction) SetClientProperties(v map[string]*string) *KafkaAction { + s.ClientProperties = v + return s +} + +// SetDestinationArn sets the DestinationArn field's value. +func (s *KafkaAction) SetDestinationArn(v string) *KafkaAction { + s.DestinationArn = &v + return s +} + +// SetKey sets the Key field's value. +func (s *KafkaAction) SetKey(v string) *KafkaAction { + s.Key = &v + return s +} + +// SetPartition sets the Partition field's value. +func (s *KafkaAction) SetPartition(v string) *KafkaAction { + s.Partition = &v + return s +} + +// SetTopic sets the Topic field's value. +func (s *KafkaAction) SetTopic(v string) *KafkaAction { + s.Topic = &v + return s +} + // Describes a key pair. type KeyPair struct { _ struct{} `type:"structure"` @@ -38989,6 +41191,12 @@ func (s *LimitExceededException) RequestID() string { type ListActiveViolationsInput struct { _ struct{} `type:"structure"` + // The criteria for a behavior. + BehaviorCriteriaType *string `location:"querystring" locationName:"behaviorCriteriaType" type:"string" enum:"BehaviorCriteriaType"` + + // A list of all suppressed alerts. + ListSuppressedAlerts *bool `location:"querystring" locationName:"listSuppressedAlerts" type:"boolean"` + // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -39032,6 +41240,18 @@ func (s *ListActiveViolationsInput) Validate() error { return nil } +// SetBehaviorCriteriaType sets the BehaviorCriteriaType field's value. +func (s *ListActiveViolationsInput) SetBehaviorCriteriaType(v string) *ListActiveViolationsInput { + s.BehaviorCriteriaType = &v + return s +} + +// SetListSuppressedAlerts sets the ListSuppressedAlerts field's value. +func (s *ListActiveViolationsInput) SetListSuppressedAlerts(v bool) *ListActiveViolationsInput { + s.ListSuppressedAlerts = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListActiveViolationsInput) SetMaxResults(v int64) *ListActiveViolationsInput { s.MaxResults = &v @@ -40318,6 +42538,326 @@ func (s *ListCertificatesOutput) SetNextMarker(v string) *ListCertificatesOutput return s } +type ListCustomMetricsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. The default is 25. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListCustomMetricsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCustomMetricsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCustomMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomMetricsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCustomMetricsInput) SetMaxResults(v int64) *ListCustomMetricsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomMetricsInput) SetNextToken(v string) *ListCustomMetricsInput { + s.NextToken = &v + return s +} + +type ListCustomMetricsOutput struct { + _ struct{} `type:"structure"` + + // The name of the custom metric. + MetricNames []*string `locationName:"metricNames" type:"list"` + + // A token that can be used to retrieve the next set of results, or null if + // there are no additional results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListCustomMetricsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCustomMetricsOutput) GoString() string { + return s.String() +} + +// SetMetricNames sets the MetricNames field's value. +func (s *ListCustomMetricsOutput) SetMetricNames(v []*string) *ListCustomMetricsOutput { + s.MetricNames = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomMetricsOutput) SetNextToken(v string) *ListCustomMetricsOutput { + s.NextToken = &v + return s +} + +type ListDetectMitigationActionsExecutionsInput struct { + _ struct{} `type:"structure"` + + // The end of the time period for which ML Detect mitigation actions executions + // are returned. + EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp"` + + // The maximum number of results to return at one time. The default is 25. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // A filter to limit results to those found after the specified time. You must + // specify either the startTime and endTime or the taskId, but not both. + StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp"` + + // The unique identifier of the task. + TaskId *string `location:"querystring" locationName:"taskId" min:"1" type:"string"` + + // The name of the thing whose mitigation actions are listed. + ThingName *string `location:"querystring" locationName:"thingName" min:"1" type:"string"` + + // The unique identifier of the violation. + ViolationId *string `location:"querystring" locationName:"violationId" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDetectMitigationActionsExecutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDetectMitigationActionsExecutionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDetectMitigationActionsExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDetectMitigationActionsExecutionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TaskId != nil && len(*s.TaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 1)) + } + if s.ThingName != nil && len(*s.ThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) + } + if s.ViolationId != nil && len(*s.ViolationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ViolationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetEndTime(v time.Time) *ListDetectMitigationActionsExecutionsInput { + s.EndTime = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetMaxResults(v int64) *ListDetectMitigationActionsExecutionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetNextToken(v string) *ListDetectMitigationActionsExecutionsInput { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetStartTime(v time.Time) *ListDetectMitigationActionsExecutionsInput { + s.StartTime = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetTaskId(v string) *ListDetectMitigationActionsExecutionsInput { + s.TaskId = &v + return s +} + +// SetThingName sets the ThingName field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetThingName(v string) *ListDetectMitigationActionsExecutionsInput { + s.ThingName = &v + return s +} + +// SetViolationId sets the ViolationId field's value. +func (s *ListDetectMitigationActionsExecutionsInput) SetViolationId(v string) *ListDetectMitigationActionsExecutionsInput { + s.ViolationId = &v + return s +} + +type ListDetectMitigationActionsExecutionsOutput struct { + _ struct{} `type:"structure"` + + // List of actions executions. + ActionsExecutions []*DetectMitigationActionExecution `locationName:"actionsExecutions" type:"list"` + + // A token that can be used to retrieve the next set of results, or null if + // there are no additional results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDetectMitigationActionsExecutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDetectMitigationActionsExecutionsOutput) GoString() string { + return s.String() +} + +// SetActionsExecutions sets the ActionsExecutions field's value. +func (s *ListDetectMitigationActionsExecutionsOutput) SetActionsExecutions(v []*DetectMitigationActionExecution) *ListDetectMitigationActionsExecutionsOutput { + s.ActionsExecutions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectMitigationActionsExecutionsOutput) SetNextToken(v string) *ListDetectMitigationActionsExecutionsOutput { + s.NextToken = &v + return s +} + +type ListDetectMitigationActionsTasksInput struct { + _ struct{} `type:"structure"` + + // The end of the time period for which ML Detect mitigation actions tasks are + // returned. + // + // EndTime is a required field + EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" required:"true"` + + // The maximum number of results to return at one time. The default is 25. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // A filter to limit results to those found after the specified time. You must + // specify either the startTime and endTime or the taskId, but not both. + // + // StartTime is a required field + StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s ListDetectMitigationActionsTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDetectMitigationActionsTasksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDetectMitigationActionsTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDetectMitigationActionsTasksInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *ListDetectMitigationActionsTasksInput) SetEndTime(v time.Time) *ListDetectMitigationActionsTasksInput { + s.EndTime = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDetectMitigationActionsTasksInput) SetMaxResults(v int64) *ListDetectMitigationActionsTasksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectMitigationActionsTasksInput) SetNextToken(v string) *ListDetectMitigationActionsTasksInput { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListDetectMitigationActionsTasksInput) SetStartTime(v time.Time) *ListDetectMitigationActionsTasksInput { + s.StartTime = &v + return s +} + +type ListDetectMitigationActionsTasksOutput struct { + _ struct{} `type:"structure"` + + // A token that can be used to retrieve the next set of results, or null if + // there are no additional results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The collection of ML Detect mitigation tasks that matched the filter criteria. + Tasks []*DetectMitigationActionsTaskSummary `locationName:"tasks" type:"list"` +} + +// String returns the string representation +func (s ListDetectMitigationActionsTasksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDetectMitigationActionsTasksOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectMitigationActionsTasksOutput) SetNextToken(v string) *ListDetectMitigationActionsTasksOutput { + s.NextToken = &v + return s +} + +// SetTasks sets the Tasks field's value. +func (s *ListDetectMitigationActionsTasksOutput) SetTasks(v []*DetectMitigationActionsTaskSummary) *ListDetectMitigationActionsTasksOutput { + s.Tasks = v + return s +} + type ListDimensionsInput struct { _ struct{} `type:"structure"` @@ -42103,11 +44643,15 @@ type ListSecurityProfilesInput struct { _ struct{} `type:"structure"` // A filter to limit results to the security profiles that use the defined dimension. + // Cannot be used with metricName DimensionName *string `location:"querystring" locationName:"dimensionName" min:"1" type:"string"` // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The name of the custom metric. Cannot be used with dimensionName. + MetricName *string `location:"querystring" locationName:"metricName" min:"1" type:"string"` + // The token for the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -42131,6 +44675,9 @@ func (s *ListSecurityProfilesInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -42150,6 +44697,12 @@ func (s *ListSecurityProfilesInput) SetMaxResults(v int64) *ListSecurityProfiles return s } +// SetMetricName sets the MetricName field's value. +func (s *ListSecurityProfilesInput) SetMetricName(v string) *ListSecurityProfilesInput { + s.MetricName = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListSecurityProfilesInput) SetNextToken(v string) *ListSecurityProfilesInput { s.NextToken = &v @@ -43732,11 +46285,17 @@ func (s *ListV2LoggingLevelsOutput) SetNextToken(v string) *ListV2LoggingLevelsO type ListViolationEventsInput struct { _ struct{} `type:"structure"` + // The criteria for a behavior. + BehaviorCriteriaType *string `location:"querystring" locationName:"behaviorCriteriaType" type:"string" enum:"BehaviorCriteriaType"` + // The end time for the alerts to be listed. // // EndTime is a required field EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" required:"true"` + // A list of all suppressed alerts. + ListSuppressedAlerts *bool `location:"querystring" locationName:"listSuppressedAlerts" type:"boolean"` + // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -43791,12 +46350,24 @@ func (s *ListViolationEventsInput) Validate() error { return nil } +// SetBehaviorCriteriaType sets the BehaviorCriteriaType field's value. +func (s *ListViolationEventsInput) SetBehaviorCriteriaType(v string) *ListViolationEventsInput { + s.BehaviorCriteriaType = &v + return s +} + // SetEndTime sets the EndTime field's value. func (s *ListViolationEventsInput) SetEndTime(v time.Time) *ListViolationEventsInput { s.EndTime = &v return s } +// SetListSuppressedAlerts sets the ListSuppressedAlerts field's value. +func (s *ListViolationEventsInput) SetListSuppressedAlerts(v bool) *ListViolationEventsInput { + s.ListSuppressedAlerts = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListViolationEventsInput) SetMaxResults(v int64) *ListViolationEventsInput { s.MaxResults = &v @@ -43991,6 +46562,46 @@ func (s *LoggingOptionsPayload) SetRoleArn(v string) *LoggingOptionsPayload { return s } +// The configuration of an ML Detect Security Profile. +type MachineLearningDetectionConfig struct { + _ struct{} `type:"structure"` + + // The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or + // High. + // + // ConfidenceLevel is a required field + ConfidenceLevel *string `locationName:"confidenceLevel" type:"string" required:"true" enum:"ConfidenceLevel"` +} + +// String returns the string representation +func (s MachineLearningDetectionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MachineLearningDetectionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MachineLearningDetectionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MachineLearningDetectionConfig"} + if s.ConfidenceLevel == nil { + invalidParams.Add(request.NewErrParamRequired("ConfidenceLevel")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfidenceLevel sets the ConfidenceLevel field's value. +func (s *MachineLearningDetectionConfig) SetConfidenceLevel(v string) *MachineLearningDetectionConfig { + s.ConfidenceLevel = &v + return s +} + // The policy documentation is not valid. type MalformedPolicyException struct { _ struct{} `type:"structure"` @@ -44113,7 +46724,7 @@ type MetricToRetain struct { // Metric is a required field Metric *string `locationName:"metric" type:"string" required:"true"` - // The dimension of a metric. + // The dimension of a metric. This can't be used with custom metrics. MetricDimension *MetricDimension `locationName:"metricDimension" type:"structure"` } @@ -44169,9 +46780,18 @@ type MetricValue struct { // that numeric value to be compared with the metric. Count *int64 `locationName:"count" type:"long"` + // The numeral value of a metric. + Number *float64 `locationName:"number" type:"double"` + + // The numeral values of a metric. + Numbers []*float64 `locationName:"numbers" type:"list"` + // If the comparisonOperator calls for a set of ports, use this to specify that // set to be compared with the metric. Ports []*int64 `locationName:"ports" type:"list"` + + // The string values of a metric. + Strings []*string `locationName:"strings" type:"list"` } // String returns the string representation @@ -44196,12 +46816,30 @@ func (s *MetricValue) SetCount(v int64) *MetricValue { return s } +// SetNumber sets the Number field's value. +func (s *MetricValue) SetNumber(v float64) *MetricValue { + s.Number = &v + return s +} + +// SetNumbers sets the Numbers field's value. +func (s *MetricValue) SetNumbers(v []*float64) *MetricValue { + s.Numbers = v + return s +} + // SetPorts sets the Ports field's value. func (s *MetricValue) SetPorts(v []*int64) *MetricValue { s.Ports = v return s } +// SetStrings sets the Strings field's value. +func (s *MetricValue) SetStrings(v []*string) *MetricValue { + s.Strings = v + return s +} + // Describes which changes should be applied as part of a mitigation action. type MitigationAction struct { _ struct{} `type:"structure"` @@ -44312,8 +46950,8 @@ type MitigationActionParams struct { EnableIoTLoggingParams *EnableIoTLoggingParams `locationName:"enableIoTLoggingParams" type:"structure"` // Parameters to define a mitigation action that publishes findings to Amazon - // SNS. You can implement your own custom actions in response to the Amazon - // SNS messages. + // Simple Notification Service (Amazon SNS. You can implement your own custom + // actions in response to the Amazon SNS messages. PublishFindingToSnsParams *PublishFindingToSnsParams `locationName:"publishFindingToSnsParams" type:"structure"` // Parameters to define a mitigation action that adds a blank policy to restrict @@ -47331,7 +49969,7 @@ type SecurityProfileIdentifier struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The name you have given to the security profile. + // The name you've given to the security profile. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` @@ -48159,7 +50797,7 @@ type StartAuditMitigationActionsTaskInput struct { // Specifies the audit findings to which the mitigation actions are applied. // You can apply them to a type of audit check, to all findings from an audit, - // or to a speecific set of findings. + // or to a specific set of findings. // // Target is a required field Target *AuditMitigationActionsTaskTarget `locationName:"target" type:"structure" required:"true"` @@ -48259,6 +50897,153 @@ func (s *StartAuditMitigationActionsTaskOutput) SetTaskId(v string) *StartAuditM return s } +type StartDetectMitigationActionsTaskInput struct { + _ struct{} `type:"structure"` + + // The actions to be performed when a device has unexpected behavior. + // + // Actions is a required field + Actions []*string `locationName:"actions" min:"1" type:"list" required:"true"` + + // Each mitigation action task must have a unique client request token. If you + // try to create a new task with the same token as a task that already exists, + // an exception occurs. If you omit this value, AWS SDKs will automatically + // generate a unique client request. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // Specifies to list only active violations. + IncludeOnlyActiveViolations *bool `locationName:"includeOnlyActiveViolations" type:"boolean"` + + // Specifies to include suppressed alerts. + IncludeSuppressedAlerts *bool `locationName:"includeSuppressedAlerts" type:"boolean"` + + // Specifies the ML Detect findings to which the mitigation actions are applied. + // + // Target is a required field + Target *DetectMitigationActionsTaskTarget `locationName:"target" type:"structure" required:"true"` + + // The unique identifier of the task. + // + // TaskId is a required field + TaskId *string `location:"uri" locationName:"taskId" min:"1" type:"string" required:"true"` + + // Specifies the time period of which violation events occurred between. + ViolationEventOccurrenceRange *ViolationEventOccurrenceRange `locationName:"violationEventOccurrenceRange" type:"structure"` +} + +// String returns the string representation +func (s StartDetectMitigationActionsTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartDetectMitigationActionsTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartDetectMitigationActionsTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartDetectMitigationActionsTaskInput"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) + } + if s.Actions != nil && len(s.Actions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Actions", 1)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) + } + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 1)) + } + if s.Target != nil { + if err := s.Target.Validate(); err != nil { + invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) + } + } + if s.ViolationEventOccurrenceRange != nil { + if err := s.ViolationEventOccurrenceRange.Validate(); err != nil { + invalidParams.AddNested("ViolationEventOccurrenceRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *StartDetectMitigationActionsTaskInput) SetActions(v []*string) *StartDetectMitigationActionsTaskInput { + s.Actions = v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *StartDetectMitigationActionsTaskInput) SetClientRequestToken(v string) *StartDetectMitigationActionsTaskInput { + s.ClientRequestToken = &v + return s +} + +// SetIncludeOnlyActiveViolations sets the IncludeOnlyActiveViolations field's value. +func (s *StartDetectMitigationActionsTaskInput) SetIncludeOnlyActiveViolations(v bool) *StartDetectMitigationActionsTaskInput { + s.IncludeOnlyActiveViolations = &v + return s +} + +// SetIncludeSuppressedAlerts sets the IncludeSuppressedAlerts field's value. +func (s *StartDetectMitigationActionsTaskInput) SetIncludeSuppressedAlerts(v bool) *StartDetectMitigationActionsTaskInput { + s.IncludeSuppressedAlerts = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *StartDetectMitigationActionsTaskInput) SetTarget(v *DetectMitigationActionsTaskTarget) *StartDetectMitigationActionsTaskInput { + s.Target = v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *StartDetectMitigationActionsTaskInput) SetTaskId(v string) *StartDetectMitigationActionsTaskInput { + s.TaskId = &v + return s +} + +// SetViolationEventOccurrenceRange sets the ViolationEventOccurrenceRange field's value. +func (s *StartDetectMitigationActionsTaskInput) SetViolationEventOccurrenceRange(v *ViolationEventOccurrenceRange) *StartDetectMitigationActionsTaskInput { + s.ViolationEventOccurrenceRange = v + return s +} + +type StartDetectMitigationActionsTaskOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the task. + TaskId *string `locationName:"taskId" min:"1" type:"string"` +} + +// String returns the string representation +func (s StartDetectMitigationActionsTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartDetectMitigationActionsTaskOutput) GoString() string { + return s.String() +} + +// SetTaskId sets the TaskId field's value. +func (s *StartDetectMitigationActionsTaskOutput) SetTaskId(v string) *StartDetectMitigationActionsTaskOutput { + s.TaskId = &v + return s +} + type StartOnDemandAuditTaskInput struct { _ struct{} `type:"structure"` @@ -48494,12 +51279,12 @@ func (s *StartThingRegistrationTaskOutput) SetTaskId(v string) *StartThingRegist return s } -// A statistical ranking (percentile) which indicates a threshold value by which +// A statistical ranking (percentile) that indicates a threshold value by which // a behavior is determined to be in compliance or in violation of the behavior. type StatisticalThreshold struct { _ struct{} `type:"structure"` - // The percentile which resolves to a threshold value by which compliance with + // The percentile that resolves to a threshold value by which compliance with // a behavior is determined. Metrics are collected over the specified period // (durationSeconds) from all reporting devices in your account and statistical // ranks are calculated. Then, the measurements from a device are collected @@ -50626,9 +53411,15 @@ type TopicRuleDestination struct { // The topic rule destination URL. Arn *string `locationName:"arn" type:"string"` + // The date and time when the topic rule destination was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // Properties of the HTTP URL. HttpUrlProperties *HttpUrlDestinationProperties `locationName:"httpUrlProperties" type:"structure"` + // The date and time when the topic rule destination was last updated. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + // The status of the topic rule destination. Valid values are: // // IN_PROGRESS @@ -50660,6 +53451,9 @@ type TopicRuleDestination struct { // Additional details or reason why the topic rule destination is in the current // status. StatusReason *string `locationName:"statusReason" type:"string"` + + // Properties of the virtual private cloud (VPC) connection. + VpcProperties *VpcDestinationProperties `locationName:"vpcProperties" type:"structure"` } // String returns the string representation @@ -50678,12 +53472,24 @@ func (s *TopicRuleDestination) SetArn(v string) *TopicRuleDestination { return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *TopicRuleDestination) SetCreatedAt(v time.Time) *TopicRuleDestination { + s.CreatedAt = &v + return s +} + // SetHttpUrlProperties sets the HttpUrlProperties field's value. func (s *TopicRuleDestination) SetHttpUrlProperties(v *HttpUrlDestinationProperties) *TopicRuleDestination { s.HttpUrlProperties = v return s } +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *TopicRuleDestination) SetLastUpdatedAt(v time.Time) *TopicRuleDestination { + s.LastUpdatedAt = &v + return s +} + // SetStatus sets the Status field's value. func (s *TopicRuleDestination) SetStatus(v string) *TopicRuleDestination { s.Status = &v @@ -50696,12 +53502,21 @@ func (s *TopicRuleDestination) SetStatusReason(v string) *TopicRuleDestination { return s } +// SetVpcProperties sets the VpcProperties field's value. +func (s *TopicRuleDestination) SetVpcProperties(v *VpcDestinationProperties) *TopicRuleDestination { + s.VpcProperties = v + return s +} + // Configuration of the topic rule destination. type TopicRuleDestinationConfiguration struct { _ struct{} `type:"structure"` // Configuration of the HTTP URL. HttpUrlConfiguration *HttpUrlDestinationConfiguration `locationName:"httpUrlConfiguration" type:"structure"` + + // Configuration of the virtual private cloud (VPC) connection. + VpcConfiguration *VpcDestinationConfiguration `locationName:"vpcConfiguration" type:"structure"` } // String returns the string representation @@ -50722,6 +53537,11 @@ func (s *TopicRuleDestinationConfiguration) Validate() error { invalidParams.AddNested("HttpUrlConfiguration", err.(request.ErrInvalidParams)) } } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -50735,6 +53555,12 @@ func (s *TopicRuleDestinationConfiguration) SetHttpUrlConfiguration(v *HttpUrlDe return s } +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *TopicRuleDestinationConfiguration) SetVpcConfiguration(v *VpcDestinationConfiguration) *TopicRuleDestinationConfiguration { + s.VpcConfiguration = v + return s +} + // Information about the topic rule destination. type TopicRuleDestinationSummary struct { _ struct{} `type:"structure"` @@ -50742,9 +53568,15 @@ type TopicRuleDestinationSummary struct { // The topic rule destination ARN. Arn *string `locationName:"arn" type:"string"` + // The date and time when the topic rule destination was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // Information about the HTTP URL. HttpUrlSummary *HttpUrlDestinationSummary `locationName:"httpUrlSummary" type:"structure"` + // The date and time when the topic rule destination was last updated. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + // The status of the topic rule destination. Valid values are: // // IN_PROGRESS @@ -50775,6 +53607,9 @@ type TopicRuleDestinationSummary struct { // The reason the topic rule destination is in the current status. StatusReason *string `locationName:"statusReason" type:"string"` + + // Information about the virtual private cloud (VPC) connection. + VpcDestinationSummary *VpcDestinationSummary `locationName:"vpcDestinationSummary" type:"structure"` } // String returns the string representation @@ -50793,12 +53628,24 @@ func (s *TopicRuleDestinationSummary) SetArn(v string) *TopicRuleDestinationSumm return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *TopicRuleDestinationSummary) SetCreatedAt(v time.Time) *TopicRuleDestinationSummary { + s.CreatedAt = &v + return s +} + // SetHttpUrlSummary sets the HttpUrlSummary field's value. func (s *TopicRuleDestinationSummary) SetHttpUrlSummary(v *HttpUrlDestinationSummary) *TopicRuleDestinationSummary { s.HttpUrlSummary = v return s } +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *TopicRuleDestinationSummary) SetLastUpdatedAt(v time.Time) *TopicRuleDestinationSummary { + s.LastUpdatedAt = &v + return s +} + // SetStatus sets the Status field's value. func (s *TopicRuleDestinationSummary) SetStatus(v string) *TopicRuleDestinationSummary { s.Status = &v @@ -50811,6 +53658,12 @@ func (s *TopicRuleDestinationSummary) SetStatusReason(v string) *TopicRuleDestin return s } +// SetVpcDestinationSummary sets the VpcDestinationSummary field's value. +func (s *TopicRuleDestinationSummary) SetVpcDestinationSummary(v *VpcDestinationSummary) *TopicRuleDestinationSummary { + s.VpcDestinationSummary = v + return s +} + // Describes a rule. type TopicRuleListItem struct { _ struct{} `type:"structure"` @@ -51380,7 +54233,7 @@ type UpdateAccountAuditConfigurationInput struct { // When a check is disabled, any data collected so far in relation to the check // is deleted. // - // You cannot disable a check if it is used by any scheduled audit. You must + // You cannot disable a check if it's used by any scheduled audit. You must // first delete the check from the scheduled audit or delete the scheduled audit // itself. // @@ -51391,9 +54244,9 @@ type UpdateAccountAuditConfigurationInput struct { // Information about the targets to which audit notifications are sent. AuditNotificationTargetConfigurations map[string]*AuditNotificationTarget `locationName:"auditNotificationTargetConfigurations" type:"map"` - // The ARN of the role that grants permission to AWS IoT to access information - // about your devices, policies, certificates and other items as required when - // performing an audit. + // The Amazon Resource Name (ARN) of the role that grants permission to AWS + // IoT to access information about your devices, policies, certificates, and + // other items as required when performing an audit. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` } @@ -51870,7 +54723,7 @@ func (s UpdateCACertificateOutput) GoString() string { type UpdateCACertificateParams struct { _ struct{} `type:"structure"` - // The action that you want to apply to the CA cerrtificate. The only supported + // The action that you want to apply to the CA certificate. The only supported // value is DEACTIVATE. // // Action is a required field @@ -51985,12 +54838,138 @@ func (s UpdateCertificateOutput) GoString() string { return s.String() } +type UpdateCustomMetricInput struct { + _ struct{} `type:"structure"` + + // Field represents a friendly name in the console for the custom metric, it + // doesn't have to be unique. Don't use this name as the metric identifier in + // the device metric report. Can be updated. + // + // DisplayName is a required field + DisplayName *string `locationName:"displayName" type:"string" required:"true"` + + // The name of the custom metric. Cannot be updated. + // + // MetricName is a required field + MetricName *string `location:"uri" locationName:"metricName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateCustomMetricInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCustomMetricInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCustomMetricInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCustomMetricInput"} + if s.DisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("DisplayName")) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdateCustomMetricInput) SetDisplayName(v string) *UpdateCustomMetricInput { + s.DisplayName = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *UpdateCustomMetricInput) SetMetricName(v string) *UpdateCustomMetricInput { + s.MetricName = &v + return s +} + +type UpdateCustomMetricOutput struct { + _ struct{} `type:"structure"` + + // The creation date of the custom metric in milliseconds since epoch. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // A friendly name in the console for the custom metric + DisplayName *string `locationName:"displayName" type:"string"` + + // The time the custom metric was last modified in milliseconds since epoch. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The Amazon Resource Number (ARN) of the custom metric. + MetricArn *string `locationName:"metricArn" type:"string"` + + // The name of the custom metric. + MetricName *string `locationName:"metricName" min:"1" type:"string"` + + // The type of the custom metric. Types include string-list, ip-address-list, + // number-list, and number. + MetricType *string `locationName:"metricType" type:"string" enum:"CustomMetricType"` +} + +// String returns the string representation +func (s UpdateCustomMetricOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCustomMetricOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *UpdateCustomMetricOutput) SetCreationDate(v time.Time) *UpdateCustomMetricOutput { + s.CreationDate = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdateCustomMetricOutput) SetDisplayName(v string) *UpdateCustomMetricOutput { + s.DisplayName = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *UpdateCustomMetricOutput) SetLastModifiedDate(v time.Time) *UpdateCustomMetricOutput { + s.LastModifiedDate = &v + return s +} + +// SetMetricArn sets the MetricArn field's value. +func (s *UpdateCustomMetricOutput) SetMetricArn(v string) *UpdateCustomMetricOutput { + s.MetricArn = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *UpdateCustomMetricOutput) SetMetricName(v string) *UpdateCustomMetricOutput { + s.MetricName = &v + return s +} + +// SetMetricType sets the MetricType field's value. +func (s *UpdateCustomMetricOutput) SetMetricType(v string) *UpdateCustomMetricOutput { + s.MetricType = &v + return s +} + // Parameters to define a mitigation action that changes the state of the device // certificate to inactive. type UpdateDeviceCertificateParams struct { _ struct{} `type:"structure"` - // The action that you want to apply to the device cerrtificate. The only supported + // The action that you want to apply to the device certificate. The only supported // value is DEACTIVATE. // // Action is a required field @@ -52090,7 +55069,7 @@ func (s *UpdateDimensionInput) SetStringValues(v []*string) *UpdateDimensionInpu type UpdateDimensionOutput struct { _ struct{} `type:"structure"` - // The ARN (Amazon resource name) of the created dimension. + // The Amazon Resource Name (ARN)of the created dimension. Arn *string `locationName:"arn" type:"string"` // The date and time, in milliseconds since epoch, when the dimension was initially @@ -52631,9 +55610,9 @@ func (s UpdateJobOutput) GoString() string { type UpdateMitigationActionInput struct { _ struct{} `type:"structure"` - // The friendly name for the mitigation action. You can't change the name by - // using UpdateMitigationAction. Instead, you must delete and re-create the - // mitigation action with the new name. + // The friendly name for the mitigation action. You cannot change the name by + // using UpdateMitigationAction. Instead, you must delete and recreate the mitigation + // action with the new name. // // ActionName is a required field ActionName *string `location:"uri" locationName:"actionName" type:"string" required:"true"` @@ -52947,20 +55926,19 @@ func (s *UpdateRoleAliasOutput) SetRoleAliasArn(v string) *UpdateRoleAliasOutput type UpdateScheduledAuditInput struct { _ struct{} `type:"structure"` - // The day of the month on which the scheduled audit takes place. Can be "1" - // through "31" or "LAST". This field is required if the "frequency" parameter - // is set to "MONTHLY". If days 29-31 are specified, and the month does not - // have that many days, the audit takes place on the "LAST" day of the month. + // The day of the month on which the scheduled audit takes place. This can be + // 1 through 31 or LAST. This field is required if the frequency parameter is + // set to MONTHLY. If days 29-31 are specified, and the month does not have + // that many days, the audit takes place on the "LAST" day of the month. DayOfMonth *string `locationName:"dayOfMonth" type:"string"` - // The day of the week on which the scheduled audit takes place. Can be one - // of "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT". This field is required - // if the "frequency" parameter is set to "WEEKLY" or "BIWEEKLY". + // The day of the week on which the scheduled audit takes place. This can be + // one of SUN, MON, TUE, WED, THU, FRI, or SAT. This field is required if the + // "frequency" parameter is set to WEEKLY or BIWEEKLY. DayOfWeek *string `locationName:"dayOfWeek" type:"string" enum:"DayOfWeek"` - // How often the scheduled audit takes place. Can be one of "DAILY", "WEEKLY", - // "BIWEEKLY", or "MONTHLY". The start time of each audit is determined by the - // system. + // How often the scheduled audit takes place, either DAILY, WEEKLY, BIWEEKLY, + // or MONTHLY. The start time of each audit is determined by the system. Frequency *string `locationName:"frequency" type:"string" enum:"AuditFrequency"` // The name of the scheduled audit. (Max. 128 chars) @@ -53061,14 +56039,16 @@ type UpdateSecurityProfileInput struct { // // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for - // any metric specified here. + // any metric specified here. Can be used with custom metrics; cannot be used + // with dimensions. // // Deprecated: Use additionalMetricsToRetainV2. AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for - // any metric specified here. + // any metric specified here. Can be used with custom metrics; cannot be used + // with dimensions. AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Where the alerts are sent. (Alerts are always sent to the console.) @@ -53235,7 +56215,8 @@ type UpdateSecurityProfileOutput struct { // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for - // any metric specified here. + // any metric specified here. Can be used with custom metrics; cannot be used + // with dimensions. AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Where the alerts are sent. (Alerts are always sent to the console.) @@ -54058,7 +57039,7 @@ func (s *VersionsLimitExceededException) RequestID() string { type ViolationEvent struct { _ struct{} `type:"structure"` - // The behavior which was violated. + // The behavior that was violated. Behavior *Behavior `locationName:"behavior" type:"structure"` // The value of the metric (the measurement). @@ -54070,6 +57051,9 @@ type ViolationEvent struct { // The name of the thing responsible for the violation event. ThingName *string `locationName:"thingName" min:"1" type:"string"` + // The details of a violation event. + ViolationEventAdditionalInfo *ViolationEventAdditionalInfo `locationName:"violationEventAdditionalInfo" type:"structure"` + // The time the violation event occurred. ViolationEventTime *time.Time `locationName:"violationEventTime" type:"timestamp"` @@ -54114,6 +57098,12 @@ func (s *ViolationEvent) SetThingName(v string) *ViolationEvent { return s } +// SetViolationEventAdditionalInfo sets the ViolationEventAdditionalInfo field's value. +func (s *ViolationEvent) SetViolationEventAdditionalInfo(v *ViolationEventAdditionalInfo) *ViolationEvent { + s.ViolationEventAdditionalInfo = v + return s +} + // SetViolationEventTime sets the ViolationEventTime field's value. func (s *ViolationEvent) SetViolationEventTime(v time.Time) *ViolationEvent { s.ViolationEventTime = &v @@ -54132,6 +57122,265 @@ func (s *ViolationEvent) SetViolationId(v string) *ViolationEvent { return s } +// The details of a violation event. +type ViolationEventAdditionalInfo struct { + _ struct{} `type:"structure"` + + // The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or + // High. + ConfidenceLevel *string `locationName:"confidenceLevel" type:"string" enum:"ConfidenceLevel"` +} + +// String returns the string representation +func (s ViolationEventAdditionalInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ViolationEventAdditionalInfo) GoString() string { + return s.String() +} + +// SetConfidenceLevel sets the ConfidenceLevel field's value. +func (s *ViolationEventAdditionalInfo) SetConfidenceLevel(v string) *ViolationEventAdditionalInfo { + s.ConfidenceLevel = &v + return s +} + +// Specifies the time period of which violation events occurred between. +type ViolationEventOccurrenceRange struct { + _ struct{} `type:"structure"` + + // The end date and time of a time period in which violation events occurred. + // + // EndTime is a required field + EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"` + + // The start date and time of a time period in which violation events occurred. + // + // StartTime is a required field + StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s ViolationEventOccurrenceRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ViolationEventOccurrenceRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ViolationEventOccurrenceRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ViolationEventOccurrenceRange"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *ViolationEventOccurrenceRange) SetEndTime(v time.Time) *ViolationEventOccurrenceRange { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ViolationEventOccurrenceRange) SetStartTime(v time.Time) *ViolationEventOccurrenceRange { + s.StartTime = &v + return s +} + +// The configuration information for a virtual private cloud (VPC) destination. +type VpcDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN of a role that has permission to create and attach to elastic network + // interfaces (ENIs). + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The security groups of the VPC destination. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // The subnet IDs of the VPC destination. + // + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` + + // The ID of the VPC. + // + // VpcId is a required field + VpcId *string `locationName:"vpcId" type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcDestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcDestinationConfiguration"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *VpcDestinationConfiguration) SetRoleArn(v string) *VpcDestinationConfiguration { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *VpcDestinationConfiguration) SetSecurityGroups(v []*string) *VpcDestinationConfiguration { + s.SecurityGroups = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcDestinationConfiguration) SetSubnetIds(v []*string) *VpcDestinationConfiguration { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcDestinationConfiguration) SetVpcId(v string) *VpcDestinationConfiguration { + s.VpcId = &v + return s +} + +// The properties of a virtual private cloud (VPC) destination. +type VpcDestinationProperties struct { + _ struct{} `type:"structure"` + + // The ARN of a role that has permission to create and attach to elastic network + // interfaces (ENIs). + RoleArn *string `locationName:"roleArn" type:"string"` + + // The security groups of the VPC destination. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // The subnet IDs of the VPC destination. + SubnetIds []*string `locationName:"subnetIds" type:"list"` + + // The ID of the VPC. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s VpcDestinationProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcDestinationProperties) GoString() string { + return s.String() +} + +// SetRoleArn sets the RoleArn field's value. +func (s *VpcDestinationProperties) SetRoleArn(v string) *VpcDestinationProperties { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *VpcDestinationProperties) SetSecurityGroups(v []*string) *VpcDestinationProperties { + s.SecurityGroups = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcDestinationProperties) SetSubnetIds(v []*string) *VpcDestinationProperties { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcDestinationProperties) SetVpcId(v string) *VpcDestinationProperties { + s.VpcId = &v + return s +} + +// The summary of a virtual private cloud (VPC) destination. +type VpcDestinationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of a role that has permission to create and attach to elastic network + // interfaces (ENIs). + RoleArn *string `locationName:"roleArn" type:"string"` + + // The security groups of the VPC destination. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // The subnet IDs of the VPC destination. + SubnetIds []*string `locationName:"subnetIds" type:"list"` + + // The ID of the VPC. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s VpcDestinationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcDestinationSummary) GoString() string { + return s.String() +} + +// SetRoleArn sets the RoleArn field's value. +func (s *VpcDestinationSummary) SetRoleArn(v string) *VpcDestinationSummary { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *VpcDestinationSummary) SetSecurityGroups(v []*string) *VpcDestinationSummary { + s.SecurityGroups = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcDestinationSummary) SetSubnetIds(v []*string) *VpcDestinationSummary { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcDestinationSummary) SetVpcId(v string) *VpcDestinationSummary { + s.VpcId = &v + return s +} + const ( // AbortActionCancel is a AbortAction enum value AbortActionCancel = "CANCEL" @@ -54457,6 +57706,26 @@ func AwsJobAbortCriteriaFailureType_Values() []string { } } +const ( + // BehaviorCriteriaTypeStatic is a BehaviorCriteriaType enum value + BehaviorCriteriaTypeStatic = "STATIC" + + // BehaviorCriteriaTypeStatistical is a BehaviorCriteriaType enum value + BehaviorCriteriaTypeStatistical = "STATISTICAL" + + // BehaviorCriteriaTypeMachineLearning is a BehaviorCriteriaType enum value + BehaviorCriteriaTypeMachineLearning = "MACHINE_LEARNING" +) + +// BehaviorCriteriaType_Values returns all elements of the BehaviorCriteriaType enum +func BehaviorCriteriaType_Values() []string { + return []string{ + BehaviorCriteriaTypeStatic, + BehaviorCriteriaTypeStatistical, + BehaviorCriteriaTypeMachineLearning, + } +} + const ( // CACertificateStatusActive is a CACertificateStatus enum value CACertificateStatusActive = "ACTIVE" @@ -54597,6 +57866,12 @@ const ( // ComparisonOperatorNotInPortSet is a ComparisonOperator enum value ComparisonOperatorNotInPortSet = "not-in-port-set" + + // ComparisonOperatorInSet is a ComparisonOperator enum value + ComparisonOperatorInSet = "in-set" + + // ComparisonOperatorNotInSet is a ComparisonOperator enum value + ComparisonOperatorNotInSet = "not-in-set" ) // ComparisonOperator_Values returns all elements of the ComparisonOperator enum @@ -54610,6 +57885,52 @@ func ComparisonOperator_Values() []string { ComparisonOperatorNotInCidrSet, ComparisonOperatorInPortSet, ComparisonOperatorNotInPortSet, + ComparisonOperatorInSet, + ComparisonOperatorNotInSet, + } +} + +const ( + // ConfidenceLevelLow is a ConfidenceLevel enum value + ConfidenceLevelLow = "LOW" + + // ConfidenceLevelMedium is a ConfidenceLevel enum value + ConfidenceLevelMedium = "MEDIUM" + + // ConfidenceLevelHigh is a ConfidenceLevel enum value + ConfidenceLevelHigh = "HIGH" +) + +// ConfidenceLevel_Values returns all elements of the ConfidenceLevel enum +func ConfidenceLevel_Values() []string { + return []string{ + ConfidenceLevelLow, + ConfidenceLevelMedium, + ConfidenceLevelHigh, + } +} + +const ( + // CustomMetricTypeStringList is a CustomMetricType enum value + CustomMetricTypeStringList = "string-list" + + // CustomMetricTypeIpAddressList is a CustomMetricType enum value + CustomMetricTypeIpAddressList = "ip-address-list" + + // CustomMetricTypeNumberList is a CustomMetricType enum value + CustomMetricTypeNumberList = "number-list" + + // CustomMetricTypeNumber is a CustomMetricType enum value + CustomMetricTypeNumber = "number" +) + +// CustomMetricType_Values returns all elements of the CustomMetricType enum +func CustomMetricType_Values() []string { + return []string{ + CustomMetricTypeStringList, + CustomMetricTypeIpAddressList, + CustomMetricTypeNumberList, + CustomMetricTypeNumber, } } @@ -54649,6 +57970,54 @@ func DayOfWeek_Values() []string { } } +const ( + // DetectMitigationActionExecutionStatusInProgress is a DetectMitigationActionExecutionStatus enum value + DetectMitigationActionExecutionStatusInProgress = "IN_PROGRESS" + + // DetectMitigationActionExecutionStatusSuccessful is a DetectMitigationActionExecutionStatus enum value + DetectMitigationActionExecutionStatusSuccessful = "SUCCESSFUL" + + // DetectMitigationActionExecutionStatusFailed is a DetectMitigationActionExecutionStatus enum value + DetectMitigationActionExecutionStatusFailed = "FAILED" + + // DetectMitigationActionExecutionStatusSkipped is a DetectMitigationActionExecutionStatus enum value + DetectMitigationActionExecutionStatusSkipped = "SKIPPED" +) + +// DetectMitigationActionExecutionStatus_Values returns all elements of the DetectMitigationActionExecutionStatus enum +func DetectMitigationActionExecutionStatus_Values() []string { + return []string{ + DetectMitigationActionExecutionStatusInProgress, + DetectMitigationActionExecutionStatusSuccessful, + DetectMitigationActionExecutionStatusFailed, + DetectMitigationActionExecutionStatusSkipped, + } +} + +const ( + // DetectMitigationActionsTaskStatusInProgress is a DetectMitigationActionsTaskStatus enum value + DetectMitigationActionsTaskStatusInProgress = "IN_PROGRESS" + + // DetectMitigationActionsTaskStatusSuccessful is a DetectMitigationActionsTaskStatus enum value + DetectMitigationActionsTaskStatusSuccessful = "SUCCESSFUL" + + // DetectMitigationActionsTaskStatusFailed is a DetectMitigationActionsTaskStatus enum value + DetectMitigationActionsTaskStatusFailed = "FAILED" + + // DetectMitigationActionsTaskStatusCanceled is a DetectMitigationActionsTaskStatus enum value + DetectMitigationActionsTaskStatusCanceled = "CANCELED" +) + +// DetectMitigationActionsTaskStatus_Values returns all elements of the DetectMitigationActionsTaskStatus enum +func DetectMitigationActionsTaskStatus_Values() []string { + return []string{ + DetectMitigationActionsTaskStatusInProgress, + DetectMitigationActionsTaskStatusSuccessful, + DetectMitigationActionsTaskStatusFailed, + DetectMitigationActionsTaskStatusCanceled, + } +} + const ( // DeviceCertificateUpdateActionDeactivate is a DeviceCertificateUpdateAction enum value DeviceCertificateUpdateActionDeactivate = "DEACTIVATE" @@ -55033,6 +58402,26 @@ func MitigationActionType_Values() []string { } } +const ( + // ModelStatusPendingBuild is a ModelStatus enum value + ModelStatusPendingBuild = "PENDING_BUILD" + + // ModelStatusActive is a ModelStatus enum value + ModelStatusActive = "ACTIVE" + + // ModelStatusExpired is a ModelStatus enum value + ModelStatusExpired = "EXPIRED" +) + +// ModelStatus_Values returns all elements of the ModelStatus enum +func ModelStatus_Values() []string { + return []string{ + ModelStatusPendingBuild, + ModelStatusActive, + ModelStatusExpired, + } +} + const ( // OTAUpdateStatusCreatePending is a OTAUpdateStatus enum value OTAUpdateStatusCreatePending = "CREATE_PENDING" @@ -55285,6 +58674,9 @@ const ( // TopicRuleDestinationStatusError is a TopicRuleDestinationStatus enum value TopicRuleDestinationStatusError = "ERROR" + + // TopicRuleDestinationStatusDeleting is a TopicRuleDestinationStatus enum value + TopicRuleDestinationStatusDeleting = "DELETING" ) // TopicRuleDestinationStatus_Values returns all elements of the TopicRuleDestinationStatus enum @@ -55294,6 +58686,7 @@ func TopicRuleDestinationStatus_Values() []string { TopicRuleDestinationStatusInProgress, TopicRuleDestinationStatusDisabled, TopicRuleDestinationStatusError, + TopicRuleDestinationStatusDeleting, } } diff --git a/service/iot/iotiface/interface.go b/service/iot/iotiface/interface.go index e3fd2a7725..4448708163 100644 --- a/service/iot/iotiface/interface.go +++ b/service/iot/iotiface/interface.go @@ -104,6 +104,10 @@ type IoTAPI interface { CancelCertificateTransferWithContext(aws.Context, *iot.CancelCertificateTransferInput, ...request.Option) (*iot.CancelCertificateTransferOutput, error) CancelCertificateTransferRequest(*iot.CancelCertificateTransferInput) (*request.Request, *iot.CancelCertificateTransferOutput) + CancelDetectMitigationActionsTask(*iot.CancelDetectMitigationActionsTaskInput) (*iot.CancelDetectMitigationActionsTaskOutput, error) + CancelDetectMitigationActionsTaskWithContext(aws.Context, *iot.CancelDetectMitigationActionsTaskInput, ...request.Option) (*iot.CancelDetectMitigationActionsTaskOutput, error) + CancelDetectMitigationActionsTaskRequest(*iot.CancelDetectMitigationActionsTaskInput) (*request.Request, *iot.CancelDetectMitigationActionsTaskOutput) + CancelJob(*iot.CancelJobInput) (*iot.CancelJobOutput, error) CancelJobWithContext(aws.Context, *iot.CancelJobInput, ...request.Option) (*iot.CancelJobOutput, error) CancelJobRequest(*iot.CancelJobInput) (*request.Request, *iot.CancelJobOutput) @@ -136,6 +140,10 @@ type IoTAPI interface { CreateCertificateFromCsrWithContext(aws.Context, *iot.CreateCertificateFromCsrInput, ...request.Option) (*iot.CreateCertificateFromCsrOutput, error) CreateCertificateFromCsrRequest(*iot.CreateCertificateFromCsrInput) (*request.Request, *iot.CreateCertificateFromCsrOutput) + CreateCustomMetric(*iot.CreateCustomMetricInput) (*iot.CreateCustomMetricOutput, error) + CreateCustomMetricWithContext(aws.Context, *iot.CreateCustomMetricInput, ...request.Option) (*iot.CreateCustomMetricOutput, error) + CreateCustomMetricRequest(*iot.CreateCustomMetricInput) (*request.Request, *iot.CreateCustomMetricOutput) + CreateDimension(*iot.CreateDimensionInput) (*iot.CreateDimensionOutput, error) CreateDimensionWithContext(aws.Context, *iot.CreateDimensionInput, ...request.Option) (*iot.CreateDimensionOutput, error) CreateDimensionRequest(*iot.CreateDimensionInput) (*request.Request, *iot.CreateDimensionOutput) @@ -244,6 +252,10 @@ type IoTAPI interface { DeleteCertificateWithContext(aws.Context, *iot.DeleteCertificateInput, ...request.Option) (*iot.DeleteCertificateOutput, error) DeleteCertificateRequest(*iot.DeleteCertificateInput) (*request.Request, *iot.DeleteCertificateOutput) + DeleteCustomMetric(*iot.DeleteCustomMetricInput) (*iot.DeleteCustomMetricOutput, error) + DeleteCustomMetricWithContext(aws.Context, *iot.DeleteCustomMetricInput, ...request.Option) (*iot.DeleteCustomMetricOutput, error) + DeleteCustomMetricRequest(*iot.DeleteCustomMetricInput) (*request.Request, *iot.DeleteCustomMetricOutput) + DeleteDimension(*iot.DeleteDimensionInput) (*iot.DeleteDimensionOutput, error) DeleteDimensionWithContext(aws.Context, *iot.DeleteDimensionInput, ...request.Option) (*iot.DeleteDimensionOutput, error) DeleteDimensionRequest(*iot.DeleteDimensionInput) (*request.Request, *iot.DeleteDimensionOutput) @@ -372,10 +384,18 @@ type IoTAPI interface { DescribeCertificateWithContext(aws.Context, *iot.DescribeCertificateInput, ...request.Option) (*iot.DescribeCertificateOutput, error) DescribeCertificateRequest(*iot.DescribeCertificateInput) (*request.Request, *iot.DescribeCertificateOutput) + DescribeCustomMetric(*iot.DescribeCustomMetricInput) (*iot.DescribeCustomMetricOutput, error) + DescribeCustomMetricWithContext(aws.Context, *iot.DescribeCustomMetricInput, ...request.Option) (*iot.DescribeCustomMetricOutput, error) + DescribeCustomMetricRequest(*iot.DescribeCustomMetricInput) (*request.Request, *iot.DescribeCustomMetricOutput) + DescribeDefaultAuthorizer(*iot.DescribeDefaultAuthorizerInput) (*iot.DescribeDefaultAuthorizerOutput, error) DescribeDefaultAuthorizerWithContext(aws.Context, *iot.DescribeDefaultAuthorizerInput, ...request.Option) (*iot.DescribeDefaultAuthorizerOutput, error) DescribeDefaultAuthorizerRequest(*iot.DescribeDefaultAuthorizerInput) (*request.Request, *iot.DescribeDefaultAuthorizerOutput) + DescribeDetectMitigationActionsTask(*iot.DescribeDetectMitigationActionsTaskInput) (*iot.DescribeDetectMitigationActionsTaskOutput, error) + DescribeDetectMitigationActionsTaskWithContext(aws.Context, *iot.DescribeDetectMitigationActionsTaskInput, ...request.Option) (*iot.DescribeDetectMitigationActionsTaskOutput, error) + DescribeDetectMitigationActionsTaskRequest(*iot.DescribeDetectMitigationActionsTaskInput) (*request.Request, *iot.DescribeDetectMitigationActionsTaskOutput) + DescribeDimension(*iot.DescribeDimensionInput) (*iot.DescribeDimensionOutput, error) DescribeDimensionWithContext(aws.Context, *iot.DescribeDimensionInput, ...request.Option) (*iot.DescribeDimensionOutput, error) DescribeDimensionRequest(*iot.DescribeDimensionInput) (*request.Request, *iot.DescribeDimensionOutput) @@ -472,6 +492,13 @@ type IoTAPI interface { EnableTopicRuleWithContext(aws.Context, *iot.EnableTopicRuleInput, ...request.Option) (*iot.EnableTopicRuleOutput, error) EnableTopicRuleRequest(*iot.EnableTopicRuleInput) (*request.Request, *iot.EnableTopicRuleOutput) + GetBehaviorModelTrainingSummaries(*iot.GetBehaviorModelTrainingSummariesInput) (*iot.GetBehaviorModelTrainingSummariesOutput, error) + GetBehaviorModelTrainingSummariesWithContext(aws.Context, *iot.GetBehaviorModelTrainingSummariesInput, ...request.Option) (*iot.GetBehaviorModelTrainingSummariesOutput, error) + GetBehaviorModelTrainingSummariesRequest(*iot.GetBehaviorModelTrainingSummariesInput) (*request.Request, *iot.GetBehaviorModelTrainingSummariesOutput) + + GetBehaviorModelTrainingSummariesPages(*iot.GetBehaviorModelTrainingSummariesInput, func(*iot.GetBehaviorModelTrainingSummariesOutput, bool) bool) error + GetBehaviorModelTrainingSummariesPagesWithContext(aws.Context, *iot.GetBehaviorModelTrainingSummariesInput, func(*iot.GetBehaviorModelTrainingSummariesOutput, bool) bool, ...request.Option) error + GetCardinality(*iot.GetCardinalityInput) (*iot.GetCardinalityOutput, error) GetCardinalityWithContext(aws.Context, *iot.GetCardinalityInput, ...request.Option) (*iot.GetCardinalityOutput, error) GetCardinalityRequest(*iot.GetCardinalityInput) (*request.Request, *iot.GetCardinalityOutput) @@ -612,6 +639,27 @@ type IoTAPI interface { ListCertificatesByCAPages(*iot.ListCertificatesByCAInput, func(*iot.ListCertificatesByCAOutput, bool) bool) error ListCertificatesByCAPagesWithContext(aws.Context, *iot.ListCertificatesByCAInput, func(*iot.ListCertificatesByCAOutput, bool) bool, ...request.Option) error + ListCustomMetrics(*iot.ListCustomMetricsInput) (*iot.ListCustomMetricsOutput, error) + ListCustomMetricsWithContext(aws.Context, *iot.ListCustomMetricsInput, ...request.Option) (*iot.ListCustomMetricsOutput, error) + ListCustomMetricsRequest(*iot.ListCustomMetricsInput) (*request.Request, *iot.ListCustomMetricsOutput) + + ListCustomMetricsPages(*iot.ListCustomMetricsInput, func(*iot.ListCustomMetricsOutput, bool) bool) error + ListCustomMetricsPagesWithContext(aws.Context, *iot.ListCustomMetricsInput, func(*iot.ListCustomMetricsOutput, bool) bool, ...request.Option) error + + ListDetectMitigationActionsExecutions(*iot.ListDetectMitigationActionsExecutionsInput) (*iot.ListDetectMitigationActionsExecutionsOutput, error) + ListDetectMitigationActionsExecutionsWithContext(aws.Context, *iot.ListDetectMitigationActionsExecutionsInput, ...request.Option) (*iot.ListDetectMitigationActionsExecutionsOutput, error) + ListDetectMitigationActionsExecutionsRequest(*iot.ListDetectMitigationActionsExecutionsInput) (*request.Request, *iot.ListDetectMitigationActionsExecutionsOutput) + + ListDetectMitigationActionsExecutionsPages(*iot.ListDetectMitigationActionsExecutionsInput, func(*iot.ListDetectMitigationActionsExecutionsOutput, bool) bool) error + ListDetectMitigationActionsExecutionsPagesWithContext(aws.Context, *iot.ListDetectMitigationActionsExecutionsInput, func(*iot.ListDetectMitigationActionsExecutionsOutput, bool) bool, ...request.Option) error + + ListDetectMitigationActionsTasks(*iot.ListDetectMitigationActionsTasksInput) (*iot.ListDetectMitigationActionsTasksOutput, error) + ListDetectMitigationActionsTasksWithContext(aws.Context, *iot.ListDetectMitigationActionsTasksInput, ...request.Option) (*iot.ListDetectMitigationActionsTasksOutput, error) + ListDetectMitigationActionsTasksRequest(*iot.ListDetectMitigationActionsTasksInput) (*request.Request, *iot.ListDetectMitigationActionsTasksOutput) + + ListDetectMitigationActionsTasksPages(*iot.ListDetectMitigationActionsTasksInput, func(*iot.ListDetectMitigationActionsTasksOutput, bool) bool) error + ListDetectMitigationActionsTasksPagesWithContext(aws.Context, *iot.ListDetectMitigationActionsTasksInput, func(*iot.ListDetectMitigationActionsTasksOutput, bool) bool, ...request.Option) error + ListDimensions(*iot.ListDimensionsInput) (*iot.ListDimensionsOutput, error) ListDimensionsWithContext(aws.Context, *iot.ListDimensionsInput, ...request.Option) (*iot.ListDimensionsOutput, error) ListDimensionsRequest(*iot.ListDimensionsInput) (*request.Request, *iot.ListDimensionsOutput) @@ -928,6 +976,10 @@ type IoTAPI interface { StartAuditMitigationActionsTaskWithContext(aws.Context, *iot.StartAuditMitigationActionsTaskInput, ...request.Option) (*iot.StartAuditMitigationActionsTaskOutput, error) StartAuditMitigationActionsTaskRequest(*iot.StartAuditMitigationActionsTaskInput) (*request.Request, *iot.StartAuditMitigationActionsTaskOutput) + StartDetectMitigationActionsTask(*iot.StartDetectMitigationActionsTaskInput) (*iot.StartDetectMitigationActionsTaskOutput, error) + StartDetectMitigationActionsTaskWithContext(aws.Context, *iot.StartDetectMitigationActionsTaskInput, ...request.Option) (*iot.StartDetectMitigationActionsTaskOutput, error) + StartDetectMitigationActionsTaskRequest(*iot.StartDetectMitigationActionsTaskInput) (*request.Request, *iot.StartDetectMitigationActionsTaskOutput) + StartOnDemandAuditTask(*iot.StartOnDemandAuditTaskInput) (*iot.StartOnDemandAuditTaskOutput, error) StartOnDemandAuditTaskWithContext(aws.Context, *iot.StartOnDemandAuditTaskInput, ...request.Option) (*iot.StartOnDemandAuditTaskOutput, error) StartOnDemandAuditTaskRequest(*iot.StartOnDemandAuditTaskInput) (*request.Request, *iot.StartOnDemandAuditTaskOutput) @@ -984,6 +1036,10 @@ type IoTAPI interface { UpdateCertificateWithContext(aws.Context, *iot.UpdateCertificateInput, ...request.Option) (*iot.UpdateCertificateOutput, error) UpdateCertificateRequest(*iot.UpdateCertificateInput) (*request.Request, *iot.UpdateCertificateOutput) + UpdateCustomMetric(*iot.UpdateCustomMetricInput) (*iot.UpdateCustomMetricOutput, error) + UpdateCustomMetricWithContext(aws.Context, *iot.UpdateCustomMetricInput, ...request.Option) (*iot.UpdateCustomMetricOutput, error) + UpdateCustomMetricRequest(*iot.UpdateCustomMetricInput) (*request.Request, *iot.UpdateCustomMetricOutput) + UpdateDimension(*iot.UpdateDimensionInput) (*iot.UpdateDimensionOutput, error) UpdateDimensionWithContext(aws.Context, *iot.UpdateDimensionInput, ...request.Option) (*iot.UpdateDimensionOutput, error) UpdateDimensionRequest(*iot.UpdateDimensionInput) (*request.Request, *iot.UpdateDimensionOutput) diff --git a/service/iotanalytics/api.go b/service/iotanalytics/api.go index b5b157f5e0..1879a548bb 100644 --- a/service/iotanalytics/api.go +++ b/service/iotanalytics/api.go @@ -3906,6 +3906,44 @@ func (s *ChannelActivity) SetNext(v string) *ChannelActivity { return s } +// Specifies one or more sets of channel messages. +type ChannelMessages struct { + _ struct{} `type:"structure"` + + // Specifies one or more keys that identify the Amazon Simple Storage Service + // (Amazon S3) objects that save your channel messages. + S3Paths []*string `locationName:"s3Paths" min:"1" type:"list"` +} + +// String returns the string representation +func (s ChannelMessages) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChannelMessages) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChannelMessages) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChannelMessages"} + if s.S3Paths != nil && len(s.S3Paths) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Paths", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Paths sets the S3Paths field's value. +func (s *ChannelMessages) SetS3Paths(v []*string) *ChannelMessages { + s.S3Paths = v + return s +} + // Statistics information about the channel. type ChannelStatistics struct { _ struct{} `type:"structure"` @@ -4093,6 +4131,67 @@ func (s *ChannelSummary) SetStatus(v string) *ChannelSummary { return s } +// Contains information about a column that stores your data. +type Column struct { + _ struct{} `type:"structure"` + + // The name of the column. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The type of data. For more information about the supported data types, see + // Common data types (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html) + // in the AWS Glue Developer Guide. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Column) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Column) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Column) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Column"} + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v + return s +} + // Information required to run the containerAction to produce dataset contents. type ContainerDatasetAction struct { _ struct{} `type:"structure"` @@ -4657,6 +4756,14 @@ type CreateDatastoreInput struct { // You cannot change this storage option after the data store is created. DatastoreStorage *DatastoreStorage `locationName:"datastoreStorage" type:"structure"` + // Contains the configuration information of file formats. AWS IoT Analytics + // data stores support JSON and Parquet (https://parquet.apache.org/). + // + // The default file format is JSON. You can specify only one format. + // + // You can't change the file format after you create the data store. + FileFormatConfiguration *FileFormatConfiguration `locationName:"fileFormatConfiguration" type:"structure"` + // How long, in days, message data is kept for the data store. When customerManagedS3 // storage is selected, this parameter is ignored. RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"` @@ -4692,6 +4799,11 @@ func (s *CreateDatastoreInput) Validate() error { invalidParams.AddNested("DatastoreStorage", err.(request.ErrInvalidParams)) } } + if s.FileFormatConfiguration != nil { + if err := s.FileFormatConfiguration.Validate(); err != nil { + invalidParams.AddNested("FileFormatConfiguration", err.(request.ErrInvalidParams)) + } + } if s.RetentionPeriod != nil { if err := s.RetentionPeriod.Validate(); err != nil { invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams)) @@ -4726,6 +4838,12 @@ func (s *CreateDatastoreInput) SetDatastoreStorage(v *DatastoreStorage) *CreateD return s } +// SetFileFormatConfiguration sets the FileFormatConfiguration field's value. +func (s *CreateDatastoreInput) SetFileFormatConfiguration(v *FileFormatConfiguration) *CreateDatastoreInput { + s.FileFormatConfiguration = v + return s +} + // SetRetentionPeriod sets the RetentionPeriod field's value. func (s *CreateDatastoreInput) SetRetentionPeriod(v *RetentionPeriod) *CreateDatastoreInput { s.RetentionPeriod = v @@ -5794,6 +5912,14 @@ type Datastore struct { // When the data store was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + // Contains the configuration information of file formats. AWS IoT Analytics + // data stores support JSON and Parquet (https://parquet.apache.org/). + // + // The default file format is JSON. You can specify only one format. + // + // You can't change the file format after you create the data store. + FileFormatConfiguration *FileFormatConfiguration `locationName:"fileFormatConfiguration" type:"structure"` + // The last time when a new message arrived in the data store. // // AWS IoT Analytics updates this value at most once per minute for one data @@ -5856,6 +5982,12 @@ func (s *Datastore) SetCreationTime(v time.Time) *Datastore { return s } +// SetFileFormatConfiguration sets the FileFormatConfiguration field's value. +func (s *Datastore) SetFileFormatConfiguration(v *FileFormatConfiguration) *Datastore { + s.FileFormatConfiguration = v + return s +} + // SetLastMessageArrivalTime sets the LastMessageArrivalTime field's value. func (s *Datastore) SetLastMessageArrivalTime(v time.Time) *Datastore { s.LastMessageArrivalTime = &v @@ -6076,6 +6208,9 @@ type DatastoreSummary struct { // Where data store data is stored. DatastoreStorage *DatastoreStorageSummary `locationName:"datastoreStorage" type:"structure"` + // The file format of the data in the data store. + FileFormatType *string `locationName:"fileFormatType" type:"string" enum:"FileFormatType"` + // The last time when a new message arrived in the data store. // // AWS IoT Analytics updates this value at most once per minute for one data @@ -6120,6 +6255,12 @@ func (s *DatastoreSummary) SetDatastoreStorage(v *DatastoreStorageSummary) *Data return s } +// SetFileFormatType sets the FileFormatType field's value. +func (s *DatastoreSummary) SetFileFormatType(v string) *DatastoreSummary { + s.FileFormatType = &v + return s +} + // SetLastMessageArrivalTime sets the LastMessageArrivalTime field's value. func (s *DatastoreSummary) SetLastMessageArrivalTime(v time.Time) *DatastoreSummary { s.LastMessageArrivalTime = &v @@ -7126,6 +7267,59 @@ func (s *EstimatedResourceSize) SetEstimatedSizeInBytes(v float64) *EstimatedRes return s } +// Contains the configuration information of file formats. AWS IoT Analytics +// data stores support JSON and Parquet (https://parquet.apache.org/). +// +// The default file format is JSON. You can specify only one format. +// +// You can't change the file format after you create the data store. +type FileFormatConfiguration struct { + _ struct{} `type:"structure"` + + // Contains the configuration information of the JSON format. + JsonConfiguration *JsonConfiguration `locationName:"jsonConfiguration" type:"structure"` + + // Contains the configuration information of the Parquet format. + ParquetConfiguration *ParquetConfiguration `locationName:"parquetConfiguration" type:"structure"` +} + +// String returns the string representation +func (s FileFormatConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileFormatConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileFormatConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileFormatConfiguration"} + if s.ParquetConfiguration != nil { + if err := s.ParquetConfiguration.Validate(); err != nil { + invalidParams.AddNested("ParquetConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJsonConfiguration sets the JsonConfiguration field's value. +func (s *FileFormatConfiguration) SetJsonConfiguration(v *JsonConfiguration) *FileFormatConfiguration { + s.JsonConfiguration = v + return s +} + +// SetParquetConfiguration sets the ParquetConfiguration field's value. +func (s *FileFormatConfiguration) SetParquetConfiguration(v *ParquetConfiguration) *FileFormatConfiguration { + s.ParquetConfiguration = v + return s +} + // An activity that filters a message based on its attributes. type FilterActivity struct { _ struct{} `type:"structure"` @@ -7530,6 +7724,21 @@ func (s *IotEventsDestinationConfiguration) SetRoleArn(v string) *IotEventsDesti return s } +// Contains the configuration information of the JSON format. +type JsonConfiguration struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s JsonConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JsonConfiguration) GoString() string { + return s.String() +} + // An activity that runs a Lambda function to modify the message. type LambdaActivity struct { _ struct{} `type:"structure"` @@ -8535,6 +8744,45 @@ func (s *OutputFileUriValue) SetFileName(v string) *OutputFileUriValue { return s } +// Contains the configuration information of the Parquet format. +type ParquetConfiguration struct { + _ struct{} `type:"structure"` + + // Information needed to define a schema. + SchemaDefinition *SchemaDefinition `locationName:"schemaDefinition" type:"structure"` +} + +// String returns the string representation +func (s ParquetConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParquetConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParquetConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParquetConfiguration"} + if s.SchemaDefinition != nil { + if err := s.SchemaDefinition.Validate(); err != nil { + invalidParams.AddNested("SchemaDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSchemaDefinition sets the SchemaDefinition field's value. +func (s *ParquetConfiguration) SetSchemaDefinition(v *SchemaDefinition) *ParquetConfiguration { + s.SchemaDefinition = v + return s +} + // Contains information about a pipeline. type Pipeline struct { _ struct{} `type:"structure"` @@ -9588,6 +9836,53 @@ func (s *Schedule) SetExpression(v string) *Schedule { return s } +// Information needed to define a schema. +type SchemaDefinition struct { + _ struct{} `type:"structure"` + + // Specifies one or more columns that store your data. + // + // Each schema can have up to 100 columns. Each column can have up to 100 nested + // types + Columns []*Column `locationName:"columns" type:"list"` +} + +// String returns the string representation +func (s SchemaDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SchemaDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SchemaDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SchemaDefinition"} + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumns sets the Columns field's value. +func (s *SchemaDefinition) SetColumns(v []*Column) *SchemaDefinition { + s.Columns = v + return s +} + // Creates a new message using only the specified attributes from the original // message. type SelectAttributesActivity struct { @@ -9841,7 +10136,16 @@ func (s *SqlQueryDatasetAction) SetSqlQuery(v string) *SqlQueryDatasetAction { type StartPipelineReprocessingInput struct { _ struct{} `type:"structure"` + // Specifies one or more sets of channel messages that you want to reprocess. + // + // If you use the channelMessages object, you must not specify a value for startTime + // and endTime. + ChannelMessages *ChannelMessages `locationName:"channelMessages" type:"structure"` + // The end time (exclusive) of raw message data that is reprocessed. + // + // If you specify a value for the endTime parameter, you must not use the channelMessages + // object. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // The name of the pipeline on which to start reprocessing. @@ -9850,6 +10154,9 @@ type StartPipelineReprocessingInput struct { PipelineName *string `location:"uri" locationName:"pipelineName" min:"1" type:"string" required:"true"` // The start time (inclusive) of raw message data that is reprocessed. + // + // If you specify a value for the startTime parameter, you must not use the + // channelMessages object. StartTime *time.Time `locationName:"startTime" type:"timestamp"` } @@ -9872,6 +10179,11 @@ func (s *StartPipelineReprocessingInput) Validate() error { if s.PipelineName != nil && len(*s.PipelineName) < 1 { invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1)) } + if s.ChannelMessages != nil { + if err := s.ChannelMessages.Validate(); err != nil { + invalidParams.AddNested("ChannelMessages", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9879,6 +10191,12 @@ func (s *StartPipelineReprocessingInput) Validate() error { return nil } +// SetChannelMessages sets the ChannelMessages field's value. +func (s *StartPipelineReprocessingInput) SetChannelMessages(v *ChannelMessages) *StartPipelineReprocessingInput { + s.ChannelMessages = v + return s +} + // SetEndTime sets the EndTime field's value. func (s *StartPipelineReprocessingInput) SetEndTime(v time.Time) *StartPipelineReprocessingInput { s.EndTime = &v @@ -10512,6 +10830,14 @@ type UpdateDatastoreInput struct { // You cannot change this storage option after the data store is created. DatastoreStorage *DatastoreStorage `locationName:"datastoreStorage" type:"structure"` + // Contains the configuration information of file formats. AWS IoT Analytics + // data stores support JSON and Parquet (https://parquet.apache.org/). + // + // The default file format is JSON. You can specify only one format. + // + // You can't change the file format after you create the data store. + FileFormatConfiguration *FileFormatConfiguration `locationName:"fileFormatConfiguration" type:"structure"` + // How long, in days, message data is kept for the data store. The retention // period cannot be updated if the data store's S3 storage is customer-managed. RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"` @@ -10541,6 +10867,11 @@ func (s *UpdateDatastoreInput) Validate() error { invalidParams.AddNested("DatastoreStorage", err.(request.ErrInvalidParams)) } } + if s.FileFormatConfiguration != nil { + if err := s.FileFormatConfiguration.Validate(); err != nil { + invalidParams.AddNested("FileFormatConfiguration", err.(request.ErrInvalidParams)) + } + } if s.RetentionPeriod != nil { if err := s.RetentionPeriod.Validate(); err != nil { invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams)) @@ -10565,6 +10896,12 @@ func (s *UpdateDatastoreInput) SetDatastoreStorage(v *DatastoreStorage) *UpdateD return s } +// SetFileFormatConfiguration sets the FileFormatConfiguration field's value. +func (s *UpdateDatastoreInput) SetFileFormatConfiguration(v *FileFormatConfiguration) *UpdateDatastoreInput { + s.FileFormatConfiguration = v + return s +} + // SetRetentionPeriod sets the RetentionPeriod field's value. func (s *UpdateDatastoreInput) SetRetentionPeriod(v *RetentionPeriod) *UpdateDatastoreInput { s.RetentionPeriod = v @@ -10928,6 +11265,22 @@ func DatastoreStatus_Values() []string { } } +const ( + // FileFormatTypeJson is a FileFormatType enum value + FileFormatTypeJson = "JSON" + + // FileFormatTypeParquet is a FileFormatType enum value + FileFormatTypeParquet = "PARQUET" +) + +// FileFormatType_Values returns all elements of the FileFormatType enum +func FileFormatType_Values() []string { + return []string{ + FileFormatTypeJson, + FileFormatTypeParquet, + } +} + const ( // LoggingLevelError is a LoggingLevel enum value LoggingLevelError = "ERROR" diff --git a/service/iotdeviceadvisor/api.go b/service/iotdeviceadvisor/api.go new file mode 100644 index 0000000000..9504ff5564 --- /dev/null +++ b/service/iotdeviceadvisor/api.go @@ -0,0 +1,3489 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotdeviceadvisor + +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" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateSuiteDefinition = "CreateSuiteDefinition" + +// CreateSuiteDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the CreateSuiteDefinition 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 CreateSuiteDefinition for more information on using the CreateSuiteDefinition +// 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 CreateSuiteDefinitionRequest method. +// req, resp := client.CreateSuiteDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition +func (c *IoTDeviceAdvisor) CreateSuiteDefinitionRequest(input *CreateSuiteDefinitionInput) (req *request.Request, output *CreateSuiteDefinitionOutput) { + op := &request.Operation{ + Name: opCreateSuiteDefinition, + HTTPMethod: "POST", + HTTPPath: "/suiteDefinitions", + } + + if input == nil { + input = &CreateSuiteDefinitionInput{} + } + + output = &CreateSuiteDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSuiteDefinition API operation for AWS IoT Core Device Advisor. +// +// Creates a Device Advisor test suite. +// +// 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 Core Device Advisor's +// API operation CreateSuiteDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition +func (c *IoTDeviceAdvisor) CreateSuiteDefinition(input *CreateSuiteDefinitionInput) (*CreateSuiteDefinitionOutput, error) { + req, out := c.CreateSuiteDefinitionRequest(input) + return out, req.Send() +} + +// CreateSuiteDefinitionWithContext is the same as CreateSuiteDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSuiteDefinition 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 *IoTDeviceAdvisor) CreateSuiteDefinitionWithContext(ctx aws.Context, input *CreateSuiteDefinitionInput, opts ...request.Option) (*CreateSuiteDefinitionOutput, error) { + req, out := c.CreateSuiteDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSuiteDefinition = "DeleteSuiteDefinition" + +// DeleteSuiteDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSuiteDefinition 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 DeleteSuiteDefinition for more information on using the DeleteSuiteDefinition +// 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 DeleteSuiteDefinitionRequest method. +// req, resp := client.DeleteSuiteDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition +func (c *IoTDeviceAdvisor) DeleteSuiteDefinitionRequest(input *DeleteSuiteDefinitionInput) (req *request.Request, output *DeleteSuiteDefinitionOutput) { + op := &request.Operation{ + Name: opDeleteSuiteDefinition, + HTTPMethod: "DELETE", + HTTPPath: "/suiteDefinitions/{suiteDefinitionId}", + } + + if input == nil { + input = &DeleteSuiteDefinitionInput{} + } + + output = &DeleteSuiteDefinitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSuiteDefinition API operation for AWS IoT Core Device Advisor. +// +// Deletes a Device Advisor test suite. +// +// 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 Core Device Advisor's +// API operation DeleteSuiteDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition +func (c *IoTDeviceAdvisor) DeleteSuiteDefinition(input *DeleteSuiteDefinitionInput) (*DeleteSuiteDefinitionOutput, error) { + req, out := c.DeleteSuiteDefinitionRequest(input) + return out, req.Send() +} + +// DeleteSuiteDefinitionWithContext is the same as DeleteSuiteDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSuiteDefinition 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 *IoTDeviceAdvisor) DeleteSuiteDefinitionWithContext(ctx aws.Context, input *DeleteSuiteDefinitionInput, opts ...request.Option) (*DeleteSuiteDefinitionOutput, error) { + req, out := c.DeleteSuiteDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSuiteDefinition = "GetSuiteDefinition" + +// GetSuiteDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the GetSuiteDefinition 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 GetSuiteDefinition for more information on using the GetSuiteDefinition +// 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 GetSuiteDefinitionRequest method. +// req, resp := client.GetSuiteDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteDefinition +func (c *IoTDeviceAdvisor) GetSuiteDefinitionRequest(input *GetSuiteDefinitionInput) (req *request.Request, output *GetSuiteDefinitionOutput) { + op := &request.Operation{ + Name: opGetSuiteDefinition, + HTTPMethod: "GET", + HTTPPath: "/suiteDefinitions/{suiteDefinitionId}", + } + + if input == nil { + input = &GetSuiteDefinitionInput{} + } + + output = &GetSuiteDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSuiteDefinition API operation for AWS IoT Core Device Advisor. +// +// Gets information about a Device Advisor test suite. +// +// 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 Core Device Advisor's +// API operation GetSuiteDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ResourceNotFoundException +// Sends Resource Not Found Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteDefinition +func (c *IoTDeviceAdvisor) GetSuiteDefinition(input *GetSuiteDefinitionInput) (*GetSuiteDefinitionOutput, error) { + req, out := c.GetSuiteDefinitionRequest(input) + return out, req.Send() +} + +// GetSuiteDefinitionWithContext is the same as GetSuiteDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See GetSuiteDefinition 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 *IoTDeviceAdvisor) GetSuiteDefinitionWithContext(ctx aws.Context, input *GetSuiteDefinitionInput, opts ...request.Option) (*GetSuiteDefinitionOutput, error) { + req, out := c.GetSuiteDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSuiteRun = "GetSuiteRun" + +// GetSuiteRunRequest generates a "aws/request.Request" representing the +// client's request for the GetSuiteRun 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 GetSuiteRun for more information on using the GetSuiteRun +// 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 GetSuiteRunRequest method. +// req, resp := client.GetSuiteRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRun +func (c *IoTDeviceAdvisor) GetSuiteRunRequest(input *GetSuiteRunInput) (req *request.Request, output *GetSuiteRunOutput) { + op := &request.Operation{ + Name: opGetSuiteRun, + HTTPMethod: "GET", + HTTPPath: "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}", + } + + if input == nil { + input = &GetSuiteRunInput{} + } + + output = &GetSuiteRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSuiteRun API operation for AWS IoT Core Device Advisor. +// +// Gets information about a Device Advisor test suite run. +// +// 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 Core Device Advisor's +// API operation GetSuiteRun for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ResourceNotFoundException +// Sends Resource Not Found Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRun +func (c *IoTDeviceAdvisor) GetSuiteRun(input *GetSuiteRunInput) (*GetSuiteRunOutput, error) { + req, out := c.GetSuiteRunRequest(input) + return out, req.Send() +} + +// GetSuiteRunWithContext is the same as GetSuiteRun with the addition of +// the ability to pass a context and additional request options. +// +// See GetSuiteRun 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 *IoTDeviceAdvisor) GetSuiteRunWithContext(ctx aws.Context, input *GetSuiteRunInput, opts ...request.Option) (*GetSuiteRunOutput, error) { + req, out := c.GetSuiteRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSuiteRunReport = "GetSuiteRunReport" + +// GetSuiteRunReportRequest generates a "aws/request.Request" representing the +// client's request for the GetSuiteRunReport 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 GetSuiteRunReport for more information on using the GetSuiteRunReport +// 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 GetSuiteRunReportRequest method. +// req, resp := client.GetSuiteRunReportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRunReport +func (c *IoTDeviceAdvisor) GetSuiteRunReportRequest(input *GetSuiteRunReportInput) (req *request.Request, output *GetSuiteRunReportOutput) { + op := &request.Operation{ + Name: opGetSuiteRunReport, + HTTPMethod: "GET", + HTTPPath: "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}/report", + } + + if input == nil { + input = &GetSuiteRunReportInput{} + } + + output = &GetSuiteRunReportOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSuiteRunReport API operation for AWS IoT Core Device Advisor. +// +// Gets a report download link for a successful Device Advisor qualifying test +// suite run. +// +// 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 Core Device Advisor's +// API operation GetSuiteRunReport for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ResourceNotFoundException +// Sends Resource Not Found Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRunReport +func (c *IoTDeviceAdvisor) GetSuiteRunReport(input *GetSuiteRunReportInput) (*GetSuiteRunReportOutput, error) { + req, out := c.GetSuiteRunReportRequest(input) + return out, req.Send() +} + +// GetSuiteRunReportWithContext is the same as GetSuiteRunReport with the addition of +// the ability to pass a context and additional request options. +// +// See GetSuiteRunReport 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 *IoTDeviceAdvisor) GetSuiteRunReportWithContext(ctx aws.Context, input *GetSuiteRunReportInput, opts ...request.Option) (*GetSuiteRunReportOutput, error) { + req, out := c.GetSuiteRunReportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListSuiteDefinitions = "ListSuiteDefinitions" + +// ListSuiteDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the ListSuiteDefinitions 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 ListSuiteDefinitions for more information on using the ListSuiteDefinitions +// 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 ListSuiteDefinitionsRequest method. +// req, resp := client.ListSuiteDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions +func (c *IoTDeviceAdvisor) ListSuiteDefinitionsRequest(input *ListSuiteDefinitionsInput) (req *request.Request, output *ListSuiteDefinitionsOutput) { + op := &request.Operation{ + Name: opListSuiteDefinitions, + HTTPMethod: "GET", + HTTPPath: "/suiteDefinitions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSuiteDefinitionsInput{} + } + + output = &ListSuiteDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSuiteDefinitions API operation for AWS IoT Core Device Advisor. +// +// Lists the Device Advisor test suites you have created. +// +// 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 Core Device Advisor's +// API operation ListSuiteDefinitions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions +func (c *IoTDeviceAdvisor) ListSuiteDefinitions(input *ListSuiteDefinitionsInput) (*ListSuiteDefinitionsOutput, error) { + req, out := c.ListSuiteDefinitionsRequest(input) + return out, req.Send() +} + +// ListSuiteDefinitionsWithContext is the same as ListSuiteDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See ListSuiteDefinitions 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 *IoTDeviceAdvisor) ListSuiteDefinitionsWithContext(ctx aws.Context, input *ListSuiteDefinitionsInput, opts ...request.Option) (*ListSuiteDefinitionsOutput, error) { + req, out := c.ListSuiteDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSuiteDefinitionsPages iterates over the pages of a ListSuiteDefinitions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSuiteDefinitions 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 ListSuiteDefinitions operation. +// pageNum := 0 +// err := client.ListSuiteDefinitionsPages(params, +// func(page *iotdeviceadvisor.ListSuiteDefinitionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTDeviceAdvisor) ListSuiteDefinitionsPages(input *ListSuiteDefinitionsInput, fn func(*ListSuiteDefinitionsOutput, bool) bool) error { + return c.ListSuiteDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSuiteDefinitionsPagesWithContext same as ListSuiteDefinitionsPages 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 *IoTDeviceAdvisor) ListSuiteDefinitionsPagesWithContext(ctx aws.Context, input *ListSuiteDefinitionsInput, fn func(*ListSuiteDefinitionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSuiteDefinitionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSuiteDefinitionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSuiteDefinitionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSuiteRuns = "ListSuiteRuns" + +// ListSuiteRunsRequest generates a "aws/request.Request" representing the +// client's request for the ListSuiteRuns 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 ListSuiteRuns for more information on using the ListSuiteRuns +// 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 ListSuiteRunsRequest method. +// req, resp := client.ListSuiteRunsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteRuns +func (c *IoTDeviceAdvisor) ListSuiteRunsRequest(input *ListSuiteRunsInput) (req *request.Request, output *ListSuiteRunsOutput) { + op := &request.Operation{ + Name: opListSuiteRuns, + HTTPMethod: "GET", + HTTPPath: "/suiteRuns", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSuiteRunsInput{} + } + + output = &ListSuiteRunsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSuiteRuns API operation for AWS IoT Core Device Advisor. +// +// Lists the runs of the specified Device Advisor test suite. You can list all +// runs of the test suite, or the runs of a specific version of the test suite. +// +// 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 Core Device Advisor's +// API operation ListSuiteRuns for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteRuns +func (c *IoTDeviceAdvisor) ListSuiteRuns(input *ListSuiteRunsInput) (*ListSuiteRunsOutput, error) { + req, out := c.ListSuiteRunsRequest(input) + return out, req.Send() +} + +// ListSuiteRunsWithContext is the same as ListSuiteRuns with the addition of +// the ability to pass a context and additional request options. +// +// See ListSuiteRuns 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 *IoTDeviceAdvisor) ListSuiteRunsWithContext(ctx aws.Context, input *ListSuiteRunsInput, opts ...request.Option) (*ListSuiteRunsOutput, error) { + req, out := c.ListSuiteRunsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSuiteRunsPages iterates over the pages of a ListSuiteRuns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSuiteRuns 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 ListSuiteRuns operation. +// pageNum := 0 +// err := client.ListSuiteRunsPages(params, +// func(page *iotdeviceadvisor.ListSuiteRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTDeviceAdvisor) ListSuiteRunsPages(input *ListSuiteRunsInput, fn func(*ListSuiteRunsOutput, bool) bool) error { + return c.ListSuiteRunsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSuiteRunsPagesWithContext same as ListSuiteRunsPages 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 *IoTDeviceAdvisor) ListSuiteRunsPagesWithContext(ctx aws.Context, input *ListSuiteRunsInput, fn func(*ListSuiteRunsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSuiteRunsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSuiteRunsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSuiteRunsOutput), !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 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 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/iotdeviceadvisor-2020-09-18/ListTagsForResource +func (c *IoTDeviceAdvisor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS IoT Core Device Advisor. +// +// Lists the tags attached to an IoT Device Advisor 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 Core Device Advisor's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ValidationException +// Sends invalid request exception. +// +// * ResourceNotFoundException +// Sends Resource Not Found Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTagsForResource +func (c *IoTDeviceAdvisor) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource 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. +// +// 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 *IoTDeviceAdvisor) 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 opListTestCases = "ListTestCases" + +// ListTestCasesRequest generates a "aws/request.Request" representing the +// client's request for the ListTestCases 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 ListTestCases for more information on using the ListTestCases +// 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 ListTestCasesRequest method. +// req, resp := client.ListTestCasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTestCases +func (c *IoTDeviceAdvisor) ListTestCasesRequest(input *ListTestCasesInput) (req *request.Request, output *ListTestCasesOutput) { + op := &request.Operation{ + Name: opListTestCases, + HTTPMethod: "GET", + HTTPPath: "/testCases", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTestCasesInput{} + } + + output = &ListTestCasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTestCases API operation for AWS IoT Core Device Advisor. +// +// Lists all the test cases in the test suite. +// +// 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 Core Device Advisor's +// API operation ListTestCases for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Sends Internal Failure Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTestCases +func (c *IoTDeviceAdvisor) ListTestCases(input *ListTestCasesInput) (*ListTestCasesOutput, error) { + req, out := c.ListTestCasesRequest(input) + return out, req.Send() +} + +// ListTestCasesWithContext is the same as ListTestCases with the addition of +// the ability to pass a context and additional request options. +// +// See ListTestCases 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 *IoTDeviceAdvisor) ListTestCasesWithContext(ctx aws.Context, input *ListTestCasesInput, opts ...request.Option) (*ListTestCasesOutput, error) { + req, out := c.ListTestCasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTestCasesPages iterates over the pages of a ListTestCases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTestCases 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 ListTestCases operation. +// pageNum := 0 +// err := client.ListTestCasesPages(params, +// func(page *iotdeviceadvisor.ListTestCasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTDeviceAdvisor) ListTestCasesPages(input *ListTestCasesInput, fn func(*ListTestCasesOutput, bool) bool) error { + return c.ListTestCasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTestCasesPagesWithContext same as ListTestCasesPages 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 *IoTDeviceAdvisor) ListTestCasesPagesWithContext(ctx aws.Context, input *ListTestCasesInput, fn func(*ListTestCasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTestCasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTestCasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTestCasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opStartSuiteRun = "StartSuiteRun" + +// StartSuiteRunRequest generates a "aws/request.Request" representing the +// client's request for the StartSuiteRun 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 StartSuiteRun for more information on using the StartSuiteRun +// 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 StartSuiteRunRequest method. +// req, resp := client.StartSuiteRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StartSuiteRun +func (c *IoTDeviceAdvisor) StartSuiteRunRequest(input *StartSuiteRunInput) (req *request.Request, output *StartSuiteRunOutput) { + op := &request.Operation{ + Name: opStartSuiteRun, + HTTPMethod: "POST", + HTTPPath: "/suiteDefinitions/{suiteDefinitionId}/suiteRuns", + } + + if input == nil { + input = &StartSuiteRunInput{} + } + + output = &StartSuiteRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartSuiteRun API operation for AWS IoT Core Device Advisor. +// +// Starts a Device Advisor test suite run. +// +// 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 Core Device Advisor's +// API operation StartSuiteRun for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ConflictException +// Sends Conflict Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StartSuiteRun +func (c *IoTDeviceAdvisor) StartSuiteRun(input *StartSuiteRunInput) (*StartSuiteRunOutput, error) { + req, out := c.StartSuiteRunRequest(input) + return out, req.Send() +} + +// StartSuiteRunWithContext is the same as StartSuiteRun with the addition of +// the ability to pass a context and additional request options. +// +// See StartSuiteRun 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 *IoTDeviceAdvisor) StartSuiteRunWithContext(ctx aws.Context, input *StartSuiteRunInput, opts ...request.Option) (*StartSuiteRunOutput, error) { + req, out := c.StartSuiteRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +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 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 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/iotdeviceadvisor-2020-09-18/TagResource +func (c *IoTDeviceAdvisor) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS IoT Core Device Advisor. +// +// Adds to and modifies existing tags of an IoT Device Advisor 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 Core Device Advisor's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ValidationException +// Sends invalid request exception. +// +// * ResourceNotFoundException +// Sends Resource Not Found Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/TagResource +func (c *IoTDeviceAdvisor) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource 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. +// +// 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 *IoTDeviceAdvisor) 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 opUntagResource = "UntagResource" + +// 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 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 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/iotdeviceadvisor-2020-09-18/UntagResource +func (c *IoTDeviceAdvisor) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS IoT Core Device Advisor. +// +// Removes tags from an IoT Device Advisor 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 Core Device Advisor's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Sends Internal Failure Exception. +// +// * ValidationException +// Sends invalid request exception. +// +// * ResourceNotFoundException +// Sends Resource Not Found Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UntagResource +func (c *IoTDeviceAdvisor) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource 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. +// +// 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 *IoTDeviceAdvisor) 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 opUpdateSuiteDefinition = "UpdateSuiteDefinition" + +// UpdateSuiteDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSuiteDefinition 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 UpdateSuiteDefinition for more information on using the UpdateSuiteDefinition +// 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 UpdateSuiteDefinitionRequest method. +// req, resp := client.UpdateSuiteDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition +func (c *IoTDeviceAdvisor) UpdateSuiteDefinitionRequest(input *UpdateSuiteDefinitionInput) (req *request.Request, output *UpdateSuiteDefinitionOutput) { + op := &request.Operation{ + Name: opUpdateSuiteDefinition, + HTTPMethod: "PATCH", + HTTPPath: "/suiteDefinitions/{suiteDefinitionId}", + } + + if input == nil { + input = &UpdateSuiteDefinitionInput{} + } + + output = &UpdateSuiteDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSuiteDefinition API operation for AWS IoT Core Device Advisor. +// +// Updates a Device Advisor test suite. +// +// 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 Core Device Advisor's +// API operation UpdateSuiteDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// Sends invalid request exception. +// +// * InternalServerException +// Sends Internal Failure Exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition +func (c *IoTDeviceAdvisor) UpdateSuiteDefinition(input *UpdateSuiteDefinitionInput) (*UpdateSuiteDefinitionOutput, error) { + req, out := c.UpdateSuiteDefinitionRequest(input) + return out, req.Send() +} + +// UpdateSuiteDefinitionWithContext is the same as UpdateSuiteDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSuiteDefinition 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 *IoTDeviceAdvisor) UpdateSuiteDefinitionWithContext(ctx aws.Context, input *UpdateSuiteDefinitionInput, opts ...request.Option) (*UpdateSuiteDefinitionOutput, error) { + req, out := c.UpdateSuiteDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Sends Conflict Exception. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Sends Conflict Exception message. + Message_ *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 CreateSuiteDefinitionInput struct { + _ struct{} `type:"structure"` + + // Creates a Device Advisor test suite with suite definition configuration. + SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"` + + // The tags to be attached to the suite definition. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateSuiteDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSuiteDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSuiteDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSuiteDefinitionInput"} + if s.SuiteDefinitionConfiguration != nil { + if err := s.SuiteDefinitionConfiguration.Validate(); err != nil { + invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value. +func (s *CreateSuiteDefinitionInput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *CreateSuiteDefinitionInput { + s.SuiteDefinitionConfiguration = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSuiteDefinitionInput) SetTags(v map[string]*string) *CreateSuiteDefinitionInput { + s.Tags = v + return s +} + +type CreateSuiteDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Creates a Device Advisor test suite with TimeStamp of when it was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Creates a Device Advisor test suite with Amazon Resource name. + SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"` + + // Creates a Device Advisor test suite with suite UUID. + SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Creates a Device Advisor test suite with suite definition name. + SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateSuiteDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSuiteDefinitionOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *CreateSuiteDefinitionOutput) SetCreatedAt(v time.Time) *CreateSuiteDefinitionOutput { + s.CreatedAt = &v + return s +} + +// SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value. +func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *CreateSuiteDefinitionOutput { + s.SuiteDefinitionArn = &v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *CreateSuiteDefinitionOutput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionName sets the SuiteDefinitionName field's value. +func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionName(v string) *CreateSuiteDefinitionOutput { + s.SuiteDefinitionName = &v + return s +} + +type DeleteSuiteDefinitionInput struct { + _ struct{} `type:"structure"` + + // Deletes a Device Advisor test suite with defined suite Id. + // + // SuiteDefinitionId is a required field + SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSuiteDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSuiteDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSuiteDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSuiteDefinitionInput"} + if s.SuiteDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId")) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *DeleteSuiteDefinitionInput) SetSuiteDefinitionId(v string) *DeleteSuiteDefinitionInput { + s.SuiteDefinitionId = &v + return s +} + +type DeleteSuiteDefinitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSuiteDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSuiteDefinitionOutput) GoString() string { + return s.String() +} + +// Lists all the devices under test +type DeviceUnderTest struct { + _ struct{} `type:"structure"` + + // Lists devices certificate arn + CertificateArn *string `locationName:"certificateArn" min:"20" type:"string"` + + // Lists devices thing arn + ThingArn *string `locationName:"thingArn" min:"20" type:"string"` +} + +// String returns the string representation +func (s DeviceUnderTest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeviceUnderTest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeviceUnderTest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeviceUnderTest"} + if s.CertificateArn != nil && len(*s.CertificateArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 20)) + } + if s.ThingArn != nil && len(*s.ThingArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ThingArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *DeviceUnderTest) SetCertificateArn(v string) *DeviceUnderTest { + s.CertificateArn = &v + return s +} + +// SetThingArn sets the ThingArn field's value. +func (s *DeviceUnderTest) SetThingArn(v string) *DeviceUnderTest { + s.ThingArn = &v + return s +} + +type GetSuiteDefinitionInput struct { + _ struct{} `type:"structure"` + + // Requests suite definition Id with GetSuiteDefinition API call. + // + // SuiteDefinitionId is a required field + SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"36" type:"string" required:"true"` + + // Requests the suite definition version of a test suite. + SuiteDefinitionVersion *string `location:"querystring" locationName:"suiteDefinitionVersion" min:"2" type:"string"` +} + +// String returns the string representation +func (s GetSuiteDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuiteDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSuiteDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSuiteDefinitionInput"} + if s.SuiteDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId")) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *GetSuiteDefinitionInput) SetSuiteDefinitionId(v string) *GetSuiteDefinitionInput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *GetSuiteDefinitionInput) SetSuiteDefinitionVersion(v string) *GetSuiteDefinitionInput { + s.SuiteDefinitionVersion = &v + return s +} + +type GetSuiteDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Gets the timestamp of the time suite was created with GetSuiteDefinition + // API call. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Gets the timestamp of the time suite was modified with GetSuiteDefinition + // API call. + LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"` + + // Gets latest suite definition version with GetSuiteDefinition API call. + LatestVersion *string `locationName:"latestVersion" min:"2" type:"string"` + + // The ARN of the suite definition. + SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"` + + // Gets the suite configuration with GetSuiteDefinition API call. + SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"` + + // Gets suite definition Id with GetSuiteDefinition API call. + SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Gets suite definition version with GetSuiteDefinition API call. + SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"` + + // Tags attached to the suite definition. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s GetSuiteDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuiteDefinitionOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetSuiteDefinitionOutput) SetCreatedAt(v time.Time) *GetSuiteDefinitionOutput { + s.CreatedAt = &v + return s +} + +// SetLastModifiedAt sets the LastModifiedAt field's value. +func (s *GetSuiteDefinitionOutput) SetLastModifiedAt(v time.Time) *GetSuiteDefinitionOutput { + s.LastModifiedAt = &v + return s +} + +// SetLatestVersion sets the LatestVersion field's value. +func (s *GetSuiteDefinitionOutput) SetLatestVersion(v string) *GetSuiteDefinitionOutput { + s.LatestVersion = &v + return s +} + +// SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value. +func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *GetSuiteDefinitionOutput { + s.SuiteDefinitionArn = &v + return s +} + +// SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value. +func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *GetSuiteDefinitionOutput { + s.SuiteDefinitionConfiguration = v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *GetSuiteDefinitionOutput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionVersion(v string) *GetSuiteDefinitionOutput { + s.SuiteDefinitionVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetSuiteDefinitionOutput) SetTags(v map[string]*string) *GetSuiteDefinitionOutput { + s.Tags = v + return s +} + +type GetSuiteRunInput struct { + _ struct{} `type:"structure"` + + // Requests the information about Device Advisor test suite run based on suite + // definition Id. + // + // SuiteDefinitionId is a required field + SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"36" type:"string" required:"true"` + + // Requests the information about Device Advisor test suite run based on suite + // run Id. + // + // SuiteRunId is a required field + SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSuiteRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuiteRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSuiteRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSuiteRunInput"} + if s.SuiteDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId")) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + if s.SuiteRunId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteRunId")) + } + if s.SuiteRunId != nil && len(*s.SuiteRunId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *GetSuiteRunInput) SetSuiteDefinitionId(v string) *GetSuiteRunInput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteRunId sets the SuiteRunId field's value. +func (s *GetSuiteRunInput) SetSuiteRunId(v string) *GetSuiteRunInput { + s.SuiteRunId = &v + return s +} + +type GetSuiteRunOutput struct { + _ struct{} `type:"structure"` + + // Gets the information about Device Advisor test suite run based on end time. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // Gets the information about Device Advisor test suite run based on error. + ErrorReason *string `locationName:"errorReason" type:"string"` + + // Gets the information about Device Advisor test suite run based on start time. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // Gets the information about Device Advisor test suite run based on its status. + Status *string `locationName:"status" type:"string" enum:"SuiteRunStatus"` + + // Gets the information about Device Advisor test suite run based on suite definition + // Id. + SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Gets the information about Device Advisor test suite run based on suite definition + // version. + SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"` + + // The ARN of the suite run. + SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"` + + // Gets the information about Device Advisor test suite run based on suite configuration. + SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"` + + // Gets the information about Device Advisor test suite run based on suite run + // Id. + SuiteRunId *string `locationName:"suiteRunId" min:"36" type:"string"` + + // The tags attached to the suite run. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Gets the information about Device Advisor test suite run based on test case + // runs. + TestResult *TestResult `locationName:"testResult" type:"structure"` +} + +// String returns the string representation +func (s GetSuiteRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuiteRunOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *GetSuiteRunOutput) SetEndTime(v time.Time) *GetSuiteRunOutput { + s.EndTime = &v + return s +} + +// SetErrorReason sets the ErrorReason field's value. +func (s *GetSuiteRunOutput) SetErrorReason(v string) *GetSuiteRunOutput { + s.ErrorReason = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetSuiteRunOutput) SetStartTime(v time.Time) *GetSuiteRunOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetSuiteRunOutput) SetStatus(v string) *GetSuiteRunOutput { + s.Status = &v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *GetSuiteRunOutput) SetSuiteDefinitionId(v string) *GetSuiteRunOutput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *GetSuiteRunOutput) SetSuiteDefinitionVersion(v string) *GetSuiteRunOutput { + s.SuiteDefinitionVersion = &v + return s +} + +// SetSuiteRunArn sets the SuiteRunArn field's value. +func (s *GetSuiteRunOutput) SetSuiteRunArn(v string) *GetSuiteRunOutput { + s.SuiteRunArn = &v + return s +} + +// SetSuiteRunConfiguration sets the SuiteRunConfiguration field's value. +func (s *GetSuiteRunOutput) SetSuiteRunConfiguration(v *SuiteRunConfiguration) *GetSuiteRunOutput { + s.SuiteRunConfiguration = v + return s +} + +// SetSuiteRunId sets the SuiteRunId field's value. +func (s *GetSuiteRunOutput) SetSuiteRunId(v string) *GetSuiteRunOutput { + s.SuiteRunId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetSuiteRunOutput) SetTags(v map[string]*string) *GetSuiteRunOutput { + s.Tags = v + return s +} + +// SetTestResult sets the TestResult field's value. +func (s *GetSuiteRunOutput) SetTestResult(v *TestResult) *GetSuiteRunOutput { + s.TestResult = v + return s +} + +type GetSuiteRunReportInput struct { + _ struct{} `type:"structure"` + + // Device Advisor suite definition Id. + // + // SuiteDefinitionId is a required field + SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"36" type:"string" required:"true"` + + // Device Advisor suite run Id. + // + // SuiteRunId is a required field + SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSuiteRunReportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuiteRunReportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSuiteRunReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSuiteRunReportInput"} + if s.SuiteDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId")) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + if s.SuiteRunId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteRunId")) + } + if s.SuiteRunId != nil && len(*s.SuiteRunId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *GetSuiteRunReportInput) SetSuiteDefinitionId(v string) *GetSuiteRunReportInput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteRunId sets the SuiteRunId field's value. +func (s *GetSuiteRunReportInput) SetSuiteRunId(v string) *GetSuiteRunReportInput { + s.SuiteRunId = &v + return s +} + +type GetSuiteRunReportOutput struct { + _ struct{} `type:"structure"` + + // Gets the download URL of the qualification report. + QualificationReportDownloadUrl *string `locationName:"qualificationReportDownloadUrl" type:"string"` +} + +// String returns the string representation +func (s GetSuiteRunReportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuiteRunReportOutput) GoString() string { + return s.String() +} + +// SetQualificationReportDownloadUrl sets the QualificationReportDownloadUrl field's value. +func (s *GetSuiteRunReportOutput) SetQualificationReportDownloadUrl(v string) *GetSuiteRunReportOutput { + s.QualificationReportDownloadUrl = &v + return s +} + +// Show Group Result. +type GroupResult struct { + _ struct{} `type:"structure"` + + // Show Group Result Id. + GroupId *string `locationName:"groupId" min:"36" type:"string"` + + // Show Group Result Name. + GroupName *string `locationName:"groupName" type:"string"` + + // Show Group Result. + Tests []*TestCaseRun `locationName:"tests" type:"list"` +} + +// String returns the string representation +func (s GroupResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupResult) GoString() string { + return s.String() +} + +// SetGroupId sets the GroupId field's value. +func (s *GroupResult) SetGroupId(v string) *GroupResult { + s.GroupId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *GroupResult) SetGroupName(v string) *GroupResult { + s.GroupName = &v + return s +} + +// SetTests sets the Tests field's value. +func (s *GroupResult) SetTests(v []*TestCaseRun) *GroupResult { + s.Tests = v + return s +} + +// Sends Internal Failure Exception. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Sends Internal Failure Exception message. + Message_ *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 ListSuiteDefinitionsInput struct { + _ struct{} `type:"structure"` + + // Request the list of all the Device Advisor test suites. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Requests the Device Advisor test suites next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListSuiteDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSuiteDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSuiteDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSuiteDefinitionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSuiteDefinitionsInput) SetMaxResults(v int64) *ListSuiteDefinitionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSuiteDefinitionsInput) SetNextToken(v string) *ListSuiteDefinitionsInput { + s.NextToken = &v + return s +} + +type ListSuiteDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // Creates a Device Advisor test suite. + NextToken *string `locationName:"nextToken" type:"string"` + + // Lists test suite information using List suite definition. + SuiteDefinitionInformationList []*SuiteDefinitionInformation `locationName:"suiteDefinitionInformationList" type:"list"` +} + +// String returns the string representation +func (s ListSuiteDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSuiteDefinitionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSuiteDefinitionsOutput) SetNextToken(v string) *ListSuiteDefinitionsOutput { + s.NextToken = &v + return s +} + +// SetSuiteDefinitionInformationList sets the SuiteDefinitionInformationList field's value. +func (s *ListSuiteDefinitionsOutput) SetSuiteDefinitionInformationList(v []*SuiteDefinitionInformation) *ListSuiteDefinitionsOutput { + s.SuiteDefinitionInformationList = v + return s +} + +type ListSuiteRunsInput struct { + _ struct{} `type:"structure"` + + // MaxResults for list suite run API request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Next pagination token for list suite run request. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // Lists the runs of the specified Device Advisor test suite based on suite + // definition Id. + SuiteDefinitionId *string `location:"querystring" locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Lists the runs of the specified Device Advisor test suite based on suite + // definition version. + SuiteDefinitionVersion *string `location:"querystring" locationName:"suiteDefinitionVersion" min:"2" type:"string"` +} + +// String returns the string representation +func (s ListSuiteRunsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSuiteRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSuiteRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSuiteRunsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSuiteRunsInput) SetMaxResults(v int64) *ListSuiteRunsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSuiteRunsInput) SetNextToken(v string) *ListSuiteRunsInput { + s.NextToken = &v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *ListSuiteRunsInput) SetSuiteDefinitionId(v string) *ListSuiteRunsInput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *ListSuiteRunsInput) SetSuiteDefinitionVersion(v string) *ListSuiteRunsInput { + s.SuiteDefinitionVersion = &v + return s +} + +type ListSuiteRunsOutput struct { + _ struct{} `type:"structure"` + + // Next pagination token for list suite run response. + NextToken *string `locationName:"nextToken" type:"string"` + + // Lists the runs of the specified Device Advisor test suite. + SuiteRunsList []*SuiteRunInformation `locationName:"suiteRunsList" type:"list"` +} + +// String returns the string representation +func (s ListSuiteRunsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSuiteRunsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSuiteRunsOutput) SetNextToken(v string) *ListSuiteRunsOutput { + s.NextToken = &v + return s +} + +// SetSuiteRunsList sets the SuiteRunsList field's value. +func (s *ListSuiteRunsOutput) SetSuiteRunsList(v []*SuiteRunInformation) *ListSuiteRunsOutput { + s.SuiteRunsList = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the IoT Device Advisor resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags attached to the IoT Device Advisor resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTestCasesInput struct { + _ struct{} `type:"structure"` + + // Lists all the qualification test cases in the test suite. + IntendedForQualification *bool `location:"querystring" locationName:"intendedForQualification" type:"boolean"` + + // Requests the test cases max results. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Requests the test cases next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListTestCasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTestCasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTestCasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTestCasesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIntendedForQualification sets the IntendedForQualification field's value. +func (s *ListTestCasesInput) SetIntendedForQualification(v bool) *ListTestCasesInput { + s.IntendedForQualification = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTestCasesInput) SetMaxResults(v int64) *ListTestCasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTestCasesInput) SetNextToken(v string) *ListTestCasesInput { + s.NextToken = &v + return s +} + +type ListTestCasesOutput struct { + _ struct{} `type:"structure"` + + // Gets the category of test case. + Categories []*TestCaseCategory `locationName:"categories" type:"list"` + + // Gets the configuration of test group. + GroupConfiguration map[string]*string `locationName:"groupConfiguration" type:"map"` + + // Test cases next token response. + NextToken *string `locationName:"nextToken" type:"string"` + + // Gets the configuration of root test group. + RootGroupConfiguration map[string]*string `locationName:"rootGroupConfiguration" type:"map"` +} + +// String returns the string representation +func (s ListTestCasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTestCasesOutput) GoString() string { + return s.String() +} + +// SetCategories sets the Categories field's value. +func (s *ListTestCasesOutput) SetCategories(v []*TestCaseCategory) *ListTestCasesOutput { + s.Categories = v + return s +} + +// SetGroupConfiguration sets the GroupConfiguration field's value. +func (s *ListTestCasesOutput) SetGroupConfiguration(v map[string]*string) *ListTestCasesOutput { + s.GroupConfiguration = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTestCasesOutput) SetNextToken(v string) *ListTestCasesOutput { + s.NextToken = &v + return s +} + +// SetRootGroupConfiguration sets the RootGroupConfiguration field's value. +func (s *ListTestCasesOutput) SetRootGroupConfiguration(v map[string]*string) *ListTestCasesOutput { + s.RootGroupConfiguration = v + return s +} + +// Sends Resource Not Found Exception. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Sends Resource Not Found Exception message. + Message_ *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +type StartSuiteRunInput struct { + _ struct{} `type:"structure"` + + // Request to start suite run based on suite definition Id. + // + // SuiteDefinitionId is a required field + SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"36" type:"string" required:"true"` + + // Request to start suite run based on suite definition version. + SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"` + + // Request to start suite run based on suite configuration. + SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"` + + // The tags to be attached to the suite run. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StartSuiteRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartSuiteRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartSuiteRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartSuiteRunInput"} + if s.SuiteDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId")) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2)) + } + if s.SuiteRunConfiguration != nil { + if err := s.SuiteRunConfiguration.Validate(); err != nil { + invalidParams.AddNested("SuiteRunConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *StartSuiteRunInput) SetSuiteDefinitionId(v string) *StartSuiteRunInput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *StartSuiteRunInput) SetSuiteDefinitionVersion(v string) *StartSuiteRunInput { + s.SuiteDefinitionVersion = &v + return s +} + +// SetSuiteRunConfiguration sets the SuiteRunConfiguration field's value. +func (s *StartSuiteRunInput) SetSuiteRunConfiguration(v *SuiteRunConfiguration) *StartSuiteRunInput { + s.SuiteRunConfiguration = v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartSuiteRunInput) SetTags(v map[string]*string) *StartSuiteRunInput { + s.Tags = v + return s +} + +type StartSuiteRunOutput struct { + _ struct{} `type:"structure"` + + // Starts a Device Advisor test suite run based on suite create time. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Starts a Device Advisor test suite run based on suite run arn. + SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"` + + // Starts a Device Advisor test suite run based on suite Run Id. + SuiteRunId *string `locationName:"suiteRunId" min:"36" type:"string"` +} + +// String returns the string representation +func (s StartSuiteRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartSuiteRunOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *StartSuiteRunOutput) SetCreatedAt(v time.Time) *StartSuiteRunOutput { + s.CreatedAt = &v + return s +} + +// SetSuiteRunArn sets the SuiteRunArn field's value. +func (s *StartSuiteRunOutput) SetSuiteRunArn(v string) *StartSuiteRunOutput { + s.SuiteRunArn = &v + return s +} + +// SetSuiteRunId sets the SuiteRunId field's value. +func (s *StartSuiteRunOutput) SetSuiteRunId(v string) *StartSuiteRunOutput { + s.SuiteRunId = &v + return s +} + +// Gets Suite Definition Configuration. +type SuiteDefinitionConfiguration struct { + _ struct{} `type:"structure"` + + // Gets device permission arn. + DevicePermissionRoleArn *string `locationName:"devicePermissionRoleArn" min:"20" type:"string"` + + // Gets the devices configured. + Devices []*DeviceUnderTest `locationName:"devices" type:"list"` + + // Gets the tests intended for qualification in a suite. + IntendedForQualification *bool `locationName:"intendedForQualification" type:"boolean"` + + // Gets test suite root group. + RootGroup *string `locationName:"rootGroup" min:"1" type:"string"` + + // Gets Suite Definition Configuration name. + SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"` +} + +// String returns the string representation +func (s SuiteDefinitionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuiteDefinitionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SuiteDefinitionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SuiteDefinitionConfiguration"} + if s.DevicePermissionRoleArn != nil && len(*s.DevicePermissionRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("DevicePermissionRoleArn", 20)) + } + if s.RootGroup != nil && len(*s.RootGroup) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RootGroup", 1)) + } + if s.SuiteDefinitionName != nil && len(*s.SuiteDefinitionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionName", 1)) + } + if s.Devices != nil { + for i, v := range s.Devices { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDevicePermissionRoleArn sets the DevicePermissionRoleArn field's value. +func (s *SuiteDefinitionConfiguration) SetDevicePermissionRoleArn(v string) *SuiteDefinitionConfiguration { + s.DevicePermissionRoleArn = &v + return s +} + +// SetDevices sets the Devices field's value. +func (s *SuiteDefinitionConfiguration) SetDevices(v []*DeviceUnderTest) *SuiteDefinitionConfiguration { + s.Devices = v + return s +} + +// SetIntendedForQualification sets the IntendedForQualification field's value. +func (s *SuiteDefinitionConfiguration) SetIntendedForQualification(v bool) *SuiteDefinitionConfiguration { + s.IntendedForQualification = &v + return s +} + +// SetRootGroup sets the RootGroup field's value. +func (s *SuiteDefinitionConfiguration) SetRootGroup(v string) *SuiteDefinitionConfiguration { + s.RootGroup = &v + return s +} + +// SetSuiteDefinitionName sets the SuiteDefinitionName field's value. +func (s *SuiteDefinitionConfiguration) SetSuiteDefinitionName(v string) *SuiteDefinitionConfiguration { + s.SuiteDefinitionName = &v + return s +} + +// Get suite definition information. +type SuiteDefinitionInformation struct { + _ struct{} `type:"structure"` + + // Gets the information of when the test suite was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Specifies the devices under test. + DefaultDevices []*DeviceUnderTest `locationName:"defaultDevices" type:"list"` + + // Gets the test suites which will be used for qualification. + IntendedForQualification *bool `locationName:"intendedForQualification" type:"boolean"` + + // Get suite definition Id. + SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Get test suite name. + SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"` +} + +// String returns the string representation +func (s SuiteDefinitionInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuiteDefinitionInformation) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *SuiteDefinitionInformation) SetCreatedAt(v time.Time) *SuiteDefinitionInformation { + s.CreatedAt = &v + return s +} + +// SetDefaultDevices sets the DefaultDevices field's value. +func (s *SuiteDefinitionInformation) SetDefaultDevices(v []*DeviceUnderTest) *SuiteDefinitionInformation { + s.DefaultDevices = v + return s +} + +// SetIntendedForQualification sets the IntendedForQualification field's value. +func (s *SuiteDefinitionInformation) SetIntendedForQualification(v bool) *SuiteDefinitionInformation { + s.IntendedForQualification = &v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *SuiteDefinitionInformation) SetSuiteDefinitionId(v string) *SuiteDefinitionInformation { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionName sets the SuiteDefinitionName field's value. +func (s *SuiteDefinitionInformation) SetSuiteDefinitionName(v string) *SuiteDefinitionInformation { + s.SuiteDefinitionName = &v + return s +} + +// Gets suite run configuration. +type SuiteRunConfiguration struct { + _ struct{} `type:"structure"` + + // Gets the primary device for suite run. + PrimaryDevice *DeviceUnderTest `locationName:"primaryDevice" type:"structure"` + + // Gets the secondary device for suite run. + SecondaryDevice *DeviceUnderTest `locationName:"secondaryDevice" type:"structure"` + + // Gets test case list. + SelectedTestList []*string `locationName:"selectedTestList" type:"list"` +} + +// String returns the string representation +func (s SuiteRunConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuiteRunConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SuiteRunConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SuiteRunConfiguration"} + if s.PrimaryDevice != nil { + if err := s.PrimaryDevice.Validate(); err != nil { + invalidParams.AddNested("PrimaryDevice", err.(request.ErrInvalidParams)) + } + } + if s.SecondaryDevice != nil { + if err := s.SecondaryDevice.Validate(); err != nil { + invalidParams.AddNested("SecondaryDevice", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPrimaryDevice sets the PrimaryDevice field's value. +func (s *SuiteRunConfiguration) SetPrimaryDevice(v *DeviceUnderTest) *SuiteRunConfiguration { + s.PrimaryDevice = v + return s +} + +// SetSecondaryDevice sets the SecondaryDevice field's value. +func (s *SuiteRunConfiguration) SetSecondaryDevice(v *DeviceUnderTest) *SuiteRunConfiguration { + s.SecondaryDevice = v + return s +} + +// SetSelectedTestList sets the SelectedTestList field's value. +func (s *SuiteRunConfiguration) SetSelectedTestList(v []*string) *SuiteRunConfiguration { + s.SelectedTestList = v + return s +} + +// Get suite run information. +type SuiteRunInformation struct { + _ struct{} `type:"structure"` + + // Get suite run information based on time suite was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Get suite run information based on end time of the run. + EndAt *time.Time `locationName:"endAt" type:"timestamp"` + + // Get suite run information based on result of the test suite run. + Failed *int64 `locationName:"failed" type:"integer"` + + // Get suite run information based on result of the test suite run. + Passed *int64 `locationName:"passed" type:"integer"` + + // Get suite run information based on start time of the run. + StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` + + // Get suite run information based on test run status. + Status *string `locationName:"status" type:"string" enum:"SuiteRunStatus"` + + // Get suite run information based on suite definition Id. + SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Get suite run information based on suite definition name. + SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"` + + // Get suite run information based on suite definition version. + SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"` + + // Get suite run information based on suite run Id. + SuiteRunId *string `locationName:"suiteRunId" min:"36" type:"string"` +} + +// String returns the string representation +func (s SuiteRunInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuiteRunInformation) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *SuiteRunInformation) SetCreatedAt(v time.Time) *SuiteRunInformation { + s.CreatedAt = &v + return s +} + +// SetEndAt sets the EndAt field's value. +func (s *SuiteRunInformation) SetEndAt(v time.Time) *SuiteRunInformation { + s.EndAt = &v + return s +} + +// SetFailed sets the Failed field's value. +func (s *SuiteRunInformation) SetFailed(v int64) *SuiteRunInformation { + s.Failed = &v + return s +} + +// SetPassed sets the Passed field's value. +func (s *SuiteRunInformation) SetPassed(v int64) *SuiteRunInformation { + s.Passed = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *SuiteRunInformation) SetStartedAt(v time.Time) *SuiteRunInformation { + s.StartedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SuiteRunInformation) SetStatus(v string) *SuiteRunInformation { + s.Status = &v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *SuiteRunInformation) SetSuiteDefinitionId(v string) *SuiteRunInformation { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionName sets the SuiteDefinitionName field's value. +func (s *SuiteRunInformation) SetSuiteDefinitionName(v string) *SuiteRunInformation { + s.SuiteDefinitionName = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *SuiteRunInformation) SetSuiteDefinitionVersion(v string) *SuiteRunInformation { + s.SuiteDefinitionVersion = &v + return s +} + +// SetSuiteRunId sets the SuiteRunId field's value. +func (s *SuiteRunInformation) SetSuiteRunId(v string) *SuiteRunInformation { + s.SuiteRunId = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ARN of an IoT Device Advisor resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The tags to be attached to the IoT Device Advisor resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Shows tests in a test group. +type TestCase struct { + _ struct{} `type:"structure"` + + // Shows test case configuration. + Configuration map[string]*string `locationName:"configuration" type:"map"` + + // Shows test case name. + Name *string `locationName:"name" type:"string"` + + // Specifies a test. + Test *TestCaseDefinition `locationName:"test" type:"structure"` +} + +// String returns the string representation +func (s TestCase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCase) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *TestCase) SetConfiguration(v map[string]*string) *TestCase { + s.Configuration = v + return s +} + +// SetName sets the Name field's value. +func (s *TestCase) SetName(v string) *TestCase { + s.Name = &v + return s +} + +// SetTest sets the Test field's value. +func (s *TestCase) SetTest(v *TestCaseDefinition) *TestCase { + s.Test = v + return s +} + +// Gets the test case category. +type TestCaseCategory struct { + _ struct{} `type:"structure"` + + // Lists all the tests name in the specified category. + Name *string `locationName:"name" type:"string"` + + // Lists all the tests in the specified category. + Tests []*TestCase `locationName:"tests" type:"list"` +} + +// String returns the string representation +func (s TestCaseCategory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCaseCategory) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *TestCaseCategory) SetName(v string) *TestCaseCategory { + s.Name = &v + return s +} + +// SetTests sets the Tests field's value. +func (s *TestCaseCategory) SetTests(v []*TestCase) *TestCaseCategory { + s.Tests = v + return s +} + +// Provides test case definition. +type TestCaseDefinition struct { + _ struct{} `type:"structure"` + + // Provides test case definition Id. + Id *string `locationName:"id" type:"string"` + + // Provides test case definition version. + TestCaseVersion *string `locationName:"testCaseVersion" type:"string"` +} + +// String returns the string representation +func (s TestCaseDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCaseDefinition) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *TestCaseDefinition) SetId(v string) *TestCaseDefinition { + s.Id = &v + return s +} + +// SetTestCaseVersion sets the TestCaseVersion field's value. +func (s *TestCaseDefinition) SetTestCaseVersion(v string) *TestCaseDefinition { + s.TestCaseVersion = &v + return s +} + +// Provides test case run. +type TestCaseRun struct { + _ struct{} `type:"structure"` + + // Provides test case run end time. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // Provides test case run failure result. + Failure *string `locationName:"failure" type:"string"` + + // Provides test case run log Url. + LogUrl *string `locationName:"logUrl" type:"string"` + + // Provides test case run start time. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // Provides test case run status. + Status *string `locationName:"status" type:"string" enum:"Status"` + + // Provides test case run definition Id. + TestCaseDefinitionId *string `locationName:"testCaseDefinitionId" min:"36" type:"string"` + + // Provides test case run definition Name. + TestCaseDefinitionName *string `locationName:"testCaseDefinitionName" type:"string"` + + // Provides test case run Id. + TestCaseRunId *string `locationName:"testCaseRunId" min:"36" type:"string"` + + // Provides test case run warnings. + Warnings *string `locationName:"warnings" type:"string"` +} + +// String returns the string representation +func (s TestCaseRun) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCaseRun) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *TestCaseRun) SetEndTime(v time.Time) *TestCaseRun { + s.EndTime = &v + return s +} + +// SetFailure sets the Failure field's value. +func (s *TestCaseRun) SetFailure(v string) *TestCaseRun { + s.Failure = &v + return s +} + +// SetLogUrl sets the LogUrl field's value. +func (s *TestCaseRun) SetLogUrl(v string) *TestCaseRun { + s.LogUrl = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *TestCaseRun) SetStartTime(v time.Time) *TestCaseRun { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TestCaseRun) SetStatus(v string) *TestCaseRun { + s.Status = &v + return s +} + +// SetTestCaseDefinitionId sets the TestCaseDefinitionId field's value. +func (s *TestCaseRun) SetTestCaseDefinitionId(v string) *TestCaseRun { + s.TestCaseDefinitionId = &v + return s +} + +// SetTestCaseDefinitionName sets the TestCaseDefinitionName field's value. +func (s *TestCaseRun) SetTestCaseDefinitionName(v string) *TestCaseRun { + s.TestCaseDefinitionName = &v + return s +} + +// SetTestCaseRunId sets the TestCaseRunId field's value. +func (s *TestCaseRun) SetTestCaseRunId(v string) *TestCaseRun { + s.TestCaseRunId = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *TestCaseRun) SetWarnings(v string) *TestCaseRun { + s.Warnings = &v + return s +} + +// Show each group result. +type TestResult struct { + _ struct{} `type:"structure"` + + // Show each group of test results. + Groups []*GroupResult `locationName:"groups" type:"list"` +} + +// String returns the string representation +func (s TestResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestResult) GoString() string { + return s.String() +} + +// SetGroups sets the Groups field's value. +func (s *TestResult) SetGroups(v []*GroupResult) *TestResult { + s.Groups = v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ARN of an IoT Device Advisor resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // List of tag keys to remove from the IoT Device Advisor resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateSuiteDefinitionInput struct { + _ struct{} `type:"structure"` + + // Updates a Device Advisor test suite with suite definition configuration. + SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"` + + // Updates a Device Advisor test suite with suite definition id. + // + // SuiteDefinitionId is a required field + SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateSuiteDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSuiteDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSuiteDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSuiteDefinitionInput"} + if s.SuiteDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId")) + } + if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 36)) + } + if s.SuiteDefinitionConfiguration != nil { + if err := s.SuiteDefinitionConfiguration.Validate(); err != nil { + invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value. +func (s *UpdateSuiteDefinitionInput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *UpdateSuiteDefinitionInput { + s.SuiteDefinitionConfiguration = v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *UpdateSuiteDefinitionInput) SetSuiteDefinitionId(v string) *UpdateSuiteDefinitionInput { + s.SuiteDefinitionId = &v + return s +} + +type UpdateSuiteDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Updates a Device Advisor test suite with TimeStamp of when it was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Updates a Device Advisor test suite with TimeStamp of when it was updated. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + + // Updates a Device Advisor test suite with Amazon Resource name. + SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"` + + // Updates a Device Advisor test suite with suite UUID. + SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"36" type:"string"` + + // Updates a Device Advisor test suite with suite definition name. + SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"` + + // Updates a Device Advisor test suite with suite definition version. + SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"` +} + +// String returns the string representation +func (s UpdateSuiteDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSuiteDefinitionOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *UpdateSuiteDefinitionOutput) SetCreatedAt(v time.Time) *UpdateSuiteDefinitionOutput { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *UpdateSuiteDefinitionOutput) SetLastUpdatedAt(v time.Time) *UpdateSuiteDefinitionOutput { + s.LastUpdatedAt = &v + return s +} + +// SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value. +func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *UpdateSuiteDefinitionOutput { + s.SuiteDefinitionArn = &v + return s +} + +// SetSuiteDefinitionId sets the SuiteDefinitionId field's value. +func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *UpdateSuiteDefinitionOutput { + s.SuiteDefinitionId = &v + return s +} + +// SetSuiteDefinitionName sets the SuiteDefinitionName field's value. +func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionName(v string) *UpdateSuiteDefinitionOutput { + s.SuiteDefinitionName = &v + return s +} + +// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value. +func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionVersion(v string) *UpdateSuiteDefinitionOutput { + s.SuiteDefinitionVersion = &v + return s +} + +// Sends invalid request exception. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Sends invalid request exception message. + Message_ *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +const ( + // StatusPass is a Status enum value + StatusPass = "PASS" + + // StatusFail is a Status enum value + StatusFail = "FAIL" + + // StatusCanceled is a Status enum value + StatusCanceled = "CANCELED" + + // StatusPending is a Status enum value + StatusPending = "PENDING" + + // StatusRunning is a Status enum value + StatusRunning = "RUNNING" + + // StatusPassWithWarnings is a Status enum value + StatusPassWithWarnings = "PASS_WITH_WARNINGS" + + // StatusError is a Status enum value + StatusError = "ERROR" +) + +// Status_Values returns all elements of the Status enum +func Status_Values() []string { + return []string{ + StatusPass, + StatusFail, + StatusCanceled, + StatusPending, + StatusRunning, + StatusPassWithWarnings, + StatusError, + } +} + +const ( + // SuiteRunStatusPass is a SuiteRunStatus enum value + SuiteRunStatusPass = "PASS" + + // SuiteRunStatusFail is a SuiteRunStatus enum value + SuiteRunStatusFail = "FAIL" + + // SuiteRunStatusCanceled is a SuiteRunStatus enum value + SuiteRunStatusCanceled = "CANCELED" + + // SuiteRunStatusPending is a SuiteRunStatus enum value + SuiteRunStatusPending = "PENDING" + + // SuiteRunStatusRunning is a SuiteRunStatus enum value + SuiteRunStatusRunning = "RUNNING" + + // SuiteRunStatusPassWithWarnings is a SuiteRunStatus enum value + SuiteRunStatusPassWithWarnings = "PASS_WITH_WARNINGS" + + // SuiteRunStatusError is a SuiteRunStatus enum value + SuiteRunStatusError = "ERROR" +) + +// SuiteRunStatus_Values returns all elements of the SuiteRunStatus enum +func SuiteRunStatus_Values() []string { + return []string{ + SuiteRunStatusPass, + SuiteRunStatusFail, + SuiteRunStatusCanceled, + SuiteRunStatusPending, + SuiteRunStatusRunning, + SuiteRunStatusPassWithWarnings, + SuiteRunStatusError, + } +} diff --git a/service/iotdeviceadvisor/doc.go b/service/iotdeviceadvisor/doc.go new file mode 100644 index 0000000000..a555368656 --- /dev/null +++ b/service/iotdeviceadvisor/doc.go @@ -0,0 +1,37 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotdeviceadvisor provides the client and types for making API +// requests to AWS IoT Core Device Advisor. +// +// AWS IoT Core Device Advisor is a cloud-based, fully managed test capability +// for validating IoT devices during device software development. Device Advisor +// provides pre-built tests that you can use to validate IoT devices for reliable +// and secure connectivity with AWS IoT Core before deploying devices to production. +// By using Device Advisor, you can confirm that your devices can connect to +// AWS IoT Core, follow security best practices and, if applicable, receive +// software updates from IoT Device Management. You can also download signed +// qualification reports to submit to the AWS Partner Network to get your device +// qualified for the AWS Partner Device Catalog without the need to send your +// device in and wait for it to be tested. +// +// See https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18 for more information on this service. +// +// See iotdeviceadvisor package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotdeviceadvisor/ +// +// Using the Client +// +// To contact AWS IoT Core Device Advisor 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 AWS IoT Core Device Advisor client IoTDeviceAdvisor for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotdeviceadvisor/#New +package iotdeviceadvisor diff --git a/service/iotdeviceadvisor/errors.go b/service/iotdeviceadvisor/errors.go new file mode 100644 index 0000000000..fb30c9444b --- /dev/null +++ b/service/iotdeviceadvisor/errors.go @@ -0,0 +1,41 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotdeviceadvisor + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Sends Conflict Exception. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Sends Internal Failure Exception. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Sends Resource Not Found Exception. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Sends invalid request exception. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, +} diff --git a/service/iotdeviceadvisor/iotdeviceadvisoriface/interface.go b/service/iotdeviceadvisor/iotdeviceadvisoriface/interface.go new file mode 100644 index 0000000000..a45f1e172a --- /dev/null +++ b/service/iotdeviceadvisor/iotdeviceadvisoriface/interface.go @@ -0,0 +1,125 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotdeviceadvisoriface provides an interface to enable mocking the AWS IoT Core Device Advisor 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 iotdeviceadvisoriface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/iotdeviceadvisor" +) + +// IoTDeviceAdvisorAPI provides an interface to enable mocking the +// iotdeviceadvisor.IoTDeviceAdvisor 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 +// // AWS IoT Core Device Advisor. +// func myFunc(svc iotdeviceadvisoriface.IoTDeviceAdvisorAPI) bool { +// // Make svc.CreateSuiteDefinition request +// } +// +// func main() { +// sess := session.New() +// svc := iotdeviceadvisor.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockIoTDeviceAdvisorClient struct { +// iotdeviceadvisoriface.IoTDeviceAdvisorAPI +// } +// func (m *mockIoTDeviceAdvisorClient) CreateSuiteDefinition(input *iotdeviceadvisor.CreateSuiteDefinitionInput) (*iotdeviceadvisor.CreateSuiteDefinitionOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockIoTDeviceAdvisorClient{} +// +// 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 IoTDeviceAdvisorAPI interface { + CreateSuiteDefinition(*iotdeviceadvisor.CreateSuiteDefinitionInput) (*iotdeviceadvisor.CreateSuiteDefinitionOutput, error) + CreateSuiteDefinitionWithContext(aws.Context, *iotdeviceadvisor.CreateSuiteDefinitionInput, ...request.Option) (*iotdeviceadvisor.CreateSuiteDefinitionOutput, error) + CreateSuiteDefinitionRequest(*iotdeviceadvisor.CreateSuiteDefinitionInput) (*request.Request, *iotdeviceadvisor.CreateSuiteDefinitionOutput) + + DeleteSuiteDefinition(*iotdeviceadvisor.DeleteSuiteDefinitionInput) (*iotdeviceadvisor.DeleteSuiteDefinitionOutput, error) + DeleteSuiteDefinitionWithContext(aws.Context, *iotdeviceadvisor.DeleteSuiteDefinitionInput, ...request.Option) (*iotdeviceadvisor.DeleteSuiteDefinitionOutput, error) + DeleteSuiteDefinitionRequest(*iotdeviceadvisor.DeleteSuiteDefinitionInput) (*request.Request, *iotdeviceadvisor.DeleteSuiteDefinitionOutput) + + GetSuiteDefinition(*iotdeviceadvisor.GetSuiteDefinitionInput) (*iotdeviceadvisor.GetSuiteDefinitionOutput, error) + GetSuiteDefinitionWithContext(aws.Context, *iotdeviceadvisor.GetSuiteDefinitionInput, ...request.Option) (*iotdeviceadvisor.GetSuiteDefinitionOutput, error) + GetSuiteDefinitionRequest(*iotdeviceadvisor.GetSuiteDefinitionInput) (*request.Request, *iotdeviceadvisor.GetSuiteDefinitionOutput) + + GetSuiteRun(*iotdeviceadvisor.GetSuiteRunInput) (*iotdeviceadvisor.GetSuiteRunOutput, error) + GetSuiteRunWithContext(aws.Context, *iotdeviceadvisor.GetSuiteRunInput, ...request.Option) (*iotdeviceadvisor.GetSuiteRunOutput, error) + GetSuiteRunRequest(*iotdeviceadvisor.GetSuiteRunInput) (*request.Request, *iotdeviceadvisor.GetSuiteRunOutput) + + GetSuiteRunReport(*iotdeviceadvisor.GetSuiteRunReportInput) (*iotdeviceadvisor.GetSuiteRunReportOutput, error) + GetSuiteRunReportWithContext(aws.Context, *iotdeviceadvisor.GetSuiteRunReportInput, ...request.Option) (*iotdeviceadvisor.GetSuiteRunReportOutput, error) + GetSuiteRunReportRequest(*iotdeviceadvisor.GetSuiteRunReportInput) (*request.Request, *iotdeviceadvisor.GetSuiteRunReportOutput) + + ListSuiteDefinitions(*iotdeviceadvisor.ListSuiteDefinitionsInput) (*iotdeviceadvisor.ListSuiteDefinitionsOutput, error) + ListSuiteDefinitionsWithContext(aws.Context, *iotdeviceadvisor.ListSuiteDefinitionsInput, ...request.Option) (*iotdeviceadvisor.ListSuiteDefinitionsOutput, error) + ListSuiteDefinitionsRequest(*iotdeviceadvisor.ListSuiteDefinitionsInput) (*request.Request, *iotdeviceadvisor.ListSuiteDefinitionsOutput) + + ListSuiteDefinitionsPages(*iotdeviceadvisor.ListSuiteDefinitionsInput, func(*iotdeviceadvisor.ListSuiteDefinitionsOutput, bool) bool) error + ListSuiteDefinitionsPagesWithContext(aws.Context, *iotdeviceadvisor.ListSuiteDefinitionsInput, func(*iotdeviceadvisor.ListSuiteDefinitionsOutput, bool) bool, ...request.Option) error + + ListSuiteRuns(*iotdeviceadvisor.ListSuiteRunsInput) (*iotdeviceadvisor.ListSuiteRunsOutput, error) + ListSuiteRunsWithContext(aws.Context, *iotdeviceadvisor.ListSuiteRunsInput, ...request.Option) (*iotdeviceadvisor.ListSuiteRunsOutput, error) + ListSuiteRunsRequest(*iotdeviceadvisor.ListSuiteRunsInput) (*request.Request, *iotdeviceadvisor.ListSuiteRunsOutput) + + ListSuiteRunsPages(*iotdeviceadvisor.ListSuiteRunsInput, func(*iotdeviceadvisor.ListSuiteRunsOutput, bool) bool) error + ListSuiteRunsPagesWithContext(aws.Context, *iotdeviceadvisor.ListSuiteRunsInput, func(*iotdeviceadvisor.ListSuiteRunsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*iotdeviceadvisor.ListTagsForResourceInput) (*iotdeviceadvisor.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *iotdeviceadvisor.ListTagsForResourceInput, ...request.Option) (*iotdeviceadvisor.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*iotdeviceadvisor.ListTagsForResourceInput) (*request.Request, *iotdeviceadvisor.ListTagsForResourceOutput) + + ListTestCases(*iotdeviceadvisor.ListTestCasesInput) (*iotdeviceadvisor.ListTestCasesOutput, error) + ListTestCasesWithContext(aws.Context, *iotdeviceadvisor.ListTestCasesInput, ...request.Option) (*iotdeviceadvisor.ListTestCasesOutput, error) + ListTestCasesRequest(*iotdeviceadvisor.ListTestCasesInput) (*request.Request, *iotdeviceadvisor.ListTestCasesOutput) + + ListTestCasesPages(*iotdeviceadvisor.ListTestCasesInput, func(*iotdeviceadvisor.ListTestCasesOutput, bool) bool) error + ListTestCasesPagesWithContext(aws.Context, *iotdeviceadvisor.ListTestCasesInput, func(*iotdeviceadvisor.ListTestCasesOutput, bool) bool, ...request.Option) error + + StartSuiteRun(*iotdeviceadvisor.StartSuiteRunInput) (*iotdeviceadvisor.StartSuiteRunOutput, error) + StartSuiteRunWithContext(aws.Context, *iotdeviceadvisor.StartSuiteRunInput, ...request.Option) (*iotdeviceadvisor.StartSuiteRunOutput, error) + StartSuiteRunRequest(*iotdeviceadvisor.StartSuiteRunInput) (*request.Request, *iotdeviceadvisor.StartSuiteRunOutput) + + TagResource(*iotdeviceadvisor.TagResourceInput) (*iotdeviceadvisor.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *iotdeviceadvisor.TagResourceInput, ...request.Option) (*iotdeviceadvisor.TagResourceOutput, error) + TagResourceRequest(*iotdeviceadvisor.TagResourceInput) (*request.Request, *iotdeviceadvisor.TagResourceOutput) + + UntagResource(*iotdeviceadvisor.UntagResourceInput) (*iotdeviceadvisor.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *iotdeviceadvisor.UntagResourceInput, ...request.Option) (*iotdeviceadvisor.UntagResourceOutput, error) + UntagResourceRequest(*iotdeviceadvisor.UntagResourceInput) (*request.Request, *iotdeviceadvisor.UntagResourceOutput) + + UpdateSuiteDefinition(*iotdeviceadvisor.UpdateSuiteDefinitionInput) (*iotdeviceadvisor.UpdateSuiteDefinitionOutput, error) + UpdateSuiteDefinitionWithContext(aws.Context, *iotdeviceadvisor.UpdateSuiteDefinitionInput, ...request.Option) (*iotdeviceadvisor.UpdateSuiteDefinitionOutput, error) + UpdateSuiteDefinitionRequest(*iotdeviceadvisor.UpdateSuiteDefinitionInput) (*request.Request, *iotdeviceadvisor.UpdateSuiteDefinitionOutput) +} + +var _ IoTDeviceAdvisorAPI = (*iotdeviceadvisor.IoTDeviceAdvisor)(nil) diff --git a/service/iotdeviceadvisor/service.go b/service/iotdeviceadvisor/service.go new file mode 100644 index 0000000000..4721a098ce --- /dev/null +++ b/service/iotdeviceadvisor/service.go @@ -0,0 +1,104 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotdeviceadvisor + +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" +) + +// IoTDeviceAdvisor provides the API operation methods for making requests to +// AWS IoT Core Device Advisor. See this package's package overview docs +// for details on the service. +// +// IoTDeviceAdvisor methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type IoTDeviceAdvisor 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 = "IotDeviceAdvisor" // Name of service. + EndpointsID = "api.iotdeviceadvisor" // ID to lookup a service endpoint with. + ServiceID = "IotDeviceAdvisor" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the IoTDeviceAdvisor 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 IoTDeviceAdvisor client from just a session. +// svc := iotdeviceadvisor.New(mySession) +// +// // Create a IoTDeviceAdvisor client with additional configuration +// svc := iotdeviceadvisor.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *IoTDeviceAdvisor { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "iotdeviceadvisor" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *IoTDeviceAdvisor { + svc := &IoTDeviceAdvisor{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-09-18", + }, + 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 IoTDeviceAdvisor operation and runs any +// custom request initialization. +func (c *IoTDeviceAdvisor) 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/iotfleethub/api.go b/service/iotfleethub/api.go new file mode 100644 index 0000000000..07286338b7 --- /dev/null +++ b/service/iotfleethub/api.go @@ -0,0 +1,2000 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotfleethub + +import ( + "fmt" + + "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" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateApplication = "CreateApplication" + +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication 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 CreateApplication for more information on using the CreateApplication +// 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 CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/CreateApplication +func (c *IoTFleetHub) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) { + op := &request.Operation{ + Name: opCreateApplication, + HTTPMethod: "POST", + HTTPPath: "/applications", + } + + if input == nil { + input = &CreateApplicationInput{} + } + + output = &CreateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApplication API operation for AWS IoT Fleet Hub. +// +// Creates a Fleet Hub for AWS IoT Device Management web application. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation CreateApplication for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * LimitExceededException +// A limit has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/CreateApplication +func (c *IoTFleetHub) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + return out, req.Send() +} + +// CreateApplicationWithContext is the same as CreateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplication 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 *IoTFleetHub) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplication = "DeleteApplication" + +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication 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 DeleteApplication for more information on using the DeleteApplication +// 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 DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DeleteApplication +func (c *IoTFleetHub) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { + op := &request.Operation{ + Name: opDeleteApplication, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &DeleteApplicationInput{} + } + + output = &DeleteApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplication API operation for AWS IoT Fleet Hub. +// +// Deletes a Fleet Hub for AWS IoT Device Management web application. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DeleteApplication +func (c *IoTFleetHub) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + return out, req.Send() +} + +// DeleteApplicationWithContext is the same as DeleteApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplication 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 *IoTFleetHub) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeApplication = "DescribeApplication" + +// DescribeApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplication 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 DescribeApplication for more information on using the DescribeApplication +// 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 DescribeApplicationRequest method. +// req, resp := client.DescribeApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DescribeApplication +func (c *IoTFleetHub) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) { + op := &request.Operation{ + Name: opDescribeApplication, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &DescribeApplicationInput{} + } + + output = &DescribeApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeApplication API operation for AWS IoT Fleet Hub. +// +// Gets information about a Fleet Hub for AWS IoT Device Management web application. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation DescribeApplication for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DescribeApplication +func (c *IoTFleetHub) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) { + req, out := c.DescribeApplicationRequest(input) + return out, req.Send() +} + +// DescribeApplicationWithContext is the same as DescribeApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeApplication 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 *IoTFleetHub) DescribeApplicationWithContext(ctx aws.Context, input *DescribeApplicationInput, opts ...request.Option) (*DescribeApplicationOutput, error) { + req, out := c.DescribeApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListApplications = "ListApplications" + +// ListApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplications 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 ListApplications for more information on using the ListApplications +// 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 ListApplicationsRequest method. +// req, resp := client.ListApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListApplications +func (c *IoTFleetHub) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { + op := &request.Operation{ + Name: opListApplications, + HTTPMethod: "GET", + HTTPPath: "/applications", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationsInput{} + } + + output = &ListApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplications API operation for AWS IoT Fleet Hub. +// +// Gets a list of Fleet Hub for AWS IoT Device Management web applications for +// the current account. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation ListApplications for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListApplications +func (c *IoTFleetHub) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + return out, req.Send() +} + +// ListApplicationsWithContext is the same as ListApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplications 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 *IoTFleetHub) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationsPages iterates over the pages of a ListApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplications 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 ListApplications operation. +// pageNum := 0 +// err := client.ListApplicationsPages(params, +// func(page *iotfleethub.ListApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTFleetHub) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error { + return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationsPagesWithContext same as ListApplicationsPages 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 *IoTFleetHub) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListApplicationsOutput), !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 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 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/iotfleethub-2020-11-03/ListTagsForResource +func (c *IoTFleetHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS IoT Fleet Hub. +// +// Lists the tags for the specified resource. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListTagsForResource +func (c *IoTFleetHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource 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. +// +// 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 *IoTFleetHub) 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 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 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 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/iotfleethub-2020-11-03/TagResource +func (c *IoTFleetHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS IoT Fleet Hub. +// +// Adds to or modifies the tags of the specified resource. Tags are metadata +// which can be used to manage a resource. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/TagResource +func (c *IoTFleetHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource 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. +// +// 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 *IoTFleetHub) 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 opUntagResource = "UntagResource" + +// 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 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 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/iotfleethub-2020-11-03/UntagResource +func (c *IoTFleetHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS IoT Fleet Hub. +// +// Removes the specified tags (metadata) from the resource. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UntagResource +func (c *IoTFleetHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource 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. +// +// 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 *IoTFleetHub) 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 opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication 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 UpdateApplication for more information on using the UpdateApplication +// 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 UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UpdateApplication +func (c *IoTFleetHub) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "PATCH", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &UpdateApplicationInput{} + } + + output = &UpdateApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateApplication API operation for AWS IoT Fleet Hub. +// +// Updates information about a Fleet Hub for a AWS IoT Device Management web +// application. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// 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 Fleet Hub's +// API operation UpdateApplication for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * ConflictException +// The request conflicts with the current state of the resource. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UpdateApplication +func (c *IoTFleetHub) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + return out, req.Send() +} + +// UpdateApplicationWithContext is the same as UpdateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApplication 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 *IoTFleetHub) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// A summary of information about a AWS IoT Device Management web application. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +type ApplicationSummary struct { + _ struct{} `type:"structure"` + + // The date (in Unix epoch time) when the web application was created. + ApplicationCreationDate *int64 `locationName:"applicationCreationDate" type:"long"` + + // An optional description of the web application. + ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"` + + // The unique Id of the web application. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"36" type:"string" required:"true"` + + // The date (in Unix epoch time) when the web application was last updated. + ApplicationLastUpdateDate *int64 `locationName:"applicationLastUpdateDate" type:"long"` + + // The name of the web application. + // + // ApplicationName is a required field + ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` + + // The current state of the web application. + ApplicationState *string `locationName:"applicationState" type:"string" enum:"ApplicationState"` + + // The URL of the web application. + // + // ApplicationUrl is a required field + ApplicationUrl *string `locationName:"applicationUrl" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ApplicationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationSummary) GoString() string { + return s.String() +} + +// SetApplicationCreationDate sets the ApplicationCreationDate field's value. +func (s *ApplicationSummary) SetApplicationCreationDate(v int64) *ApplicationSummary { + s.ApplicationCreationDate = &v + return s +} + +// SetApplicationDescription sets the ApplicationDescription field's value. +func (s *ApplicationSummary) SetApplicationDescription(v string) *ApplicationSummary { + s.ApplicationDescription = &v + return s +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ApplicationSummary) SetApplicationId(v string) *ApplicationSummary { + s.ApplicationId = &v + return s +} + +// SetApplicationLastUpdateDate sets the ApplicationLastUpdateDate field's value. +func (s *ApplicationSummary) SetApplicationLastUpdateDate(v int64) *ApplicationSummary { + s.ApplicationLastUpdateDate = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *ApplicationSummary) SetApplicationName(v string) *ApplicationSummary { + s.ApplicationName = &v + return s +} + +// SetApplicationState sets the ApplicationState field's value. +func (s *ApplicationSummary) SetApplicationState(v string) *ApplicationSummary { + s.ApplicationState = &v + return s +} + +// SetApplicationUrl sets the ApplicationUrl field's value. +func (s *ApplicationSummary) SetApplicationUrl(v string) *ApplicationSummary { + s.ApplicationUrl = &v + return s +} + +// The request conflicts with the current state of the resource. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 CreateApplicationInput struct { + _ struct{} `type:"structure"` + + // An optional description of the web application. + ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"` + + // The name of the web application. + // + // ApplicationName is a required field + ApplicationName *string `locationName:"applicationName" 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:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the role that the web application assumes when it interacts with + // AWS IoT Core. + // + // The name of the role must be in the form AWSIotFleetHub_random_string . + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + + // A set of key/value pairs that you can use to manage the web application resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s CreateApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} + if s.ApplicationDescription != nil && len(*s.ApplicationDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationDescription", 1)) + } + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationDescription sets the ApplicationDescription field's value. +func (s *CreateApplicationInput) SetApplicationDescription(v string) *CreateApplicationInput { + s.ApplicationDescription = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput { + s.ApplicationName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateApplicationInput) SetClientToken(v string) *CreateApplicationInput { + s.ClientToken = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateApplicationInput) SetRoleArn(v string) *CreateApplicationInput { + s.RoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v map[string]*string) *CreateApplicationInput { + s.Tags = v + return s +} + +type CreateApplicationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the web application. + // + // ApplicationArn is a required field + ApplicationArn *string `locationName:"applicationArn" min:"1" type:"string" required:"true"` + + // The unique Id of the web application. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationArn sets the ApplicationArn field's value. +func (s *CreateApplicationOutput) SetApplicationArn(v string) *CreateApplicationOutput { + s.ApplicationArn = &v + return s +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateApplicationOutput) SetApplicationId(v string) *CreateApplicationOutput { + s.ApplicationId = &v + return s +} + +type DeleteApplicationInput struct { + _ struct{} `type:"structure"` + + // The unique Id of the web application. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" 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:"1" type:"string" idempotencyToken:"true"` +} + +// String returns the string representation +func (s DeleteApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput { + s.ApplicationId = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteApplicationInput) SetClientToken(v string) *DeleteApplicationInput { + s.ClientToken = &v + return s +} + +type DeleteApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationOutput) GoString() string { + return s.String() +} + +type DescribeApplicationInput struct { + _ struct{} `type:"structure"` + + // The unique Id of the web application. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DescribeApplicationInput) SetApplicationId(v string) *DescribeApplicationInput { + s.ApplicationId = &v + return s +} + +type DescribeApplicationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the web application. + // + // ApplicationArn is a required field + ApplicationArn *string `locationName:"applicationArn" min:"1" type:"string" required:"true"` + + // The date (in Unix epoch time) when the application was created. + // + // ApplicationCreationDate is a required field + ApplicationCreationDate *int64 `locationName:"applicationCreationDate" type:"long" required:"true"` + + // An optional description of the web application. + ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"` + + // The unique Id of the web application. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"36" type:"string" required:"true"` + + // The date (in Unix epoch time) when the application was last updated. + // + // ApplicationLastUpdateDate is a required field + ApplicationLastUpdateDate *int64 `locationName:"applicationLastUpdateDate" type:"long" required:"true"` + + // The name of the web application. + // + // ApplicationName is a required field + ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` + + // The current state of the web application. + // + // ApplicationState is a required field + ApplicationState *string `locationName:"applicationState" type:"string" required:"true" enum:"ApplicationState"` + + // The URL of the web application. + // + // ApplicationUrl is a required field + ApplicationUrl *string `locationName:"applicationUrl" min:"1" type:"string" required:"true"` + + // A message indicating why the DescribeApplication API failed. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The ARN of the role that the web application assumes when it interacts with + // AWS IoT Core. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + + // The Id of the single sign-on client that you use to authenticate and authorize + // users on the web application. + SsoClientId *string `locationName:"ssoClientId" type:"string"` + + // A set of key/value pairs that you can use to manage the web application resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s DescribeApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationArn sets the ApplicationArn field's value. +func (s *DescribeApplicationOutput) SetApplicationArn(v string) *DescribeApplicationOutput { + s.ApplicationArn = &v + return s +} + +// SetApplicationCreationDate sets the ApplicationCreationDate field's value. +func (s *DescribeApplicationOutput) SetApplicationCreationDate(v int64) *DescribeApplicationOutput { + s.ApplicationCreationDate = &v + return s +} + +// SetApplicationDescription sets the ApplicationDescription field's value. +func (s *DescribeApplicationOutput) SetApplicationDescription(v string) *DescribeApplicationOutput { + s.ApplicationDescription = &v + return s +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DescribeApplicationOutput) SetApplicationId(v string) *DescribeApplicationOutput { + s.ApplicationId = &v + return s +} + +// SetApplicationLastUpdateDate sets the ApplicationLastUpdateDate field's value. +func (s *DescribeApplicationOutput) SetApplicationLastUpdateDate(v int64) *DescribeApplicationOutput { + s.ApplicationLastUpdateDate = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DescribeApplicationOutput) SetApplicationName(v string) *DescribeApplicationOutput { + s.ApplicationName = &v + return s +} + +// SetApplicationState sets the ApplicationState field's value. +func (s *DescribeApplicationOutput) SetApplicationState(v string) *DescribeApplicationOutput { + s.ApplicationState = &v + return s +} + +// SetApplicationUrl sets the ApplicationUrl field's value. +func (s *DescribeApplicationOutput) SetApplicationUrl(v string) *DescribeApplicationOutput { + s.ApplicationUrl = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *DescribeApplicationOutput) SetErrorMessage(v string) *DescribeApplicationOutput { + s.ErrorMessage = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeApplicationOutput) SetRoleArn(v string) *DescribeApplicationOutput { + s.RoleArn = &v + return s +} + +// SetSsoClientId sets the SsoClientId field's value. +func (s *DescribeApplicationOutput) SetSsoClientId(v string) *DescribeApplicationOutput { + s.SsoClientId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeApplicationOutput) SetTags(v map[string]*string) *DescribeApplicationOutput { + s.Tags = v + return s +} + +// An unexpected error has occurred. +type InternalFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InternalFailureException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InternalFailureException) GoString() string { + return s.String() +} + +func newErrorInternalFailureException(v protocol.ResponseMetadata) error { + return &InternalFailureException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalFailureException) Code() string { + return "InternalFailureException" +} + +// Message returns the exception's message. +func (s *InternalFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalFailureException) OrigErr() error { + return nil +} + +func (s *InternalFailureException) 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 *InternalFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalFailureException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request is not valid. +type InvalidRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidRequestException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidRequestException) GoString() string { + return s.String() +} + +func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { + return &InvalidRequestException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidRequestException) Code() string { + return "InvalidRequestException" +} + +// Message returns the exception's message. +func (s *InvalidRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestException) OrigErr() error { + return nil +} + +func (s *InvalidRequestException) 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 *InvalidRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A limit has been exceeded. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +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 "" +} + +// 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 ListApplicationsInput struct { + _ struct{} `type:"structure"` + + // A token used to get the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput { + s.NextToken = &v + return s +} + +type ListApplicationsOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that provide summaries of information about the web applications + // in the list. + ApplicationSummaries []*ApplicationSummary `locationName:"applicationSummaries" type:"list"` + + // A token used to get the next set of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsOutput) GoString() string { + return s.String() +} + +// SetApplicationSummaries sets the ApplicationSummaries field's value. +func (s *ListApplicationsOutput) SetApplicationSummaries(v []*ApplicationSummary) *ListApplicationsOutput { + s.ApplicationSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The list of tags assigned to the resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// The specified resource does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // The new or modified tags for the resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The rate exceeds the limit. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) 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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A list of the keys of the tags to be removed from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateApplicationInput struct { + _ struct{} `type:"structure"` + + // An optional description of the web application. + ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"` + + // The unique Id of the web application. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"` + + // The name of the web application. + ApplicationName *string `locationName:"applicationName" 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:"1" type:"string" idempotencyToken:"true"` +} + +// String returns the string representation +func (s UpdateApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} + if s.ApplicationDescription != nil && len(*s.ApplicationDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationDescription", 1)) + } + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36)) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationDescription sets the ApplicationDescription field's value. +func (s *UpdateApplicationInput) SetApplicationDescription(v string) *UpdateApplicationInput { + s.ApplicationDescription = &v + return s +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationInput { + s.ApplicationId = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput { + s.ApplicationName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateApplicationInput) SetClientToken(v string) *UpdateApplicationInput { + s.ClientToken = &v + return s +} + +type UpdateApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationOutput) GoString() string { + return s.String() +} + +const ( + // ApplicationStateCreating is a ApplicationState enum value + ApplicationStateCreating = "CREATING" + + // ApplicationStateDeleting is a ApplicationState enum value + ApplicationStateDeleting = "DELETING" + + // ApplicationStateActive is a ApplicationState enum value + ApplicationStateActive = "ACTIVE" + + // ApplicationStateCreateFailed is a ApplicationState enum value + ApplicationStateCreateFailed = "CREATE_FAILED" + + // ApplicationStateDeleteFailed is a ApplicationState enum value + ApplicationStateDeleteFailed = "DELETE_FAILED" +) + +// ApplicationState_Values returns all elements of the ApplicationState enum +func ApplicationState_Values() []string { + return []string{ + ApplicationStateCreating, + ApplicationStateDeleting, + ApplicationStateActive, + ApplicationStateCreateFailed, + ApplicationStateDeleteFailed, + } +} diff --git a/service/iotfleethub/doc.go b/service/iotfleethub/doc.go new file mode 100644 index 0000000000..53b5859553 --- /dev/null +++ b/service/iotfleethub/doc.go @@ -0,0 +1,32 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotfleethub provides the client and types for making API +// requests to AWS IoT Fleet Hub. +// +// With Fleet Hub for AWS IoT Device Management you can build stand-alone web +// applications for monitoring the health of your device fleets. +// +// Fleet Hub for AWS IoT Device Management is in public preview and is subject +// to change. +// +// See https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03 for more information on this service. +// +// See iotfleethub package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotfleethub/ +// +// Using the Client +// +// To contact AWS IoT Fleet Hub 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 AWS IoT Fleet Hub client IoTFleetHub for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotfleethub/#New +package iotfleethub diff --git a/service/iotfleethub/errors.go b/service/iotfleethub/errors.go new file mode 100644 index 0000000000..ba6e1ef1f4 --- /dev/null +++ b/service/iotfleethub/errors.go @@ -0,0 +1,55 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotfleethub + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request conflicts with the current state of the resource. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalFailureException for service response error code + // "InternalFailureException". + // + // An unexpected error has occurred. + ErrCodeInternalFailureException = "InternalFailureException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // The request is not valid. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // A limit has been exceeded. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The specified resource does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The rate exceeds the limit. + ErrCodeThrottlingException = "ThrottlingException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "ConflictException": newErrorConflictException, + "InternalFailureException": newErrorInternalFailureException, + "InvalidRequestException": newErrorInvalidRequestException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, +} diff --git a/service/iotfleethub/iotfleethubiface/interface.go b/service/iotfleethub/iotfleethubiface/interface.go new file mode 100644 index 0000000000..cf2d18c49d --- /dev/null +++ b/service/iotfleethub/iotfleethubiface/interface.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotfleethubiface provides an interface to enable mocking the AWS IoT Fleet Hub 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 iotfleethubiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/iotfleethub" +) + +// IoTFleetHubAPI provides an interface to enable mocking the +// iotfleethub.IoTFleetHub 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 +// // AWS IoT Fleet Hub. +// func myFunc(svc iotfleethubiface.IoTFleetHubAPI) bool { +// // Make svc.CreateApplication request +// } +// +// func main() { +// sess := session.New() +// svc := iotfleethub.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockIoTFleetHubClient struct { +// iotfleethubiface.IoTFleetHubAPI +// } +// func (m *mockIoTFleetHubClient) CreateApplication(input *iotfleethub.CreateApplicationInput) (*iotfleethub.CreateApplicationOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockIoTFleetHubClient{} +// +// 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 IoTFleetHubAPI interface { + CreateApplication(*iotfleethub.CreateApplicationInput) (*iotfleethub.CreateApplicationOutput, error) + CreateApplicationWithContext(aws.Context, *iotfleethub.CreateApplicationInput, ...request.Option) (*iotfleethub.CreateApplicationOutput, error) + CreateApplicationRequest(*iotfleethub.CreateApplicationInput) (*request.Request, *iotfleethub.CreateApplicationOutput) + + DeleteApplication(*iotfleethub.DeleteApplicationInput) (*iotfleethub.DeleteApplicationOutput, error) + DeleteApplicationWithContext(aws.Context, *iotfleethub.DeleteApplicationInput, ...request.Option) (*iotfleethub.DeleteApplicationOutput, error) + DeleteApplicationRequest(*iotfleethub.DeleteApplicationInput) (*request.Request, *iotfleethub.DeleteApplicationOutput) + + DescribeApplication(*iotfleethub.DescribeApplicationInput) (*iotfleethub.DescribeApplicationOutput, error) + DescribeApplicationWithContext(aws.Context, *iotfleethub.DescribeApplicationInput, ...request.Option) (*iotfleethub.DescribeApplicationOutput, error) + DescribeApplicationRequest(*iotfleethub.DescribeApplicationInput) (*request.Request, *iotfleethub.DescribeApplicationOutput) + + ListApplications(*iotfleethub.ListApplicationsInput) (*iotfleethub.ListApplicationsOutput, error) + ListApplicationsWithContext(aws.Context, *iotfleethub.ListApplicationsInput, ...request.Option) (*iotfleethub.ListApplicationsOutput, error) + ListApplicationsRequest(*iotfleethub.ListApplicationsInput) (*request.Request, *iotfleethub.ListApplicationsOutput) + + ListApplicationsPages(*iotfleethub.ListApplicationsInput, func(*iotfleethub.ListApplicationsOutput, bool) bool) error + ListApplicationsPagesWithContext(aws.Context, *iotfleethub.ListApplicationsInput, func(*iotfleethub.ListApplicationsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*iotfleethub.ListTagsForResourceInput) (*iotfleethub.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *iotfleethub.ListTagsForResourceInput, ...request.Option) (*iotfleethub.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*iotfleethub.ListTagsForResourceInput) (*request.Request, *iotfleethub.ListTagsForResourceOutput) + + TagResource(*iotfleethub.TagResourceInput) (*iotfleethub.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *iotfleethub.TagResourceInput, ...request.Option) (*iotfleethub.TagResourceOutput, error) + TagResourceRequest(*iotfleethub.TagResourceInput) (*request.Request, *iotfleethub.TagResourceOutput) + + UntagResource(*iotfleethub.UntagResourceInput) (*iotfleethub.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *iotfleethub.UntagResourceInput, ...request.Option) (*iotfleethub.UntagResourceOutput, error) + UntagResourceRequest(*iotfleethub.UntagResourceInput) (*request.Request, *iotfleethub.UntagResourceOutput) + + UpdateApplication(*iotfleethub.UpdateApplicationInput) (*iotfleethub.UpdateApplicationOutput, error) + UpdateApplicationWithContext(aws.Context, *iotfleethub.UpdateApplicationInput, ...request.Option) (*iotfleethub.UpdateApplicationOutput, error) + UpdateApplicationRequest(*iotfleethub.UpdateApplicationInput) (*request.Request, *iotfleethub.UpdateApplicationOutput) +} + +var _ IoTFleetHubAPI = (*iotfleethub.IoTFleetHub)(nil) diff --git a/service/iotfleethub/service.go b/service/iotfleethub/service.go new file mode 100644 index 0000000000..1082ee29d1 --- /dev/null +++ b/service/iotfleethub/service.go @@ -0,0 +1,104 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotfleethub + +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" +) + +// IoTFleetHub provides the API operation methods for making requests to +// AWS IoT Fleet Hub. See this package's package overview docs +// for details on the service. +// +// IoTFleetHub methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type IoTFleetHub 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 = "IoTFleetHub" // Name of service. + EndpointsID = "api.fleethub.iot" // ID to lookup a service endpoint with. + ServiceID = "IoTFleetHub" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the IoTFleetHub 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 IoTFleetHub client from just a session. +// svc := iotfleethub.New(mySession) +// +// // Create a IoTFleetHub client with additional configuration +// svc := iotfleethub.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *IoTFleetHub { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "iotfleethub" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *IoTFleetHub { + svc := &IoTFleetHub{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-11-03", + }, + 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 IoTFleetHub operation and runs any +// custom request initialization. +func (c *IoTFleetHub) 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/iotwireless/api.go b/service/iotwireless/api.go new file mode 100644 index 0000000000..96b502e278 --- /dev/null +++ b/service/iotwireless/api.go @@ -0,0 +1,11517 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotwireless + +import ( + "fmt" + + "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" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAssociateAwsAccountWithPartnerAccount = "AssociateAwsAccountWithPartnerAccount" + +// AssociateAwsAccountWithPartnerAccountRequest generates a "aws/request.Request" representing the +// client's request for the AssociateAwsAccountWithPartnerAccount 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 AssociateAwsAccountWithPartnerAccount for more information on using the AssociateAwsAccountWithPartnerAccount +// 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 AssociateAwsAccountWithPartnerAccountRequest method. +// req, resp := client.AssociateAwsAccountWithPartnerAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateAwsAccountWithPartnerAccount +func (c *IoTWireless) AssociateAwsAccountWithPartnerAccountRequest(input *AssociateAwsAccountWithPartnerAccountInput) (req *request.Request, output *AssociateAwsAccountWithPartnerAccountOutput) { + op := &request.Operation{ + Name: opAssociateAwsAccountWithPartnerAccount, + HTTPMethod: "POST", + HTTPPath: "/partner-accounts", + } + + if input == nil { + input = &AssociateAwsAccountWithPartnerAccountInput{} + } + + output = &AssociateAwsAccountWithPartnerAccountOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateAwsAccountWithPartnerAccount API operation for AWS IoT Wireless. +// +// Associates a partner account with your AWS 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 Wireless's +// API operation AssociateAwsAccountWithPartnerAccount for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateAwsAccountWithPartnerAccount +func (c *IoTWireless) AssociateAwsAccountWithPartnerAccount(input *AssociateAwsAccountWithPartnerAccountInput) (*AssociateAwsAccountWithPartnerAccountOutput, error) { + req, out := c.AssociateAwsAccountWithPartnerAccountRequest(input) + return out, req.Send() +} + +// AssociateAwsAccountWithPartnerAccountWithContext is the same as AssociateAwsAccountWithPartnerAccount with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateAwsAccountWithPartnerAccount 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 *IoTWireless) AssociateAwsAccountWithPartnerAccountWithContext(ctx aws.Context, input *AssociateAwsAccountWithPartnerAccountInput, opts ...request.Option) (*AssociateAwsAccountWithPartnerAccountOutput, error) { + req, out := c.AssociateAwsAccountWithPartnerAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateWirelessDeviceWithThing = "AssociateWirelessDeviceWithThing" + +// AssociateWirelessDeviceWithThingRequest generates a "aws/request.Request" representing the +// client's request for the AssociateWirelessDeviceWithThing 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 AssociateWirelessDeviceWithThing for more information on using the AssociateWirelessDeviceWithThing +// 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 AssociateWirelessDeviceWithThingRequest method. +// req, resp := client.AssociateWirelessDeviceWithThingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessDeviceWithThing +func (c *IoTWireless) AssociateWirelessDeviceWithThingRequest(input *AssociateWirelessDeviceWithThingInput) (req *request.Request, output *AssociateWirelessDeviceWithThingOutput) { + op := &request.Operation{ + Name: opAssociateWirelessDeviceWithThing, + HTTPMethod: "PUT", + HTTPPath: "/wireless-devices/{Id}/thing", + } + + if input == nil { + input = &AssociateWirelessDeviceWithThingInput{} + } + + output = &AssociateWirelessDeviceWithThingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateWirelessDeviceWithThing API operation for AWS IoT Wireless. +// +// Associates a wireless device with a thing. +// +// 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 Wireless's +// API operation AssociateWirelessDeviceWithThing for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessDeviceWithThing +func (c *IoTWireless) AssociateWirelessDeviceWithThing(input *AssociateWirelessDeviceWithThingInput) (*AssociateWirelessDeviceWithThingOutput, error) { + req, out := c.AssociateWirelessDeviceWithThingRequest(input) + return out, req.Send() +} + +// AssociateWirelessDeviceWithThingWithContext is the same as AssociateWirelessDeviceWithThing with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateWirelessDeviceWithThing 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 *IoTWireless) AssociateWirelessDeviceWithThingWithContext(ctx aws.Context, input *AssociateWirelessDeviceWithThingInput, opts ...request.Option) (*AssociateWirelessDeviceWithThingOutput, error) { + req, out := c.AssociateWirelessDeviceWithThingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateWirelessGatewayWithCertificate = "AssociateWirelessGatewayWithCertificate" + +// AssociateWirelessGatewayWithCertificateRequest generates a "aws/request.Request" representing the +// client's request for the AssociateWirelessGatewayWithCertificate 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 AssociateWirelessGatewayWithCertificate for more information on using the AssociateWirelessGatewayWithCertificate +// 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 AssociateWirelessGatewayWithCertificateRequest method. +// req, resp := client.AssociateWirelessGatewayWithCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithCertificate +func (c *IoTWireless) AssociateWirelessGatewayWithCertificateRequest(input *AssociateWirelessGatewayWithCertificateInput) (req *request.Request, output *AssociateWirelessGatewayWithCertificateOutput) { + op := &request.Operation{ + Name: opAssociateWirelessGatewayWithCertificate, + HTTPMethod: "PUT", + HTTPPath: "/wireless-gateways/{Id}/certificate", + } + + if input == nil { + input = &AssociateWirelessGatewayWithCertificateInput{} + } + + output = &AssociateWirelessGatewayWithCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateWirelessGatewayWithCertificate API operation for AWS IoT Wireless. +// +// Associates a wireless gateway with a certificate. +// +// 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 Wireless's +// API operation AssociateWirelessGatewayWithCertificate for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithCertificate +func (c *IoTWireless) AssociateWirelessGatewayWithCertificate(input *AssociateWirelessGatewayWithCertificateInput) (*AssociateWirelessGatewayWithCertificateOutput, error) { + req, out := c.AssociateWirelessGatewayWithCertificateRequest(input) + return out, req.Send() +} + +// AssociateWirelessGatewayWithCertificateWithContext is the same as AssociateWirelessGatewayWithCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateWirelessGatewayWithCertificate 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 *IoTWireless) AssociateWirelessGatewayWithCertificateWithContext(ctx aws.Context, input *AssociateWirelessGatewayWithCertificateInput, opts ...request.Option) (*AssociateWirelessGatewayWithCertificateOutput, error) { + req, out := c.AssociateWirelessGatewayWithCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateWirelessGatewayWithThing = "AssociateWirelessGatewayWithThing" + +// AssociateWirelessGatewayWithThingRequest generates a "aws/request.Request" representing the +// client's request for the AssociateWirelessGatewayWithThing 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 AssociateWirelessGatewayWithThing for more information on using the AssociateWirelessGatewayWithThing +// 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 AssociateWirelessGatewayWithThingRequest method. +// req, resp := client.AssociateWirelessGatewayWithThingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithThing +func (c *IoTWireless) AssociateWirelessGatewayWithThingRequest(input *AssociateWirelessGatewayWithThingInput) (req *request.Request, output *AssociateWirelessGatewayWithThingOutput) { + op := &request.Operation{ + Name: opAssociateWirelessGatewayWithThing, + HTTPMethod: "PUT", + HTTPPath: "/wireless-gateways/{Id}/thing", + } + + if input == nil { + input = &AssociateWirelessGatewayWithThingInput{} + } + + output = &AssociateWirelessGatewayWithThingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateWirelessGatewayWithThing API operation for AWS IoT Wireless. +// +// Associates a wireless gateway with a thing. +// +// 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 Wireless's +// API operation AssociateWirelessGatewayWithThing for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithThing +func (c *IoTWireless) AssociateWirelessGatewayWithThing(input *AssociateWirelessGatewayWithThingInput) (*AssociateWirelessGatewayWithThingOutput, error) { + req, out := c.AssociateWirelessGatewayWithThingRequest(input) + return out, req.Send() +} + +// AssociateWirelessGatewayWithThingWithContext is the same as AssociateWirelessGatewayWithThing with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateWirelessGatewayWithThing 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 *IoTWireless) AssociateWirelessGatewayWithThingWithContext(ctx aws.Context, input *AssociateWirelessGatewayWithThingInput, opts ...request.Option) (*AssociateWirelessGatewayWithThingOutput, error) { + req, out := c.AssociateWirelessGatewayWithThingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDestination = "CreateDestination" + +// CreateDestinationRequest generates a "aws/request.Request" representing the +// client's request for the CreateDestination 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 CreateDestination for more information on using the CreateDestination +// 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 CreateDestinationRequest method. +// req, resp := client.CreateDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDestination +func (c *IoTWireless) CreateDestinationRequest(input *CreateDestinationInput) (req *request.Request, output *CreateDestinationOutput) { + op := &request.Operation{ + Name: opCreateDestination, + HTTPMethod: "POST", + HTTPPath: "/destinations", + } + + if input == nil { + input = &CreateDestinationInput{} + } + + output = &CreateDestinationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDestination API operation for AWS IoT Wireless. +// +// Creates a new destination that maps a device message to an AWS IoT rule. +// +// 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 Wireless's +// API operation CreateDestination for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDestination +func (c *IoTWireless) CreateDestination(input *CreateDestinationInput) (*CreateDestinationOutput, error) { + req, out := c.CreateDestinationRequest(input) + return out, req.Send() +} + +// CreateDestinationWithContext is the same as CreateDestination with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDestination 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 *IoTWireless) CreateDestinationWithContext(ctx aws.Context, input *CreateDestinationInput, opts ...request.Option) (*CreateDestinationOutput, error) { + req, out := c.CreateDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDeviceProfile = "CreateDeviceProfile" + +// CreateDeviceProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeviceProfile 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 CreateDeviceProfile for more information on using the CreateDeviceProfile +// 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 CreateDeviceProfileRequest method. +// req, resp := client.CreateDeviceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDeviceProfile +func (c *IoTWireless) CreateDeviceProfileRequest(input *CreateDeviceProfileInput) (req *request.Request, output *CreateDeviceProfileOutput) { + op := &request.Operation{ + Name: opCreateDeviceProfile, + HTTPMethod: "POST", + HTTPPath: "/device-profiles", + } + + if input == nil { + input = &CreateDeviceProfileInput{} + } + + output = &CreateDeviceProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDeviceProfile API operation for AWS IoT Wireless. +// +// Creates a new device profile. +// +// 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 Wireless's +// API operation CreateDeviceProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDeviceProfile +func (c *IoTWireless) CreateDeviceProfile(input *CreateDeviceProfileInput) (*CreateDeviceProfileOutput, error) { + req, out := c.CreateDeviceProfileRequest(input) + return out, req.Send() +} + +// CreateDeviceProfileWithContext is the same as CreateDeviceProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDeviceProfile 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 *IoTWireless) CreateDeviceProfileWithContext(ctx aws.Context, input *CreateDeviceProfileInput, opts ...request.Option) (*CreateDeviceProfileOutput, error) { + req, out := c.CreateDeviceProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateServiceProfile = "CreateServiceProfile" + +// CreateServiceProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateServiceProfile 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 CreateServiceProfile for more information on using the CreateServiceProfile +// 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 CreateServiceProfileRequest method. +// req, resp := client.CreateServiceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateServiceProfile +func (c *IoTWireless) CreateServiceProfileRequest(input *CreateServiceProfileInput) (req *request.Request, output *CreateServiceProfileOutput) { + op := &request.Operation{ + Name: opCreateServiceProfile, + HTTPMethod: "POST", + HTTPPath: "/service-profiles", + } + + if input == nil { + input = &CreateServiceProfileInput{} + } + + output = &CreateServiceProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateServiceProfile API operation for AWS IoT Wireless. +// +// Creates a new service profile. +// +// 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 Wireless's +// API operation CreateServiceProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateServiceProfile +func (c *IoTWireless) CreateServiceProfile(input *CreateServiceProfileInput) (*CreateServiceProfileOutput, error) { + req, out := c.CreateServiceProfileRequest(input) + return out, req.Send() +} + +// CreateServiceProfileWithContext is the same as CreateServiceProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateServiceProfile 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 *IoTWireless) CreateServiceProfileWithContext(ctx aws.Context, input *CreateServiceProfileInput, opts ...request.Option) (*CreateServiceProfileOutput, error) { + req, out := c.CreateServiceProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWirelessDevice = "CreateWirelessDevice" + +// CreateWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the CreateWirelessDevice 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 CreateWirelessDevice for more information on using the CreateWirelessDevice +// 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 CreateWirelessDeviceRequest method. +// req, resp := client.CreateWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessDevice +func (c *IoTWireless) CreateWirelessDeviceRequest(input *CreateWirelessDeviceInput) (req *request.Request, output *CreateWirelessDeviceOutput) { + op := &request.Operation{ + Name: opCreateWirelessDevice, + HTTPMethod: "POST", + HTTPPath: "/wireless-devices", + } + + if input == nil { + input = &CreateWirelessDeviceInput{} + } + + output = &CreateWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWirelessDevice API operation for AWS IoT Wireless. +// +// Provisions a wireless device. +// +// 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 Wireless's +// API operation CreateWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessDevice +func (c *IoTWireless) CreateWirelessDevice(input *CreateWirelessDeviceInput) (*CreateWirelessDeviceOutput, error) { + req, out := c.CreateWirelessDeviceRequest(input) + return out, req.Send() +} + +// CreateWirelessDeviceWithContext is the same as CreateWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWirelessDevice 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 *IoTWireless) CreateWirelessDeviceWithContext(ctx aws.Context, input *CreateWirelessDeviceInput, opts ...request.Option) (*CreateWirelessDeviceOutput, error) { + req, out := c.CreateWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWirelessGateway = "CreateWirelessGateway" + +// CreateWirelessGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateWirelessGateway 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 CreateWirelessGateway for more information on using the CreateWirelessGateway +// 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 CreateWirelessGatewayRequest method. +// req, resp := client.CreateWirelessGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGateway +func (c *IoTWireless) CreateWirelessGatewayRequest(input *CreateWirelessGatewayInput) (req *request.Request, output *CreateWirelessGatewayOutput) { + op := &request.Operation{ + Name: opCreateWirelessGateway, + HTTPMethod: "POST", + HTTPPath: "/wireless-gateways", + } + + if input == nil { + input = &CreateWirelessGatewayInput{} + } + + output = &CreateWirelessGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWirelessGateway API operation for AWS IoT Wireless. +// +// Provisions a wireless gateway. +// +// 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 Wireless's +// API operation CreateWirelessGateway for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGateway +func (c *IoTWireless) CreateWirelessGateway(input *CreateWirelessGatewayInput) (*CreateWirelessGatewayOutput, error) { + req, out := c.CreateWirelessGatewayRequest(input) + return out, req.Send() +} + +// CreateWirelessGatewayWithContext is the same as CreateWirelessGateway with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWirelessGateway 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 *IoTWireless) CreateWirelessGatewayWithContext(ctx aws.Context, input *CreateWirelessGatewayInput, opts ...request.Option) (*CreateWirelessGatewayOutput, error) { + req, out := c.CreateWirelessGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWirelessGatewayTask = "CreateWirelessGatewayTask" + +// CreateWirelessGatewayTaskRequest generates a "aws/request.Request" representing the +// client's request for the CreateWirelessGatewayTask 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 CreateWirelessGatewayTask for more information on using the CreateWirelessGatewayTask +// 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 CreateWirelessGatewayTaskRequest method. +// req, resp := client.CreateWirelessGatewayTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTask +func (c *IoTWireless) CreateWirelessGatewayTaskRequest(input *CreateWirelessGatewayTaskInput) (req *request.Request, output *CreateWirelessGatewayTaskOutput) { + op := &request.Operation{ + Name: opCreateWirelessGatewayTask, + HTTPMethod: "POST", + HTTPPath: "/wireless-gateways/{Id}/tasks", + } + + if input == nil { + input = &CreateWirelessGatewayTaskInput{} + } + + output = &CreateWirelessGatewayTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWirelessGatewayTask API operation for AWS IoT Wireless. +// +// Creates a task for a wireless gateway. +// +// 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 Wireless's +// API operation CreateWirelessGatewayTask for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTask +func (c *IoTWireless) CreateWirelessGatewayTask(input *CreateWirelessGatewayTaskInput) (*CreateWirelessGatewayTaskOutput, error) { + req, out := c.CreateWirelessGatewayTaskRequest(input) + return out, req.Send() +} + +// CreateWirelessGatewayTaskWithContext is the same as CreateWirelessGatewayTask with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWirelessGatewayTask 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 *IoTWireless) CreateWirelessGatewayTaskWithContext(ctx aws.Context, input *CreateWirelessGatewayTaskInput, opts ...request.Option) (*CreateWirelessGatewayTaskOutput, error) { + req, out := c.CreateWirelessGatewayTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWirelessGatewayTaskDefinition = "CreateWirelessGatewayTaskDefinition" + +// CreateWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the CreateWirelessGatewayTaskDefinition 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 CreateWirelessGatewayTaskDefinition for more information on using the CreateWirelessGatewayTaskDefinition +// 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 CreateWirelessGatewayTaskDefinitionRequest method. +// req, resp := client.CreateWirelessGatewayTaskDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTaskDefinition +func (c *IoTWireless) CreateWirelessGatewayTaskDefinitionRequest(input *CreateWirelessGatewayTaskDefinitionInput) (req *request.Request, output *CreateWirelessGatewayTaskDefinitionOutput) { + op := &request.Operation{ + Name: opCreateWirelessGatewayTaskDefinition, + HTTPMethod: "POST", + HTTPPath: "/wireless-gateway-task-definitions", + } + + if input == nil { + input = &CreateWirelessGatewayTaskDefinitionInput{} + } + + output = &CreateWirelessGatewayTaskDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWirelessGatewayTaskDefinition API operation for AWS IoT Wireless. +// +// Creates a gateway task definition. +// +// 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 Wireless's +// API operation CreateWirelessGatewayTaskDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTaskDefinition +func (c *IoTWireless) CreateWirelessGatewayTaskDefinition(input *CreateWirelessGatewayTaskDefinitionInput) (*CreateWirelessGatewayTaskDefinitionOutput, error) { + req, out := c.CreateWirelessGatewayTaskDefinitionRequest(input) + return out, req.Send() +} + +// CreateWirelessGatewayTaskDefinitionWithContext is the same as CreateWirelessGatewayTaskDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWirelessGatewayTaskDefinition 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 *IoTWireless) CreateWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *CreateWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*CreateWirelessGatewayTaskDefinitionOutput, error) { + req, out := c.CreateWirelessGatewayTaskDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDestination = "DeleteDestination" + +// DeleteDestinationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDestination 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 DeleteDestination for more information on using the DeleteDestination +// 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 DeleteDestinationRequest method. +// req, resp := client.DeleteDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDestination +func (c *IoTWireless) DeleteDestinationRequest(input *DeleteDestinationInput) (req *request.Request, output *DeleteDestinationOutput) { + op := &request.Operation{ + Name: opDeleteDestination, + HTTPMethod: "DELETE", + HTTPPath: "/destinations/{Name}", + } + + if input == nil { + input = &DeleteDestinationInput{} + } + + output = &DeleteDestinationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDestination API operation for AWS IoT Wireless. +// +// Deletes a destination. +// +// 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 Wireless's +// API operation DeleteDestination for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDestination +func (c *IoTWireless) DeleteDestination(input *DeleteDestinationInput) (*DeleteDestinationOutput, error) { + req, out := c.DeleteDestinationRequest(input) + return out, req.Send() +} + +// DeleteDestinationWithContext is the same as DeleteDestination with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDestination 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 *IoTWireless) DeleteDestinationWithContext(ctx aws.Context, input *DeleteDestinationInput, opts ...request.Option) (*DeleteDestinationOutput, error) { + req, out := c.DeleteDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDeviceProfile = "DeleteDeviceProfile" + +// DeleteDeviceProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeviceProfile 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 DeleteDeviceProfile for more information on using the DeleteDeviceProfile +// 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 DeleteDeviceProfileRequest method. +// req, resp := client.DeleteDeviceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDeviceProfile +func (c *IoTWireless) DeleteDeviceProfileRequest(input *DeleteDeviceProfileInput) (req *request.Request, output *DeleteDeviceProfileOutput) { + op := &request.Operation{ + Name: opDeleteDeviceProfile, + HTTPMethod: "DELETE", + HTTPPath: "/device-profiles/{Id}", + } + + if input == nil { + input = &DeleteDeviceProfileInput{} + } + + output = &DeleteDeviceProfileOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDeviceProfile API operation for AWS IoT Wireless. +// +// Deletes a device profile. +// +// 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 Wireless's +// API operation DeleteDeviceProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDeviceProfile +func (c *IoTWireless) DeleteDeviceProfile(input *DeleteDeviceProfileInput) (*DeleteDeviceProfileOutput, error) { + req, out := c.DeleteDeviceProfileRequest(input) + return out, req.Send() +} + +// DeleteDeviceProfileWithContext is the same as DeleteDeviceProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDeviceProfile 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 *IoTWireless) DeleteDeviceProfileWithContext(ctx aws.Context, input *DeleteDeviceProfileInput, opts ...request.Option) (*DeleteDeviceProfileOutput, error) { + req, out := c.DeleteDeviceProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteServiceProfile = "DeleteServiceProfile" + +// DeleteServiceProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServiceProfile 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 DeleteServiceProfile for more information on using the DeleteServiceProfile +// 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 DeleteServiceProfileRequest method. +// req, resp := client.DeleteServiceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteServiceProfile +func (c *IoTWireless) DeleteServiceProfileRequest(input *DeleteServiceProfileInput) (req *request.Request, output *DeleteServiceProfileOutput) { + op := &request.Operation{ + Name: opDeleteServiceProfile, + HTTPMethod: "DELETE", + HTTPPath: "/service-profiles/{Id}", + } + + if input == nil { + input = &DeleteServiceProfileInput{} + } + + output = &DeleteServiceProfileOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteServiceProfile API operation for AWS IoT Wireless. +// +// Deletes a service profile. +// +// 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 Wireless's +// API operation DeleteServiceProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteServiceProfile +func (c *IoTWireless) DeleteServiceProfile(input *DeleteServiceProfileInput) (*DeleteServiceProfileOutput, error) { + req, out := c.DeleteServiceProfileRequest(input) + return out, req.Send() +} + +// DeleteServiceProfileWithContext is the same as DeleteServiceProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteServiceProfile 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 *IoTWireless) DeleteServiceProfileWithContext(ctx aws.Context, input *DeleteServiceProfileInput, opts ...request.Option) (*DeleteServiceProfileOutput, error) { + req, out := c.DeleteServiceProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWirelessDevice = "DeleteWirelessDevice" + +// DeleteWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWirelessDevice 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 DeleteWirelessDevice for more information on using the DeleteWirelessDevice +// 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 DeleteWirelessDeviceRequest method. +// req, resp := client.DeleteWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessDevice +func (c *IoTWireless) DeleteWirelessDeviceRequest(input *DeleteWirelessDeviceInput) (req *request.Request, output *DeleteWirelessDeviceOutput) { + op := &request.Operation{ + Name: opDeleteWirelessDevice, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-devices/{Id}", + } + + if input == nil { + input = &DeleteWirelessDeviceInput{} + } + + output = &DeleteWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWirelessDevice API operation for AWS IoT Wireless. +// +// Deletes a wireless device. +// +// 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 Wireless's +// API operation DeleteWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessDevice +func (c *IoTWireless) DeleteWirelessDevice(input *DeleteWirelessDeviceInput) (*DeleteWirelessDeviceOutput, error) { + req, out := c.DeleteWirelessDeviceRequest(input) + return out, req.Send() +} + +// DeleteWirelessDeviceWithContext is the same as DeleteWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWirelessDevice 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 *IoTWireless) DeleteWirelessDeviceWithContext(ctx aws.Context, input *DeleteWirelessDeviceInput, opts ...request.Option) (*DeleteWirelessDeviceOutput, error) { + req, out := c.DeleteWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWirelessGateway = "DeleteWirelessGateway" + +// DeleteWirelessGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWirelessGateway 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 DeleteWirelessGateway for more information on using the DeleteWirelessGateway +// 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 DeleteWirelessGatewayRequest method. +// req, resp := client.DeleteWirelessGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGateway +func (c *IoTWireless) DeleteWirelessGatewayRequest(input *DeleteWirelessGatewayInput) (req *request.Request, output *DeleteWirelessGatewayOutput) { + op := &request.Operation{ + Name: opDeleteWirelessGateway, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-gateways/{Id}", + } + + if input == nil { + input = &DeleteWirelessGatewayInput{} + } + + output = &DeleteWirelessGatewayOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWirelessGateway API operation for AWS IoT Wireless. +// +// Deletes a wireless gateway. +// +// 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 Wireless's +// API operation DeleteWirelessGateway for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGateway +func (c *IoTWireless) DeleteWirelessGateway(input *DeleteWirelessGatewayInput) (*DeleteWirelessGatewayOutput, error) { + req, out := c.DeleteWirelessGatewayRequest(input) + return out, req.Send() +} + +// DeleteWirelessGatewayWithContext is the same as DeleteWirelessGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWirelessGateway 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 *IoTWireless) DeleteWirelessGatewayWithContext(ctx aws.Context, input *DeleteWirelessGatewayInput, opts ...request.Option) (*DeleteWirelessGatewayOutput, error) { + req, out := c.DeleteWirelessGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWirelessGatewayTask = "DeleteWirelessGatewayTask" + +// DeleteWirelessGatewayTaskRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWirelessGatewayTask 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 DeleteWirelessGatewayTask for more information on using the DeleteWirelessGatewayTask +// 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 DeleteWirelessGatewayTaskRequest method. +// req, resp := client.DeleteWirelessGatewayTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTask +func (c *IoTWireless) DeleteWirelessGatewayTaskRequest(input *DeleteWirelessGatewayTaskInput) (req *request.Request, output *DeleteWirelessGatewayTaskOutput) { + op := &request.Operation{ + Name: opDeleteWirelessGatewayTask, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-gateways/{Id}/tasks", + } + + if input == nil { + input = &DeleteWirelessGatewayTaskInput{} + } + + output = &DeleteWirelessGatewayTaskOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWirelessGatewayTask API operation for AWS IoT Wireless. +// +// Deletes a wireless gateway task. +// +// 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 Wireless's +// API operation DeleteWirelessGatewayTask for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTask +func (c *IoTWireless) DeleteWirelessGatewayTask(input *DeleteWirelessGatewayTaskInput) (*DeleteWirelessGatewayTaskOutput, error) { + req, out := c.DeleteWirelessGatewayTaskRequest(input) + return out, req.Send() +} + +// DeleteWirelessGatewayTaskWithContext is the same as DeleteWirelessGatewayTask with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWirelessGatewayTask 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 *IoTWireless) DeleteWirelessGatewayTaskWithContext(ctx aws.Context, input *DeleteWirelessGatewayTaskInput, opts ...request.Option) (*DeleteWirelessGatewayTaskOutput, error) { + req, out := c.DeleteWirelessGatewayTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWirelessGatewayTaskDefinition = "DeleteWirelessGatewayTaskDefinition" + +// DeleteWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWirelessGatewayTaskDefinition 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 DeleteWirelessGatewayTaskDefinition for more information on using the DeleteWirelessGatewayTaskDefinition +// 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 DeleteWirelessGatewayTaskDefinitionRequest method. +// req, resp := client.DeleteWirelessGatewayTaskDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTaskDefinition +func (c *IoTWireless) DeleteWirelessGatewayTaskDefinitionRequest(input *DeleteWirelessGatewayTaskDefinitionInput) (req *request.Request, output *DeleteWirelessGatewayTaskDefinitionOutput) { + op := &request.Operation{ + Name: opDeleteWirelessGatewayTaskDefinition, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-gateway-task-definitions/{Id}", + } + + if input == nil { + input = &DeleteWirelessGatewayTaskDefinitionInput{} + } + + output = &DeleteWirelessGatewayTaskDefinitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWirelessGatewayTaskDefinition API operation for AWS IoT Wireless. +// +// Deletes a wireless gateway task definition. Deleting this task definition +// does not affect tasks that are currently in progress. +// +// 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 Wireless's +// API operation DeleteWirelessGatewayTaskDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTaskDefinition +func (c *IoTWireless) DeleteWirelessGatewayTaskDefinition(input *DeleteWirelessGatewayTaskDefinitionInput) (*DeleteWirelessGatewayTaskDefinitionOutput, error) { + req, out := c.DeleteWirelessGatewayTaskDefinitionRequest(input) + return out, req.Send() +} + +// DeleteWirelessGatewayTaskDefinitionWithContext is the same as DeleteWirelessGatewayTaskDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWirelessGatewayTaskDefinition 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 *IoTWireless) DeleteWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *DeleteWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*DeleteWirelessGatewayTaskDefinitionOutput, error) { + req, out := c.DeleteWirelessGatewayTaskDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateAwsAccountFromPartnerAccount = "DisassociateAwsAccountFromPartnerAccount" + +// DisassociateAwsAccountFromPartnerAccountRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateAwsAccountFromPartnerAccount 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 DisassociateAwsAccountFromPartnerAccount for more information on using the DisassociateAwsAccountFromPartnerAccount +// 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 DisassociateAwsAccountFromPartnerAccountRequest method. +// req, resp := client.DisassociateAwsAccountFromPartnerAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateAwsAccountFromPartnerAccount +func (c *IoTWireless) DisassociateAwsAccountFromPartnerAccountRequest(input *DisassociateAwsAccountFromPartnerAccountInput) (req *request.Request, output *DisassociateAwsAccountFromPartnerAccountOutput) { + op := &request.Operation{ + Name: opDisassociateAwsAccountFromPartnerAccount, + HTTPMethod: "DELETE", + HTTPPath: "/partner-accounts/{PartnerAccountId}", + } + + if input == nil { + input = &DisassociateAwsAccountFromPartnerAccountInput{} + } + + output = &DisassociateAwsAccountFromPartnerAccountOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateAwsAccountFromPartnerAccount API operation for AWS IoT Wireless. +// +// Disassociates your AWS account from a partner account. If PartnerAccountId +// and PartnerType are null, disassociates your AWS account from all partner +// accounts. +// +// 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 Wireless's +// API operation DisassociateAwsAccountFromPartnerAccount for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateAwsAccountFromPartnerAccount +func (c *IoTWireless) DisassociateAwsAccountFromPartnerAccount(input *DisassociateAwsAccountFromPartnerAccountInput) (*DisassociateAwsAccountFromPartnerAccountOutput, error) { + req, out := c.DisassociateAwsAccountFromPartnerAccountRequest(input) + return out, req.Send() +} + +// DisassociateAwsAccountFromPartnerAccountWithContext is the same as DisassociateAwsAccountFromPartnerAccount with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateAwsAccountFromPartnerAccount 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 *IoTWireless) DisassociateAwsAccountFromPartnerAccountWithContext(ctx aws.Context, input *DisassociateAwsAccountFromPartnerAccountInput, opts ...request.Option) (*DisassociateAwsAccountFromPartnerAccountOutput, error) { + req, out := c.DisassociateAwsAccountFromPartnerAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateWirelessDeviceFromThing = "DisassociateWirelessDeviceFromThing" + +// DisassociateWirelessDeviceFromThingRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateWirelessDeviceFromThing 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 DisassociateWirelessDeviceFromThing for more information on using the DisassociateWirelessDeviceFromThing +// 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 DisassociateWirelessDeviceFromThingRequest method. +// req, resp := client.DisassociateWirelessDeviceFromThingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessDeviceFromThing +func (c *IoTWireless) DisassociateWirelessDeviceFromThingRequest(input *DisassociateWirelessDeviceFromThingInput) (req *request.Request, output *DisassociateWirelessDeviceFromThingOutput) { + op := &request.Operation{ + Name: opDisassociateWirelessDeviceFromThing, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-devices/{Id}/thing", + } + + if input == nil { + input = &DisassociateWirelessDeviceFromThingInput{} + } + + output = &DisassociateWirelessDeviceFromThingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateWirelessDeviceFromThing API operation for AWS IoT Wireless. +// +// Disassociates a wireless device from its currently associated thing. +// +// 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 Wireless's +// API operation DisassociateWirelessDeviceFromThing for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessDeviceFromThing +func (c *IoTWireless) DisassociateWirelessDeviceFromThing(input *DisassociateWirelessDeviceFromThingInput) (*DisassociateWirelessDeviceFromThingOutput, error) { + req, out := c.DisassociateWirelessDeviceFromThingRequest(input) + return out, req.Send() +} + +// DisassociateWirelessDeviceFromThingWithContext is the same as DisassociateWirelessDeviceFromThing with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateWirelessDeviceFromThing 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 *IoTWireless) DisassociateWirelessDeviceFromThingWithContext(ctx aws.Context, input *DisassociateWirelessDeviceFromThingInput, opts ...request.Option) (*DisassociateWirelessDeviceFromThingOutput, error) { + req, out := c.DisassociateWirelessDeviceFromThingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateWirelessGatewayFromCertificate = "DisassociateWirelessGatewayFromCertificate" + +// DisassociateWirelessGatewayFromCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateWirelessGatewayFromCertificate 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 DisassociateWirelessGatewayFromCertificate for more information on using the DisassociateWirelessGatewayFromCertificate +// 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 DisassociateWirelessGatewayFromCertificateRequest method. +// req, resp := client.DisassociateWirelessGatewayFromCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromCertificate +func (c *IoTWireless) DisassociateWirelessGatewayFromCertificateRequest(input *DisassociateWirelessGatewayFromCertificateInput) (req *request.Request, output *DisassociateWirelessGatewayFromCertificateOutput) { + op := &request.Operation{ + Name: opDisassociateWirelessGatewayFromCertificate, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-gateways/{Id}/certificate", + } + + if input == nil { + input = &DisassociateWirelessGatewayFromCertificateInput{} + } + + output = &DisassociateWirelessGatewayFromCertificateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateWirelessGatewayFromCertificate API operation for AWS IoT Wireless. +// +// Disassociates a wireless gateway from its currently associated certificate. +// +// 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 Wireless's +// API operation DisassociateWirelessGatewayFromCertificate for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromCertificate +func (c *IoTWireless) DisassociateWirelessGatewayFromCertificate(input *DisassociateWirelessGatewayFromCertificateInput) (*DisassociateWirelessGatewayFromCertificateOutput, error) { + req, out := c.DisassociateWirelessGatewayFromCertificateRequest(input) + return out, req.Send() +} + +// DisassociateWirelessGatewayFromCertificateWithContext is the same as DisassociateWirelessGatewayFromCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateWirelessGatewayFromCertificate 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 *IoTWireless) DisassociateWirelessGatewayFromCertificateWithContext(ctx aws.Context, input *DisassociateWirelessGatewayFromCertificateInput, opts ...request.Option) (*DisassociateWirelessGatewayFromCertificateOutput, error) { + req, out := c.DisassociateWirelessGatewayFromCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateWirelessGatewayFromThing = "DisassociateWirelessGatewayFromThing" + +// DisassociateWirelessGatewayFromThingRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateWirelessGatewayFromThing 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 DisassociateWirelessGatewayFromThing for more information on using the DisassociateWirelessGatewayFromThing +// 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 DisassociateWirelessGatewayFromThingRequest method. +// req, resp := client.DisassociateWirelessGatewayFromThingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromThing +func (c *IoTWireless) DisassociateWirelessGatewayFromThingRequest(input *DisassociateWirelessGatewayFromThingInput) (req *request.Request, output *DisassociateWirelessGatewayFromThingOutput) { + op := &request.Operation{ + Name: opDisassociateWirelessGatewayFromThing, + HTTPMethod: "DELETE", + HTTPPath: "/wireless-gateways/{Id}/thing", + } + + if input == nil { + input = &DisassociateWirelessGatewayFromThingInput{} + } + + output = &DisassociateWirelessGatewayFromThingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateWirelessGatewayFromThing API operation for AWS IoT Wireless. +// +// Disassociates a wireless gateway from its currently associated thing. +// +// 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 Wireless's +// API operation DisassociateWirelessGatewayFromThing for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromThing +func (c *IoTWireless) DisassociateWirelessGatewayFromThing(input *DisassociateWirelessGatewayFromThingInput) (*DisassociateWirelessGatewayFromThingOutput, error) { + req, out := c.DisassociateWirelessGatewayFromThingRequest(input) + return out, req.Send() +} + +// DisassociateWirelessGatewayFromThingWithContext is the same as DisassociateWirelessGatewayFromThing with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateWirelessGatewayFromThing 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 *IoTWireless) DisassociateWirelessGatewayFromThingWithContext(ctx aws.Context, input *DisassociateWirelessGatewayFromThingInput, opts ...request.Option) (*DisassociateWirelessGatewayFromThingOutput, error) { + req, out := c.DisassociateWirelessGatewayFromThingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDestination = "GetDestination" + +// GetDestinationRequest generates a "aws/request.Request" representing the +// client's request for the GetDestination 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 GetDestination for more information on using the GetDestination +// 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 GetDestinationRequest method. +// req, resp := client.GetDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDestination +func (c *IoTWireless) GetDestinationRequest(input *GetDestinationInput) (req *request.Request, output *GetDestinationOutput) { + op := &request.Operation{ + Name: opGetDestination, + HTTPMethod: "GET", + HTTPPath: "/destinations/{Name}", + } + + if input == nil { + input = &GetDestinationInput{} + } + + output = &GetDestinationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDestination API operation for AWS IoT Wireless. +// +// Gets information about a destination. +// +// 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 Wireless's +// API operation GetDestination for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDestination +func (c *IoTWireless) GetDestination(input *GetDestinationInput) (*GetDestinationOutput, error) { + req, out := c.GetDestinationRequest(input) + return out, req.Send() +} + +// GetDestinationWithContext is the same as GetDestination with the addition of +// the ability to pass a context and additional request options. +// +// See GetDestination 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 *IoTWireless) GetDestinationWithContext(ctx aws.Context, input *GetDestinationInput, opts ...request.Option) (*GetDestinationOutput, error) { + req, out := c.GetDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDeviceProfile = "GetDeviceProfile" + +// GetDeviceProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetDeviceProfile 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 GetDeviceProfile for more information on using the GetDeviceProfile +// 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 GetDeviceProfileRequest method. +// req, resp := client.GetDeviceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDeviceProfile +func (c *IoTWireless) GetDeviceProfileRequest(input *GetDeviceProfileInput) (req *request.Request, output *GetDeviceProfileOutput) { + op := &request.Operation{ + Name: opGetDeviceProfile, + HTTPMethod: "GET", + HTTPPath: "/device-profiles/{Id}", + } + + if input == nil { + input = &GetDeviceProfileInput{} + } + + output = &GetDeviceProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeviceProfile API operation for AWS IoT Wireless. +// +// Gets information about a device profile. +// +// 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 Wireless's +// API operation GetDeviceProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDeviceProfile +func (c *IoTWireless) GetDeviceProfile(input *GetDeviceProfileInput) (*GetDeviceProfileOutput, error) { + req, out := c.GetDeviceProfileRequest(input) + return out, req.Send() +} + +// GetDeviceProfileWithContext is the same as GetDeviceProfile with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeviceProfile 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 *IoTWireless) GetDeviceProfileWithContext(ctx aws.Context, input *GetDeviceProfileInput, opts ...request.Option) (*GetDeviceProfileOutput, error) { + req, out := c.GetDeviceProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPartnerAccount = "GetPartnerAccount" + +// GetPartnerAccountRequest generates a "aws/request.Request" representing the +// client's request for the GetPartnerAccount 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 GetPartnerAccount for more information on using the GetPartnerAccount +// 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 GetPartnerAccountRequest method. +// req, resp := client.GetPartnerAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetPartnerAccount +func (c *IoTWireless) GetPartnerAccountRequest(input *GetPartnerAccountInput) (req *request.Request, output *GetPartnerAccountOutput) { + op := &request.Operation{ + Name: opGetPartnerAccount, + HTTPMethod: "GET", + HTTPPath: "/partner-accounts/{PartnerAccountId}", + } + + if input == nil { + input = &GetPartnerAccountInput{} + } + + output = &GetPartnerAccountOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPartnerAccount API operation for AWS IoT Wireless. +// +// Gets information about a partner account. If PartnerAccountId and PartnerType +// are null, returns all partner accounts. +// +// 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 Wireless's +// API operation GetPartnerAccount for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetPartnerAccount +func (c *IoTWireless) GetPartnerAccount(input *GetPartnerAccountInput) (*GetPartnerAccountOutput, error) { + req, out := c.GetPartnerAccountRequest(input) + return out, req.Send() +} + +// GetPartnerAccountWithContext is the same as GetPartnerAccount with the addition of +// the ability to pass a context and additional request options. +// +// See GetPartnerAccount 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 *IoTWireless) GetPartnerAccountWithContext(ctx aws.Context, input *GetPartnerAccountInput, opts ...request.Option) (*GetPartnerAccountOutput, error) { + req, out := c.GetPartnerAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceEndpoint = "GetServiceEndpoint" + +// GetServiceEndpointRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceEndpoint 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 GetServiceEndpoint for more information on using the GetServiceEndpoint +// 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 GetServiceEndpointRequest method. +// req, resp := client.GetServiceEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceEndpoint +func (c *IoTWireless) GetServiceEndpointRequest(input *GetServiceEndpointInput) (req *request.Request, output *GetServiceEndpointOutput) { + op := &request.Operation{ + Name: opGetServiceEndpoint, + HTTPMethod: "GET", + HTTPPath: "/service-endpoint", + } + + if input == nil { + input = &GetServiceEndpointInput{} + } + + output = &GetServiceEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceEndpoint API operation for AWS IoT Wireless. +// +// Gets the account-specific endpoint for Configuration and Update Server (CUPS) +// protocol or LoRaWAN Network Server (LNS) connections. +// +// 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 Wireless's +// API operation GetServiceEndpoint for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceEndpoint +func (c *IoTWireless) GetServiceEndpoint(input *GetServiceEndpointInput) (*GetServiceEndpointOutput, error) { + req, out := c.GetServiceEndpointRequest(input) + return out, req.Send() +} + +// GetServiceEndpointWithContext is the same as GetServiceEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceEndpoint 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 *IoTWireless) GetServiceEndpointWithContext(ctx aws.Context, input *GetServiceEndpointInput, opts ...request.Option) (*GetServiceEndpointOutput, error) { + req, out := c.GetServiceEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceProfile = "GetServiceProfile" + +// GetServiceProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceProfile 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 GetServiceProfile for more information on using the GetServiceProfile +// 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 GetServiceProfileRequest method. +// req, resp := client.GetServiceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceProfile +func (c *IoTWireless) GetServiceProfileRequest(input *GetServiceProfileInput) (req *request.Request, output *GetServiceProfileOutput) { + op := &request.Operation{ + Name: opGetServiceProfile, + HTTPMethod: "GET", + HTTPPath: "/service-profiles/{Id}", + } + + if input == nil { + input = &GetServiceProfileInput{} + } + + output = &GetServiceProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceProfile API operation for AWS IoT Wireless. +// +// Gets information about a service profile. +// +// 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 Wireless's +// API operation GetServiceProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceProfile +func (c *IoTWireless) GetServiceProfile(input *GetServiceProfileInput) (*GetServiceProfileOutput, error) { + req, out := c.GetServiceProfileRequest(input) + return out, req.Send() +} + +// GetServiceProfileWithContext is the same as GetServiceProfile with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceProfile 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 *IoTWireless) GetServiceProfileWithContext(ctx aws.Context, input *GetServiceProfileInput, opts ...request.Option) (*GetServiceProfileOutput, error) { + req, out := c.GetServiceProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessDevice = "GetWirelessDevice" + +// GetWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessDevice 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 GetWirelessDevice for more information on using the GetWirelessDevice +// 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 GetWirelessDeviceRequest method. +// req, resp := client.GetWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDevice +func (c *IoTWireless) GetWirelessDeviceRequest(input *GetWirelessDeviceInput) (req *request.Request, output *GetWirelessDeviceOutput) { + op := &request.Operation{ + Name: opGetWirelessDevice, + HTTPMethod: "GET", + HTTPPath: "/wireless-devices/{Identifier}", + } + + if input == nil { + input = &GetWirelessDeviceInput{} + } + + output = &GetWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessDevice API operation for AWS IoT Wireless. +// +// Gets information about a wireless device. +// +// 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 Wireless's +// API operation GetWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDevice +func (c *IoTWireless) GetWirelessDevice(input *GetWirelessDeviceInput) (*GetWirelessDeviceOutput, error) { + req, out := c.GetWirelessDeviceRequest(input) + return out, req.Send() +} + +// GetWirelessDeviceWithContext is the same as GetWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessDevice 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 *IoTWireless) GetWirelessDeviceWithContext(ctx aws.Context, input *GetWirelessDeviceInput, opts ...request.Option) (*GetWirelessDeviceOutput, error) { + req, out := c.GetWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessDeviceStatistics = "GetWirelessDeviceStatistics" + +// GetWirelessDeviceStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessDeviceStatistics 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 GetWirelessDeviceStatistics for more information on using the GetWirelessDeviceStatistics +// 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 GetWirelessDeviceStatisticsRequest method. +// req, resp := client.GetWirelessDeviceStatisticsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDeviceStatistics +func (c *IoTWireless) GetWirelessDeviceStatisticsRequest(input *GetWirelessDeviceStatisticsInput) (req *request.Request, output *GetWirelessDeviceStatisticsOutput) { + op := &request.Operation{ + Name: opGetWirelessDeviceStatistics, + HTTPMethod: "GET", + HTTPPath: "/wireless-devices/{Id}/statistics", + } + + if input == nil { + input = &GetWirelessDeviceStatisticsInput{} + } + + output = &GetWirelessDeviceStatisticsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessDeviceStatistics API operation for AWS IoT Wireless. +// +// Gets operating information about a wireless device. +// +// 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 Wireless's +// API operation GetWirelessDeviceStatistics for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDeviceStatistics +func (c *IoTWireless) GetWirelessDeviceStatistics(input *GetWirelessDeviceStatisticsInput) (*GetWirelessDeviceStatisticsOutput, error) { + req, out := c.GetWirelessDeviceStatisticsRequest(input) + return out, req.Send() +} + +// GetWirelessDeviceStatisticsWithContext is the same as GetWirelessDeviceStatistics with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessDeviceStatistics 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 *IoTWireless) GetWirelessDeviceStatisticsWithContext(ctx aws.Context, input *GetWirelessDeviceStatisticsInput, opts ...request.Option) (*GetWirelessDeviceStatisticsOutput, error) { + req, out := c.GetWirelessDeviceStatisticsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessGateway = "GetWirelessGateway" + +// GetWirelessGatewayRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessGateway 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 GetWirelessGateway for more information on using the GetWirelessGateway +// 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 GetWirelessGatewayRequest method. +// req, resp := client.GetWirelessGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGateway +func (c *IoTWireless) GetWirelessGatewayRequest(input *GetWirelessGatewayInput) (req *request.Request, output *GetWirelessGatewayOutput) { + op := &request.Operation{ + Name: opGetWirelessGateway, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateways/{Identifier}", + } + + if input == nil { + input = &GetWirelessGatewayInput{} + } + + output = &GetWirelessGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessGateway API operation for AWS IoT Wireless. +// +// Gets information about a wireless gateway. +// +// 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 Wireless's +// API operation GetWirelessGateway for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGateway +func (c *IoTWireless) GetWirelessGateway(input *GetWirelessGatewayInput) (*GetWirelessGatewayOutput, error) { + req, out := c.GetWirelessGatewayRequest(input) + return out, req.Send() +} + +// GetWirelessGatewayWithContext is the same as GetWirelessGateway with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessGateway 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 *IoTWireless) GetWirelessGatewayWithContext(ctx aws.Context, input *GetWirelessGatewayInput, opts ...request.Option) (*GetWirelessGatewayOutput, error) { + req, out := c.GetWirelessGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessGatewayCertificate = "GetWirelessGatewayCertificate" + +// GetWirelessGatewayCertificateRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessGatewayCertificate 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 GetWirelessGatewayCertificate for more information on using the GetWirelessGatewayCertificate +// 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 GetWirelessGatewayCertificateRequest method. +// req, resp := client.GetWirelessGatewayCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayCertificate +func (c *IoTWireless) GetWirelessGatewayCertificateRequest(input *GetWirelessGatewayCertificateInput) (req *request.Request, output *GetWirelessGatewayCertificateOutput) { + op := &request.Operation{ + Name: opGetWirelessGatewayCertificate, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateways/{Id}/certificate", + } + + if input == nil { + input = &GetWirelessGatewayCertificateInput{} + } + + output = &GetWirelessGatewayCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessGatewayCertificate API operation for AWS IoT Wireless. +// +// Gets the ID of the certificate that is currently associated with a wireless +// gateway. +// +// 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 Wireless's +// API operation GetWirelessGatewayCertificate for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayCertificate +func (c *IoTWireless) GetWirelessGatewayCertificate(input *GetWirelessGatewayCertificateInput) (*GetWirelessGatewayCertificateOutput, error) { + req, out := c.GetWirelessGatewayCertificateRequest(input) + return out, req.Send() +} + +// GetWirelessGatewayCertificateWithContext is the same as GetWirelessGatewayCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessGatewayCertificate 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 *IoTWireless) GetWirelessGatewayCertificateWithContext(ctx aws.Context, input *GetWirelessGatewayCertificateInput, opts ...request.Option) (*GetWirelessGatewayCertificateOutput, error) { + req, out := c.GetWirelessGatewayCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessGatewayFirmwareInformation = "GetWirelessGatewayFirmwareInformation" + +// GetWirelessGatewayFirmwareInformationRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessGatewayFirmwareInformation 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 GetWirelessGatewayFirmwareInformation for more information on using the GetWirelessGatewayFirmwareInformation +// 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 GetWirelessGatewayFirmwareInformationRequest method. +// req, resp := client.GetWirelessGatewayFirmwareInformationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayFirmwareInformation +func (c *IoTWireless) GetWirelessGatewayFirmwareInformationRequest(input *GetWirelessGatewayFirmwareInformationInput) (req *request.Request, output *GetWirelessGatewayFirmwareInformationOutput) { + op := &request.Operation{ + Name: opGetWirelessGatewayFirmwareInformation, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateways/{Id}/firmware-information", + } + + if input == nil { + input = &GetWirelessGatewayFirmwareInformationInput{} + } + + output = &GetWirelessGatewayFirmwareInformationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessGatewayFirmwareInformation API operation for AWS IoT Wireless. +// +// Gets the firmware version and other information about a wireless gateway. +// +// 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 Wireless's +// API operation GetWirelessGatewayFirmwareInformation for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayFirmwareInformation +func (c *IoTWireless) GetWirelessGatewayFirmwareInformation(input *GetWirelessGatewayFirmwareInformationInput) (*GetWirelessGatewayFirmwareInformationOutput, error) { + req, out := c.GetWirelessGatewayFirmwareInformationRequest(input) + return out, req.Send() +} + +// GetWirelessGatewayFirmwareInformationWithContext is the same as GetWirelessGatewayFirmwareInformation with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessGatewayFirmwareInformation 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 *IoTWireless) GetWirelessGatewayFirmwareInformationWithContext(ctx aws.Context, input *GetWirelessGatewayFirmwareInformationInput, opts ...request.Option) (*GetWirelessGatewayFirmwareInformationOutput, error) { + req, out := c.GetWirelessGatewayFirmwareInformationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessGatewayStatistics = "GetWirelessGatewayStatistics" + +// GetWirelessGatewayStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessGatewayStatistics 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 GetWirelessGatewayStatistics for more information on using the GetWirelessGatewayStatistics +// 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 GetWirelessGatewayStatisticsRequest method. +// req, resp := client.GetWirelessGatewayStatisticsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayStatistics +func (c *IoTWireless) GetWirelessGatewayStatisticsRequest(input *GetWirelessGatewayStatisticsInput) (req *request.Request, output *GetWirelessGatewayStatisticsOutput) { + op := &request.Operation{ + Name: opGetWirelessGatewayStatistics, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateways/{Id}/statistics", + } + + if input == nil { + input = &GetWirelessGatewayStatisticsInput{} + } + + output = &GetWirelessGatewayStatisticsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessGatewayStatistics API operation for AWS IoT Wireless. +// +// Gets operating information about a wireless gateway. +// +// 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 Wireless's +// API operation GetWirelessGatewayStatistics for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayStatistics +func (c *IoTWireless) GetWirelessGatewayStatistics(input *GetWirelessGatewayStatisticsInput) (*GetWirelessGatewayStatisticsOutput, error) { + req, out := c.GetWirelessGatewayStatisticsRequest(input) + return out, req.Send() +} + +// GetWirelessGatewayStatisticsWithContext is the same as GetWirelessGatewayStatistics with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessGatewayStatistics 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 *IoTWireless) GetWirelessGatewayStatisticsWithContext(ctx aws.Context, input *GetWirelessGatewayStatisticsInput, opts ...request.Option) (*GetWirelessGatewayStatisticsOutput, error) { + req, out := c.GetWirelessGatewayStatisticsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessGatewayTask = "GetWirelessGatewayTask" + +// GetWirelessGatewayTaskRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessGatewayTask 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 GetWirelessGatewayTask for more information on using the GetWirelessGatewayTask +// 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 GetWirelessGatewayTaskRequest method. +// req, resp := client.GetWirelessGatewayTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTask +func (c *IoTWireless) GetWirelessGatewayTaskRequest(input *GetWirelessGatewayTaskInput) (req *request.Request, output *GetWirelessGatewayTaskOutput) { + op := &request.Operation{ + Name: opGetWirelessGatewayTask, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateways/{Id}/tasks", + } + + if input == nil { + input = &GetWirelessGatewayTaskInput{} + } + + output = &GetWirelessGatewayTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessGatewayTask API operation for AWS IoT Wireless. +// +// Gets information about a wireless gateway task. +// +// 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 Wireless's +// API operation GetWirelessGatewayTask for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTask +func (c *IoTWireless) GetWirelessGatewayTask(input *GetWirelessGatewayTaskInput) (*GetWirelessGatewayTaskOutput, error) { + req, out := c.GetWirelessGatewayTaskRequest(input) + return out, req.Send() +} + +// GetWirelessGatewayTaskWithContext is the same as GetWirelessGatewayTask with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessGatewayTask 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 *IoTWireless) GetWirelessGatewayTaskWithContext(ctx aws.Context, input *GetWirelessGatewayTaskInput, opts ...request.Option) (*GetWirelessGatewayTaskOutput, error) { + req, out := c.GetWirelessGatewayTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWirelessGatewayTaskDefinition = "GetWirelessGatewayTaskDefinition" + +// GetWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the GetWirelessGatewayTaskDefinition 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 GetWirelessGatewayTaskDefinition for more information on using the GetWirelessGatewayTaskDefinition +// 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 GetWirelessGatewayTaskDefinitionRequest method. +// req, resp := client.GetWirelessGatewayTaskDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTaskDefinition +func (c *IoTWireless) GetWirelessGatewayTaskDefinitionRequest(input *GetWirelessGatewayTaskDefinitionInput) (req *request.Request, output *GetWirelessGatewayTaskDefinitionOutput) { + op := &request.Operation{ + Name: opGetWirelessGatewayTaskDefinition, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateway-task-definitions/{Id}", + } + + if input == nil { + input = &GetWirelessGatewayTaskDefinitionInput{} + } + + output = &GetWirelessGatewayTaskDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWirelessGatewayTaskDefinition API operation for AWS IoT Wireless. +// +// Gets information about a wireless gateway task definition. +// +// 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 Wireless's +// API operation GetWirelessGatewayTaskDefinition for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTaskDefinition +func (c *IoTWireless) GetWirelessGatewayTaskDefinition(input *GetWirelessGatewayTaskDefinitionInput) (*GetWirelessGatewayTaskDefinitionOutput, error) { + req, out := c.GetWirelessGatewayTaskDefinitionRequest(input) + return out, req.Send() +} + +// GetWirelessGatewayTaskDefinitionWithContext is the same as GetWirelessGatewayTaskDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See GetWirelessGatewayTaskDefinition 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 *IoTWireless) GetWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *GetWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*GetWirelessGatewayTaskDefinitionOutput, error) { + req, out := c.GetWirelessGatewayTaskDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDestinations = "ListDestinations" + +// ListDestinationsRequest generates a "aws/request.Request" representing the +// client's request for the ListDestinations 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 ListDestinations for more information on using the ListDestinations +// 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 ListDestinationsRequest method. +// req, resp := client.ListDestinationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDestinations +func (c *IoTWireless) ListDestinationsRequest(input *ListDestinationsInput) (req *request.Request, output *ListDestinationsOutput) { + op := &request.Operation{ + Name: opListDestinations, + HTTPMethod: "GET", + HTTPPath: "/destinations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDestinationsInput{} + } + + output = &ListDestinationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDestinations API operation for AWS IoT Wireless. +// +// Lists the destinations registered to your AWS 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 Wireless's +// API operation ListDestinations for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDestinations +func (c *IoTWireless) ListDestinations(input *ListDestinationsInput) (*ListDestinationsOutput, error) { + req, out := c.ListDestinationsRequest(input) + return out, req.Send() +} + +// ListDestinationsWithContext is the same as ListDestinations with the addition of +// the ability to pass a context and additional request options. +// +// See ListDestinations 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 *IoTWireless) ListDestinationsWithContext(ctx aws.Context, input *ListDestinationsInput, opts ...request.Option) (*ListDestinationsOutput, error) { + req, out := c.ListDestinationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDestinationsPages iterates over the pages of a ListDestinations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDestinations 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 ListDestinations operation. +// pageNum := 0 +// err := client.ListDestinationsPages(params, +// func(page *iotwireless.ListDestinationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTWireless) ListDestinationsPages(input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool) error { + return c.ListDestinationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDestinationsPagesWithContext same as ListDestinationsPages 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 *IoTWireless) ListDestinationsPagesWithContext(ctx aws.Context, input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDestinationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDestinationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDestinationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDeviceProfiles = "ListDeviceProfiles" + +// ListDeviceProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListDeviceProfiles 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 ListDeviceProfiles for more information on using the ListDeviceProfiles +// 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 ListDeviceProfilesRequest method. +// req, resp := client.ListDeviceProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDeviceProfiles +func (c *IoTWireless) ListDeviceProfilesRequest(input *ListDeviceProfilesInput) (req *request.Request, output *ListDeviceProfilesOutput) { + op := &request.Operation{ + Name: opListDeviceProfiles, + HTTPMethod: "GET", + HTTPPath: "/device-profiles", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDeviceProfilesInput{} + } + + output = &ListDeviceProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDeviceProfiles API operation for AWS IoT Wireless. +// +// Lists the device profiles registered to your AWS 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 Wireless's +// API operation ListDeviceProfiles for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDeviceProfiles +func (c *IoTWireless) ListDeviceProfiles(input *ListDeviceProfilesInput) (*ListDeviceProfilesOutput, error) { + req, out := c.ListDeviceProfilesRequest(input) + return out, req.Send() +} + +// ListDeviceProfilesWithContext is the same as ListDeviceProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See ListDeviceProfiles 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 *IoTWireless) ListDeviceProfilesWithContext(ctx aws.Context, input *ListDeviceProfilesInput, opts ...request.Option) (*ListDeviceProfilesOutput, error) { + req, out := c.ListDeviceProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDeviceProfilesPages iterates over the pages of a ListDeviceProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeviceProfiles 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 ListDeviceProfiles operation. +// pageNum := 0 +// err := client.ListDeviceProfilesPages(params, +// func(page *iotwireless.ListDeviceProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTWireless) ListDeviceProfilesPages(input *ListDeviceProfilesInput, fn func(*ListDeviceProfilesOutput, bool) bool) error { + return c.ListDeviceProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDeviceProfilesPagesWithContext same as ListDeviceProfilesPages 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 *IoTWireless) ListDeviceProfilesPagesWithContext(ctx aws.Context, input *ListDeviceProfilesInput, fn func(*ListDeviceProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDeviceProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDeviceProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDeviceProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPartnerAccounts = "ListPartnerAccounts" + +// ListPartnerAccountsRequest generates a "aws/request.Request" representing the +// client's request for the ListPartnerAccounts 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 ListPartnerAccounts for more information on using the ListPartnerAccounts +// 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 ListPartnerAccountsRequest method. +// req, resp := client.ListPartnerAccountsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListPartnerAccounts +func (c *IoTWireless) ListPartnerAccountsRequest(input *ListPartnerAccountsInput) (req *request.Request, output *ListPartnerAccountsOutput) { + op := &request.Operation{ + Name: opListPartnerAccounts, + HTTPMethod: "GET", + HTTPPath: "/partner-accounts", + } + + if input == nil { + input = &ListPartnerAccountsInput{} + } + + output = &ListPartnerAccountsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPartnerAccounts API operation for AWS IoT Wireless. +// +// Lists the partner accounts associated with your AWS 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 Wireless's +// API operation ListPartnerAccounts for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListPartnerAccounts +func (c *IoTWireless) ListPartnerAccounts(input *ListPartnerAccountsInput) (*ListPartnerAccountsOutput, error) { + req, out := c.ListPartnerAccountsRequest(input) + return out, req.Send() +} + +// ListPartnerAccountsWithContext is the same as ListPartnerAccounts with the addition of +// the ability to pass a context and additional request options. +// +// See ListPartnerAccounts 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 *IoTWireless) ListPartnerAccountsWithContext(ctx aws.Context, input *ListPartnerAccountsInput, opts ...request.Option) (*ListPartnerAccountsOutput, error) { + req, out := c.ListPartnerAccountsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListServiceProfiles = "ListServiceProfiles" + +// ListServiceProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListServiceProfiles 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 ListServiceProfiles for more information on using the ListServiceProfiles +// 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 ListServiceProfilesRequest method. +// req, resp := client.ListServiceProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListServiceProfiles +func (c *IoTWireless) ListServiceProfilesRequest(input *ListServiceProfilesInput) (req *request.Request, output *ListServiceProfilesOutput) { + op := &request.Operation{ + Name: opListServiceProfiles, + HTTPMethod: "GET", + HTTPPath: "/service-profiles", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListServiceProfilesInput{} + } + + output = &ListServiceProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListServiceProfiles API operation for AWS IoT Wireless. +// +// Lists the service profiles registered to your AWS 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 Wireless's +// API operation ListServiceProfiles for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListServiceProfiles +func (c *IoTWireless) ListServiceProfiles(input *ListServiceProfilesInput) (*ListServiceProfilesOutput, error) { + req, out := c.ListServiceProfilesRequest(input) + return out, req.Send() +} + +// ListServiceProfilesWithContext is the same as ListServiceProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See ListServiceProfiles 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 *IoTWireless) ListServiceProfilesWithContext(ctx aws.Context, input *ListServiceProfilesInput, opts ...request.Option) (*ListServiceProfilesOutput, error) { + req, out := c.ListServiceProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListServiceProfilesPages iterates over the pages of a ListServiceProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListServiceProfiles 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 ListServiceProfiles operation. +// pageNum := 0 +// err := client.ListServiceProfilesPages(params, +// func(page *iotwireless.ListServiceProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTWireless) ListServiceProfilesPages(input *ListServiceProfilesInput, fn func(*ListServiceProfilesOutput, bool) bool) error { + return c.ListServiceProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListServiceProfilesPagesWithContext same as ListServiceProfilesPages 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 *IoTWireless) ListServiceProfilesPagesWithContext(ctx aws.Context, input *ListServiceProfilesInput, fn func(*ListServiceProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListServiceProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListServiceProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListServiceProfilesOutput), !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 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 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/iotwireless-2020-11-22/ListTagsForResource +func (c *IoTWireless) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS IoT Wireless. +// +// Lists the tags (metadata) you have assigned to the 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 Wireless's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListTagsForResource +func (c *IoTWireless) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource 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. +// +// 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 *IoTWireless) 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 opListWirelessDevices = "ListWirelessDevices" + +// ListWirelessDevicesRequest generates a "aws/request.Request" representing the +// client's request for the ListWirelessDevices 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 ListWirelessDevices for more information on using the ListWirelessDevices +// 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 ListWirelessDevicesRequest method. +// req, resp := client.ListWirelessDevicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessDevices +func (c *IoTWireless) ListWirelessDevicesRequest(input *ListWirelessDevicesInput) (req *request.Request, output *ListWirelessDevicesOutput) { + op := &request.Operation{ + Name: opListWirelessDevices, + HTTPMethod: "GET", + HTTPPath: "/wireless-devices", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWirelessDevicesInput{} + } + + output = &ListWirelessDevicesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWirelessDevices API operation for AWS IoT Wireless. +// +// Lists the wireless devices registered to your AWS 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 Wireless's +// API operation ListWirelessDevices for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessDevices +func (c *IoTWireless) ListWirelessDevices(input *ListWirelessDevicesInput) (*ListWirelessDevicesOutput, error) { + req, out := c.ListWirelessDevicesRequest(input) + return out, req.Send() +} + +// ListWirelessDevicesWithContext is the same as ListWirelessDevices with the addition of +// the ability to pass a context and additional request options. +// +// See ListWirelessDevices 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 *IoTWireless) ListWirelessDevicesWithContext(ctx aws.Context, input *ListWirelessDevicesInput, opts ...request.Option) (*ListWirelessDevicesOutput, error) { + req, out := c.ListWirelessDevicesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWirelessDevicesPages iterates over the pages of a ListWirelessDevices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWirelessDevices 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 ListWirelessDevices operation. +// pageNum := 0 +// err := client.ListWirelessDevicesPages(params, +// func(page *iotwireless.ListWirelessDevicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTWireless) ListWirelessDevicesPages(input *ListWirelessDevicesInput, fn func(*ListWirelessDevicesOutput, bool) bool) error { + return c.ListWirelessDevicesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWirelessDevicesPagesWithContext same as ListWirelessDevicesPages 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 *IoTWireless) ListWirelessDevicesPagesWithContext(ctx aws.Context, input *ListWirelessDevicesInput, fn func(*ListWirelessDevicesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWirelessDevicesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWirelessDevicesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWirelessDevicesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWirelessGatewayTaskDefinitions = "ListWirelessGatewayTaskDefinitions" + +// ListWirelessGatewayTaskDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the ListWirelessGatewayTaskDefinitions 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 ListWirelessGatewayTaskDefinitions for more information on using the ListWirelessGatewayTaskDefinitions +// 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 ListWirelessGatewayTaskDefinitionsRequest method. +// req, resp := client.ListWirelessGatewayTaskDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGatewayTaskDefinitions +func (c *IoTWireless) ListWirelessGatewayTaskDefinitionsRequest(input *ListWirelessGatewayTaskDefinitionsInput) (req *request.Request, output *ListWirelessGatewayTaskDefinitionsOutput) { + op := &request.Operation{ + Name: opListWirelessGatewayTaskDefinitions, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateway-task-definitions", + } + + if input == nil { + input = &ListWirelessGatewayTaskDefinitionsInput{} + } + + output = &ListWirelessGatewayTaskDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWirelessGatewayTaskDefinitions API operation for AWS IoT Wireless. +// +// List the wireless gateway tasks definitions registered to your AWS 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 Wireless's +// API operation ListWirelessGatewayTaskDefinitions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGatewayTaskDefinitions +func (c *IoTWireless) ListWirelessGatewayTaskDefinitions(input *ListWirelessGatewayTaskDefinitionsInput) (*ListWirelessGatewayTaskDefinitionsOutput, error) { + req, out := c.ListWirelessGatewayTaskDefinitionsRequest(input) + return out, req.Send() +} + +// ListWirelessGatewayTaskDefinitionsWithContext is the same as ListWirelessGatewayTaskDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See ListWirelessGatewayTaskDefinitions 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 *IoTWireless) ListWirelessGatewayTaskDefinitionsWithContext(ctx aws.Context, input *ListWirelessGatewayTaskDefinitionsInput, opts ...request.Option) (*ListWirelessGatewayTaskDefinitionsOutput, error) { + req, out := c.ListWirelessGatewayTaskDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListWirelessGateways = "ListWirelessGateways" + +// ListWirelessGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the ListWirelessGateways 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 ListWirelessGateways for more information on using the ListWirelessGateways +// 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 ListWirelessGatewaysRequest method. +// req, resp := client.ListWirelessGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGateways +func (c *IoTWireless) ListWirelessGatewaysRequest(input *ListWirelessGatewaysInput) (req *request.Request, output *ListWirelessGatewaysOutput) { + op := &request.Operation{ + Name: opListWirelessGateways, + HTTPMethod: "GET", + HTTPPath: "/wireless-gateways", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWirelessGatewaysInput{} + } + + output = &ListWirelessGatewaysOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWirelessGateways API operation for AWS IoT Wireless. +// +// Lists the wireless gateways registered to your AWS 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 Wireless's +// API operation ListWirelessGateways for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGateways +func (c *IoTWireless) ListWirelessGateways(input *ListWirelessGatewaysInput) (*ListWirelessGatewaysOutput, error) { + req, out := c.ListWirelessGatewaysRequest(input) + return out, req.Send() +} + +// ListWirelessGatewaysWithContext is the same as ListWirelessGateways with the addition of +// the ability to pass a context and additional request options. +// +// See ListWirelessGateways 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 *IoTWireless) ListWirelessGatewaysWithContext(ctx aws.Context, input *ListWirelessGatewaysInput, opts ...request.Option) (*ListWirelessGatewaysOutput, error) { + req, out := c.ListWirelessGatewaysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWirelessGatewaysPages iterates over the pages of a ListWirelessGateways operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWirelessGateways 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 ListWirelessGateways operation. +// pageNum := 0 +// err := client.ListWirelessGatewaysPages(params, +// func(page *iotwireless.ListWirelessGatewaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTWireless) ListWirelessGatewaysPages(input *ListWirelessGatewaysInput, fn func(*ListWirelessGatewaysOutput, bool) bool) error { + return c.ListWirelessGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWirelessGatewaysPagesWithContext same as ListWirelessGatewaysPages 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 *IoTWireless) ListWirelessGatewaysPagesWithContext(ctx aws.Context, input *ListWirelessGatewaysInput, fn func(*ListWirelessGatewaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWirelessGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWirelessGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWirelessGatewaysOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSendDataToWirelessDevice = "SendDataToWirelessDevice" + +// SendDataToWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the SendDataToWirelessDevice 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 SendDataToWirelessDevice for more information on using the SendDataToWirelessDevice +// 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 SendDataToWirelessDeviceRequest method. +// req, resp := client.SendDataToWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice +func (c *IoTWireless) SendDataToWirelessDeviceRequest(input *SendDataToWirelessDeviceInput) (req *request.Request, output *SendDataToWirelessDeviceOutput) { + op := &request.Operation{ + Name: opSendDataToWirelessDevice, + HTTPMethod: "POST", + HTTPPath: "/wireless-devices/{Id}/data", + } + + if input == nil { + input = &SendDataToWirelessDeviceInput{} + } + + output = &SendDataToWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendDataToWirelessDevice API operation for AWS IoT Wireless. +// +// Sends a decrypted application data frame to a device. +// +// 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 Wireless's +// API operation SendDataToWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice +func (c *IoTWireless) SendDataToWirelessDevice(input *SendDataToWirelessDeviceInput) (*SendDataToWirelessDeviceOutput, error) { + req, out := c.SendDataToWirelessDeviceRequest(input) + return out, req.Send() +} + +// SendDataToWirelessDeviceWithContext is the same as SendDataToWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See SendDataToWirelessDevice 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 *IoTWireless) SendDataToWirelessDeviceWithContext(ctx aws.Context, input *SendDataToWirelessDeviceInput, opts ...request.Option) (*SendDataToWirelessDeviceOutput, error) { + req, out := c.SendDataToWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +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 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 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/iotwireless-2020-11-22/TagResource +func (c *IoTWireless) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS IoT Wireless. +// +// Adds a tag 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 Wireless's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * TooManyTagsException +// The request was denied because the resource can't have any more tags. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource +func (c *IoTWireless) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource 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. +// +// 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 *IoTWireless) 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 opTestWirelessDevice = "TestWirelessDevice" + +// TestWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the TestWirelessDevice 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 TestWirelessDevice for more information on using the TestWirelessDevice +// 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 TestWirelessDeviceRequest method. +// req, resp := client.TestWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice +func (c *IoTWireless) TestWirelessDeviceRequest(input *TestWirelessDeviceInput) (req *request.Request, output *TestWirelessDeviceOutput) { + op := &request.Operation{ + Name: opTestWirelessDevice, + HTTPMethod: "POST", + HTTPPath: "/wireless-devices/{Id}/test", + } + + if input == nil { + input = &TestWirelessDeviceInput{} + } + + output = &TestWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// TestWirelessDevice API operation for AWS IoT Wireless. +// +// Simulates a provisioned device by sending an uplink data payload of Hello. +// +// 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 Wireless's +// API operation TestWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice +func (c *IoTWireless) TestWirelessDevice(input *TestWirelessDeviceInput) (*TestWirelessDeviceOutput, error) { + req, out := c.TestWirelessDeviceRequest(input) + return out, req.Send() +} + +// TestWirelessDeviceWithContext is the same as TestWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See TestWirelessDevice 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 *IoTWireless) TestWirelessDeviceWithContext(ctx aws.Context, input *TestWirelessDeviceInput, opts ...request.Option) (*TestWirelessDeviceOutput, error) { + req, out := c.TestWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// 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 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 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/iotwireless-2020-11-22/UntagResource +func (c *IoTWireless) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS IoT Wireless. +// +// Removes one or more 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 Wireless's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource +func (c *IoTWireless) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource 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. +// +// 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 *IoTWireless) 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 opUpdateDestination = "UpdateDestination" + +// UpdateDestinationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDestination 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 UpdateDestination for more information on using the UpdateDestination +// 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 UpdateDestinationRequest method. +// req, resp := client.UpdateDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination +func (c *IoTWireless) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) { + op := &request.Operation{ + Name: opUpdateDestination, + HTTPMethod: "PATCH", + HTTPPath: "/destinations/{Name}", + } + + if input == nil { + input = &UpdateDestinationInput{} + } + + output = &UpdateDestinationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDestination API operation for AWS IoT Wireless. +// +// Updates properties of a destination. +// +// 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 Wireless's +// API operation UpdateDestination for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination +func (c *IoTWireless) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) { + req, out := c.UpdateDestinationRequest(input) + return out, req.Send() +} + +// UpdateDestinationWithContext is the same as UpdateDestination with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDestination 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 *IoTWireless) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) { + req, out := c.UpdateDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePartnerAccount = "UpdatePartnerAccount" + +// UpdatePartnerAccountRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePartnerAccount 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 UpdatePartnerAccount for more information on using the UpdatePartnerAccount +// 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 UpdatePartnerAccountRequest method. +// req, resp := client.UpdatePartnerAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdatePartnerAccount +func (c *IoTWireless) UpdatePartnerAccountRequest(input *UpdatePartnerAccountInput) (req *request.Request, output *UpdatePartnerAccountOutput) { + op := &request.Operation{ + Name: opUpdatePartnerAccount, + HTTPMethod: "PATCH", + HTTPPath: "/partner-accounts/{PartnerAccountId}", + } + + if input == nil { + input = &UpdatePartnerAccountInput{} + } + + output = &UpdatePartnerAccountOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdatePartnerAccount API operation for AWS IoT Wireless. +// +// Updates properties of a partner 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 Wireless's +// API operation UpdatePartnerAccount for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdatePartnerAccount +func (c *IoTWireless) UpdatePartnerAccount(input *UpdatePartnerAccountInput) (*UpdatePartnerAccountOutput, error) { + req, out := c.UpdatePartnerAccountRequest(input) + return out, req.Send() +} + +// UpdatePartnerAccountWithContext is the same as UpdatePartnerAccount with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePartnerAccount 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 *IoTWireless) UpdatePartnerAccountWithContext(ctx aws.Context, input *UpdatePartnerAccountInput, opts ...request.Option) (*UpdatePartnerAccountOutput, error) { + req, out := c.UpdatePartnerAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWirelessDevice = "UpdateWirelessDevice" + +// UpdateWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWirelessDevice 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 UpdateWirelessDevice for more information on using the UpdateWirelessDevice +// 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 UpdateWirelessDeviceRequest method. +// req, resp := client.UpdateWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessDevice +func (c *IoTWireless) UpdateWirelessDeviceRequest(input *UpdateWirelessDeviceInput) (req *request.Request, output *UpdateWirelessDeviceOutput) { + op := &request.Operation{ + Name: opUpdateWirelessDevice, + HTTPMethod: "PATCH", + HTTPPath: "/wireless-devices/{Id}", + } + + if input == nil { + input = &UpdateWirelessDeviceInput{} + } + + output = &UpdateWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateWirelessDevice API operation for AWS IoT Wireless. +// +// Updates properties of a wireless device. +// +// 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 Wireless's +// API operation UpdateWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessDevice +func (c *IoTWireless) UpdateWirelessDevice(input *UpdateWirelessDeviceInput) (*UpdateWirelessDeviceOutput, error) { + req, out := c.UpdateWirelessDeviceRequest(input) + return out, req.Send() +} + +// UpdateWirelessDeviceWithContext is the same as UpdateWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWirelessDevice 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 *IoTWireless) UpdateWirelessDeviceWithContext(ctx aws.Context, input *UpdateWirelessDeviceInput, opts ...request.Option) (*UpdateWirelessDeviceOutput, error) { + req, out := c.UpdateWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWirelessGateway = "UpdateWirelessGateway" + +// UpdateWirelessGatewayRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWirelessGateway 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 UpdateWirelessGateway for more information on using the UpdateWirelessGateway +// 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 UpdateWirelessGatewayRequest method. +// req, resp := client.UpdateWirelessGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessGateway +func (c *IoTWireless) UpdateWirelessGatewayRequest(input *UpdateWirelessGatewayInput) (req *request.Request, output *UpdateWirelessGatewayOutput) { + op := &request.Operation{ + Name: opUpdateWirelessGateway, + HTTPMethod: "PATCH", + HTTPPath: "/wireless-gateways/{Id}", + } + + if input == nil { + input = &UpdateWirelessGatewayInput{} + } + + output = &UpdateWirelessGatewayOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateWirelessGateway API operation for AWS IoT Wireless. +// +// Updates properties of a wireless gateway. +// +// 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 Wireless's +// API operation UpdateWirelessGateway for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessGateway +func (c *IoTWireless) UpdateWirelessGateway(input *UpdateWirelessGatewayInput) (*UpdateWirelessGatewayOutput, error) { + req, out := c.UpdateWirelessGatewayRequest(input) + return out, req.Send() +} + +// UpdateWirelessGatewayWithContext is the same as UpdateWirelessGateway with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWirelessGateway 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 *IoTWireless) UpdateWirelessGatewayWithContext(ctx aws.Context, input *UpdateWirelessGatewayInput, opts ...request.Option) (*UpdateWirelessGatewayOutput, error) { + req, out := c.UpdateWirelessGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ABP device object for LoRaWAN specification v1.0.x +type AbpV10X struct { + _ struct{} `type:"structure"` + + // The DevAddr value. + DevAddr *string `type:"string"` + + // Session keys for ABP v1.0.x + SessionKeys *SessionKeysAbpV10X `type:"structure"` +} + +// String returns the string representation +func (s AbpV10X) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AbpV10X) GoString() string { + return s.String() +} + +// SetDevAddr sets the DevAddr field's value. +func (s *AbpV10X) SetDevAddr(v string) *AbpV10X { + s.DevAddr = &v + return s +} + +// SetSessionKeys sets the SessionKeys field's value. +func (s *AbpV10X) SetSessionKeys(v *SessionKeysAbpV10X) *AbpV10X { + s.SessionKeys = v + return s +} + +// ABP device object for LoRaWAN specification v1.1 +type AbpV11 struct { + _ struct{} `type:"structure"` + + // The DevAddr value. + DevAddr *string `type:"string"` + + // Session keys for ABP v1.1 + SessionKeys *SessionKeysAbpV11 `type:"structure"` +} + +// String returns the string representation +func (s AbpV11) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AbpV11) GoString() string { + return s.String() +} + +// SetDevAddr sets the DevAddr field's value. +func (s *AbpV11) SetDevAddr(v string) *AbpV11 { + s.DevAddr = &v + return s +} + +// SetSessionKeys sets the SessionKeys field's value. +func (s *AbpV11) SetSessionKeys(v *SessionKeysAbpV11) *AbpV11 { + s.SessionKeys = v + return s +} + +// User does not have permission to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +type AssociateAwsAccountWithPartnerAccountInput struct { + _ struct{} `type:"structure"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The Sidewalk account credentials. + // + // Sidewalk is a required field + Sidewalk *SidewalkAccountInfo `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AssociateAwsAccountWithPartnerAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateAwsAccountWithPartnerAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateAwsAccountWithPartnerAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateAwsAccountWithPartnerAccountInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Sidewalk == nil { + invalidParams.Add(request.NewErrParamRequired("Sidewalk")) + } + if s.Sidewalk != nil { + if err := s.Sidewalk.Validate(); err != nil { + invalidParams.AddNested("Sidewalk", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *AssociateAwsAccountWithPartnerAccountInput) SetClientRequestToken(v string) *AssociateAwsAccountWithPartnerAccountInput { + s.ClientRequestToken = &v + return s +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *AssociateAwsAccountWithPartnerAccountInput) SetSidewalk(v *SidewalkAccountInfo) *AssociateAwsAccountWithPartnerAccountInput { + s.Sidewalk = v + return s +} + +type AssociateAwsAccountWithPartnerAccountOutput struct { + _ struct{} `type:"structure"` + + // The Sidewalk account credentials. + Sidewalk *SidewalkAccountInfo `type:"structure"` +} + +// String returns the string representation +func (s AssociateAwsAccountWithPartnerAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateAwsAccountWithPartnerAccountOutput) GoString() string { + return s.String() +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *AssociateAwsAccountWithPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfo) *AssociateAwsAccountWithPartnerAccountOutput { + s.Sidewalk = v + return s +} + +type AssociateWirelessDeviceWithThingInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The ARN of the thing to associate with the wireless device. + // + // ThingArn is a required field + ThingArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateWirelessDeviceWithThingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWirelessDeviceWithThingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateWirelessDeviceWithThingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessDeviceWithThingInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.ThingArn == nil { + invalidParams.Add(request.NewErrParamRequired("ThingArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *AssociateWirelessDeviceWithThingInput) SetId(v string) *AssociateWirelessDeviceWithThingInput { + s.Id = &v + return s +} + +// SetThingArn sets the ThingArn field's value. +func (s *AssociateWirelessDeviceWithThingInput) SetThingArn(v string) *AssociateWirelessDeviceWithThingInput { + s.ThingArn = &v + return s +} + +type AssociateWirelessDeviceWithThingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateWirelessDeviceWithThingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWirelessDeviceWithThingOutput) GoString() string { + return s.String() +} + +type AssociateWirelessGatewayWithCertificateInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The ID of the certificate to associate with the wireless gateway. + // + // IotCertificateId is a required field + IotCertificateId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateWirelessGatewayWithCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWirelessGatewayWithCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateWirelessGatewayWithCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessGatewayWithCertificateInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.IotCertificateId == nil { + invalidParams.Add(request.NewErrParamRequired("IotCertificateId")) + } + if s.IotCertificateId != nil && len(*s.IotCertificateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IotCertificateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *AssociateWirelessGatewayWithCertificateInput) SetId(v string) *AssociateWirelessGatewayWithCertificateInput { + s.Id = &v + return s +} + +// SetIotCertificateId sets the IotCertificateId field's value. +func (s *AssociateWirelessGatewayWithCertificateInput) SetIotCertificateId(v string) *AssociateWirelessGatewayWithCertificateInput { + s.IotCertificateId = &v + return s +} + +type AssociateWirelessGatewayWithCertificateOutput struct { + _ struct{} `type:"structure"` + + // The ID of the certificate associated with the wireless gateway. + IotCertificateId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AssociateWirelessGatewayWithCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWirelessGatewayWithCertificateOutput) GoString() string { + return s.String() +} + +// SetIotCertificateId sets the IotCertificateId field's value. +func (s *AssociateWirelessGatewayWithCertificateOutput) SetIotCertificateId(v string) *AssociateWirelessGatewayWithCertificateOutput { + s.IotCertificateId = &v + return s +} + +type AssociateWirelessGatewayWithThingInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The ARN of the thing to associate with the wireless gateway. + // + // ThingArn is a required field + ThingArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateWirelessGatewayWithThingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWirelessGatewayWithThingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateWirelessGatewayWithThingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessGatewayWithThingInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.ThingArn == nil { + invalidParams.Add(request.NewErrParamRequired("ThingArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *AssociateWirelessGatewayWithThingInput) SetId(v string) *AssociateWirelessGatewayWithThingInput { + s.Id = &v + return s +} + +// SetThingArn sets the ThingArn field's value. +func (s *AssociateWirelessGatewayWithThingInput) SetThingArn(v string) *AssociateWirelessGatewayWithThingInput { + s.ThingArn = &v + return s +} + +type AssociateWirelessGatewayWithThingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateWirelessGatewayWithThingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWirelessGatewayWithThingOutput) GoString() string { + return s.String() +} + +// Adding, updating, or deleting the resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + ResourceId *string `type:"string"` + + ResourceType *string `type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 CreateDestinationInput struct { + _ struct{} `type:"structure"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The description of the new resource. + Description *string `type:"string"` + + // The rule name or topic rule to send messages to. + // + // Expression is a required field + Expression *string `type:"string" required:"true"` + + // The type of value in Expression. + // + // ExpressionType is a required field + ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"` + + // The name of the new resource. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The ARN of the IAM Role that authorizes the destination. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The tags to attach to the new destination. Tags are metadata that can be + // used to manage a resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDestinationInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.ExpressionType == nil { + invalidParams.Add(request.NewErrParamRequired("ExpressionType")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateDestinationInput) SetClientRequestToken(v string) *CreateDestinationInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateDestinationInput) SetDescription(v string) *CreateDestinationInput { + s.Description = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *CreateDestinationInput) SetExpression(v string) *CreateDestinationInput { + s.Expression = &v + return s +} + +// SetExpressionType sets the ExpressionType field's value. +func (s *CreateDestinationInput) SetExpressionType(v string) *CreateDestinationInput { + s.ExpressionType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDestinationInput) SetName(v string) *CreateDestinationInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDestinationInput) SetRoleArn(v string) *CreateDestinationInput { + s.RoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDestinationInput) SetTags(v []*Tag) *CreateDestinationInput { + s.Tags = v + return s +} + +type CreateDestinationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the new resource. + Arn *string `type:"string"` + + // The name of the new resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s CreateDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDestinationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDestinationOutput) SetArn(v string) *CreateDestinationOutput { + s.Arn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDestinationOutput) SetName(v string) *CreateDestinationOutput { + s.Name = &v + return s +} + +type CreateDeviceProfileInput struct { + _ struct{} `type:"structure"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The device profile information to use to create the device profile. + LoRaWAN *LoRaWANDeviceProfile `type:"structure"` + + // The name of the new resource. + Name *string `type:"string"` + + // The tags to attach to the new device profile Tags are metadata that can be + // used to manage a resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateDeviceProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeviceProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDeviceProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDeviceProfileInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.LoRaWAN != nil { + if err := s.LoRaWAN.Validate(); err != nil { + invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateDeviceProfileInput) SetClientRequestToken(v string) *CreateDeviceProfileInput { + s.ClientRequestToken = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *CreateDeviceProfileInput) SetLoRaWAN(v *LoRaWANDeviceProfile) *CreateDeviceProfileInput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDeviceProfileInput) SetName(v string) *CreateDeviceProfileInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDeviceProfileInput) SetTags(v []*Tag) *CreateDeviceProfileInput { + s.Tags = v + return s +} + +type CreateDeviceProfileOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the new resource. + Arn *string `type:"string"` + + // The ID of the new device profile. + Id *string `type:"string"` +} + +// String returns the string representation +func (s CreateDeviceProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeviceProfileOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDeviceProfileOutput) SetArn(v string) *CreateDeviceProfileOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateDeviceProfileOutput) SetId(v string) *CreateDeviceProfileOutput { + s.Id = &v + return s +} + +type CreateServiceProfileInput struct { + _ struct{} `type:"structure"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The service profile information to use to create the service profile. + LoRaWAN *LoRaWANServiceProfile `type:"structure"` + + // The name of the new resource. + Name *string `type:"string"` + + // The tags to attach to the new service profile. Tags are metadata that can + // be used to manage a resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateServiceProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateServiceProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateServiceProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateServiceProfileInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateServiceProfileInput) SetClientRequestToken(v string) *CreateServiceProfileInput { + s.ClientRequestToken = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *CreateServiceProfileInput) SetLoRaWAN(v *LoRaWANServiceProfile) *CreateServiceProfileInput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateServiceProfileInput) SetName(v string) *CreateServiceProfileInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateServiceProfileInput) SetTags(v []*Tag) *CreateServiceProfileInput { + s.Tags = v + return s +} + +type CreateServiceProfileOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the new resource. + Arn *string `type:"string"` + + // The ID of the new service profile. + Id *string `type:"string"` +} + +// String returns the string representation +func (s CreateServiceProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateServiceProfileOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateServiceProfileOutput) SetArn(v string) *CreateServiceProfileOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateServiceProfileOutput) SetId(v string) *CreateServiceProfileOutput { + s.Id = &v + return s +} + +type CreateWirelessDeviceInput struct { + _ struct{} `type:"structure"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The description of the new resource. + Description *string `type:"string"` + + // The name of the destination to assign to the new wireless device. + // + // DestinationName is a required field + DestinationName *string `type:"string" required:"true"` + + // The device configuration information to use to create the wireless device. + LoRaWAN *LoRaWANDevice `type:"structure"` + + // The name of the new resource. + Name *string `type:"string"` + + // The wireless device type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"WirelessDeviceType"` +} + +// String returns the string representation +func (s CreateWirelessDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWirelessDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWirelessDeviceInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.DestinationName == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationName")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateWirelessDeviceInput) SetClientRequestToken(v string) *CreateWirelessDeviceInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateWirelessDeviceInput) SetDescription(v string) *CreateWirelessDeviceInput { + s.Description = &v + return s +} + +// SetDestinationName sets the DestinationName field's value. +func (s *CreateWirelessDeviceInput) SetDestinationName(v string) *CreateWirelessDeviceInput { + s.DestinationName = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *CreateWirelessDeviceInput) SetLoRaWAN(v *LoRaWANDevice) *CreateWirelessDeviceInput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWirelessDeviceInput) SetName(v string) *CreateWirelessDeviceInput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateWirelessDeviceInput) SetType(v string) *CreateWirelessDeviceInput { + s.Type = &v + return s +} + +type CreateWirelessDeviceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the new resource. + Arn *string `type:"string"` + + // The ID of the new wireless device. + Id *string `type:"string"` +} + +// String returns the string representation +func (s CreateWirelessDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessDeviceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateWirelessDeviceOutput) SetArn(v string) *CreateWirelessDeviceOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateWirelessDeviceOutput) SetId(v string) *CreateWirelessDeviceOutput { + s.Id = &v + return s +} + +type CreateWirelessGatewayInput struct { + _ struct{} `type:"structure"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The description of the new resource. + Description *string `type:"string"` + + // The gateway configuration information to use to create the wireless gateway. + // + // LoRaWAN is a required field + LoRaWAN *LoRaWANGateway `type:"structure" required:"true"` + + // The name of the new resource. + Name *string `type:"string"` + + // The tags to attach to the new wireless gateway. Tags are metadata that can + // be used to manage a resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateWirelessGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWirelessGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.LoRaWAN == nil { + invalidParams.Add(request.NewErrParamRequired("LoRaWAN")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateWirelessGatewayInput) SetClientRequestToken(v string) *CreateWirelessGatewayInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateWirelessGatewayInput) SetDescription(v string) *CreateWirelessGatewayInput { + s.Description = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *CreateWirelessGatewayInput) SetLoRaWAN(v *LoRaWANGateway) *CreateWirelessGatewayInput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWirelessGatewayInput) SetName(v string) *CreateWirelessGatewayInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWirelessGatewayInput) SetTags(v []*Tag) *CreateWirelessGatewayInput { + s.Tags = v + return s +} + +type CreateWirelessGatewayOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the new resource. + Arn *string `type:"string"` + + // The ID of the new wireless gateway. + Id *string `type:"string"` +} + +// String returns the string representation +func (s CreateWirelessGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessGatewayOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateWirelessGatewayOutput) SetArn(v string) *CreateWirelessGatewayOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateWirelessGatewayOutput) SetId(v string) *CreateWirelessGatewayOutput { + s.Id = &v + return s +} + +type CreateWirelessGatewayTaskDefinitionInput struct { + _ struct{} `type:"structure"` + + // Whether to automatically create tasks using this task definition for all + // gateways with the specified current version. If false, the task must me created + // by calling CreateWirelessGatewayTask. + // + // AutoCreateTasks is a required field + AutoCreateTasks *bool `type:"boolean" required:"true"` + + // Each resource must have a unique client request token. If you try to create + // a new resource with the same token as a resource that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The name of the new resource. + Name *string `min:"1" type:"string"` + + // Information about the gateways to update. + Update *UpdateWirelessGatewayTaskCreate `type:"structure"` +} + +// String returns the string representation +func (s CreateWirelessGatewayTaskDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessGatewayTaskDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWirelessGatewayTaskDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayTaskDefinitionInput"} + if s.AutoCreateTasks == nil { + invalidParams.Add(request.NewErrParamRequired("AutoCreateTasks")) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Update != nil { + if err := s.Update.Validate(); err != nil { + invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoCreateTasks sets the AutoCreateTasks field's value. +func (s *CreateWirelessGatewayTaskDefinitionInput) SetAutoCreateTasks(v bool) *CreateWirelessGatewayTaskDefinitionInput { + s.AutoCreateTasks = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateWirelessGatewayTaskDefinitionInput) SetClientRequestToken(v string) *CreateWirelessGatewayTaskDefinitionInput { + s.ClientRequestToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWirelessGatewayTaskDefinitionInput) SetName(v string) *CreateWirelessGatewayTaskDefinitionInput { + s.Name = &v + return s +} + +// SetUpdate sets the Update field's value. +func (s *CreateWirelessGatewayTaskDefinitionInput) SetUpdate(v *UpdateWirelessGatewayTaskCreate) *CreateWirelessGatewayTaskDefinitionInput { + s.Update = v + return s +} + +type CreateWirelessGatewayTaskDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The ID of the new wireless gateway task definition. + Id *string `type:"string"` +} + +// String returns the string representation +func (s CreateWirelessGatewayTaskDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessGatewayTaskDefinitionOutput) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *CreateWirelessGatewayTaskDefinitionOutput) SetId(v string) *CreateWirelessGatewayTaskDefinitionOutput { + s.Id = &v + return s +} + +type CreateWirelessGatewayTaskInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The ID of the WirelessGatewayTaskDefinition. + // + // WirelessGatewayTaskDefinitionId is a required field + WirelessGatewayTaskDefinitionId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWirelessGatewayTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessGatewayTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWirelessGatewayTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayTaskInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.WirelessGatewayTaskDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("WirelessGatewayTaskDefinitionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *CreateWirelessGatewayTaskInput) SetId(v string) *CreateWirelessGatewayTaskInput { + s.Id = &v + return s +} + +// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value. +func (s *CreateWirelessGatewayTaskInput) SetWirelessGatewayTaskDefinitionId(v string) *CreateWirelessGatewayTaskInput { + s.WirelessGatewayTaskDefinitionId = &v + return s +} + +type CreateWirelessGatewayTaskOutput struct { + _ struct{} `type:"structure"` + + // The status of the request. + Status *string `type:"string" enum:"WirelessGatewayTaskStatus"` + + // The ID of the WirelessGatewayTaskDefinition. + WirelessGatewayTaskDefinitionId *string `type:"string"` +} + +// String returns the string representation +func (s CreateWirelessGatewayTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWirelessGatewayTaskOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *CreateWirelessGatewayTaskOutput) SetStatus(v string) *CreateWirelessGatewayTaskOutput { + s.Status = &v + return s +} + +// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value. +func (s *CreateWirelessGatewayTaskOutput) SetWirelessGatewayTaskDefinitionId(v string) *CreateWirelessGatewayTaskOutput { + s.WirelessGatewayTaskDefinitionId = &v + return s +} + +type DeleteDestinationInput struct { + _ struct{} `type:"structure"` + + // The name of the resource to delete. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDestinationInput"} + 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 *DeleteDestinationInput) SetName(v string) *DeleteDestinationInput { + s.Name = &v + return s +} + +type DeleteDestinationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDestinationOutput) GoString() string { + return s.String() +} + +type DeleteDeviceProfileInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDeviceProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDeviceProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDeviceProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteDeviceProfileInput) SetId(v string) *DeleteDeviceProfileInput { + s.Id = &v + return s +} + +type DeleteDeviceProfileOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDeviceProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDeviceProfileOutput) GoString() string { + return s.String() +} + +type DeleteServiceProfileInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteServiceProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteServiceProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteServiceProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteServiceProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteServiceProfileInput) SetId(v string) *DeleteServiceProfileInput { + s.Id = &v + return s +} + +type DeleteServiceProfileOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteServiceProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteServiceProfileOutput) GoString() string { + return s.String() +} + +type DeleteWirelessDeviceInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWirelessDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWirelessDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessDeviceInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWirelessDeviceInput) SetId(v string) *DeleteWirelessDeviceInput { + s.Id = &v + return s +} + +type DeleteWirelessDeviceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWirelessDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessDeviceOutput) GoString() string { + return s.String() +} + +type DeleteWirelessGatewayInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWirelessGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWirelessGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWirelessGatewayInput) SetId(v string) *DeleteWirelessGatewayInput { + s.Id = &v + return s +} + +type DeleteWirelessGatewayOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWirelessGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessGatewayOutput) GoString() string { + return s.String() +} + +type DeleteWirelessGatewayTaskDefinitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWirelessGatewayTaskDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessGatewayTaskDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWirelessGatewayTaskDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayTaskDefinitionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWirelessGatewayTaskDefinitionInput) SetId(v string) *DeleteWirelessGatewayTaskDefinitionInput { + s.Id = &v + return s +} + +type DeleteWirelessGatewayTaskDefinitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWirelessGatewayTaskDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessGatewayTaskDefinitionOutput) GoString() string { + return s.String() +} + +type DeleteWirelessGatewayTaskInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWirelessGatewayTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessGatewayTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWirelessGatewayTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayTaskInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWirelessGatewayTaskInput) SetId(v string) *DeleteWirelessGatewayTaskInput { + s.Id = &v + return s +} + +type DeleteWirelessGatewayTaskOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWirelessGatewayTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWirelessGatewayTaskOutput) GoString() string { + return s.String() +} + +// Describes a destination. +type Destinations struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The description of the resource. + Description *string `type:"string"` + + // The rule name or topic rule to send messages to. + Expression *string `type:"string"` + + // The type of value in Expression. + ExpressionType *string `type:"string" enum:"ExpressionType"` + + // The name of the resource. + Name *string `type:"string"` + + // The ARN of the IAM Role that authorizes the destination. + RoleArn *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s Destinations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Destinations) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Destinations) SetArn(v string) *Destinations { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Destinations) SetDescription(v string) *Destinations { + s.Description = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *Destinations) SetExpression(v string) *Destinations { + s.Expression = &v + return s +} + +// SetExpressionType sets the ExpressionType field's value. +func (s *Destinations) SetExpressionType(v string) *Destinations { + s.ExpressionType = &v + return s +} + +// SetName sets the Name field's value. +func (s *Destinations) SetName(v string) *Destinations { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *Destinations) SetRoleArn(v string) *Destinations { + s.RoleArn = &v + return s +} + +// Describes a device profile. +type DeviceProfile struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The ID of the device profile. + Id *string `type:"string"` + + // The name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s DeviceProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeviceProfile) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeviceProfile) SetArn(v string) *DeviceProfile { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *DeviceProfile) SetId(v string) *DeviceProfile { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeviceProfile) SetName(v string) *DeviceProfile { + s.Name = &v + return s +} + +type DisassociateAwsAccountFromPartnerAccountInput struct { + _ struct{} `type:"structure"` + + // The partner account ID to disassociate from the AWS account. + // + // PartnerAccountId is a required field + PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"` + + // The partner type. + // + // PartnerType is a required field + PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"` +} + +// String returns the string representation +func (s DisassociateAwsAccountFromPartnerAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateAwsAccountFromPartnerAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateAwsAccountFromPartnerAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateAwsAccountFromPartnerAccountInput"} + if s.PartnerAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerAccountId")) + } + if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1)) + } + if s.PartnerType == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPartnerAccountId sets the PartnerAccountId field's value. +func (s *DisassociateAwsAccountFromPartnerAccountInput) SetPartnerAccountId(v string) *DisassociateAwsAccountFromPartnerAccountInput { + s.PartnerAccountId = &v + return s +} + +// SetPartnerType sets the PartnerType field's value. +func (s *DisassociateAwsAccountFromPartnerAccountInput) SetPartnerType(v string) *DisassociateAwsAccountFromPartnerAccountInput { + s.PartnerType = &v + return s +} + +type DisassociateAwsAccountFromPartnerAccountOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateAwsAccountFromPartnerAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateAwsAccountFromPartnerAccountOutput) GoString() string { + return s.String() +} + +type DisassociateWirelessDeviceFromThingInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateWirelessDeviceFromThingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWirelessDeviceFromThingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateWirelessDeviceFromThingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessDeviceFromThingInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DisassociateWirelessDeviceFromThingInput) SetId(v string) *DisassociateWirelessDeviceFromThingInput { + s.Id = &v + return s +} + +type DisassociateWirelessDeviceFromThingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateWirelessDeviceFromThingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWirelessDeviceFromThingOutput) GoString() string { + return s.String() +} + +type DisassociateWirelessGatewayFromCertificateInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateWirelessGatewayFromCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWirelessGatewayFromCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateWirelessGatewayFromCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessGatewayFromCertificateInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DisassociateWirelessGatewayFromCertificateInput) SetId(v string) *DisassociateWirelessGatewayFromCertificateInput { + s.Id = &v + return s +} + +type DisassociateWirelessGatewayFromCertificateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateWirelessGatewayFromCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWirelessGatewayFromCertificateOutput) GoString() string { + return s.String() +} + +type DisassociateWirelessGatewayFromThingInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateWirelessGatewayFromThingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWirelessGatewayFromThingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateWirelessGatewayFromThingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessGatewayFromThingInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DisassociateWirelessGatewayFromThingInput) SetId(v string) *DisassociateWirelessGatewayFromThingInput { + s.Id = &v + return s +} + +type DisassociateWirelessGatewayFromThingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateWirelessGatewayFromThingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWirelessGatewayFromThingOutput) GoString() string { + return s.String() +} + +type GetDestinationInput struct { + _ struct{} `type:"structure"` + + // The name of the resource to get. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDestinationInput"} + 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 *GetDestinationInput) SetName(v string) *GetDestinationInput { + s.Name = &v + return s +} + +type GetDestinationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The description of the resource. + Description *string `type:"string"` + + // The rule name or topic rule to send messages to. + Expression *string `type:"string"` + + // The type of value in Expression. + ExpressionType *string `type:"string" enum:"ExpressionType"` + + // The name of the resource. + Name *string `type:"string"` + + // The ARN of the IAM Role that authorizes the destination. + RoleArn *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s GetDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDestinationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetDestinationOutput) SetArn(v string) *GetDestinationOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetDestinationOutput) SetDescription(v string) *GetDestinationOutput { + s.Description = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *GetDestinationOutput) SetExpression(v string) *GetDestinationOutput { + s.Expression = &v + return s +} + +// SetExpressionType sets the ExpressionType field's value. +func (s *GetDestinationOutput) SetExpressionType(v string) *GetDestinationOutput { + s.ExpressionType = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDestinationOutput) SetName(v string) *GetDestinationOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *GetDestinationOutput) SetRoleArn(v string) *GetDestinationOutput { + s.RoleArn = &v + return s +} + +type GetDeviceProfileInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to get. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDeviceProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeviceProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeviceProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeviceProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetDeviceProfileInput) SetId(v string) *GetDeviceProfileInput { + s.Id = &v + return s +} + +type GetDeviceProfileOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The ID of the device profile. + Id *string `type:"string"` + + // Information about the device profile. + LoRaWAN *LoRaWANDeviceProfile `type:"structure"` + + // The name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s GetDeviceProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeviceProfileOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetDeviceProfileOutput) SetArn(v string) *GetDeviceProfileOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetDeviceProfileOutput) SetId(v string) *GetDeviceProfileOutput { + s.Id = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *GetDeviceProfileOutput) SetLoRaWAN(v *LoRaWANDeviceProfile) *GetDeviceProfileOutput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *GetDeviceProfileOutput) SetName(v string) *GetDeviceProfileOutput { + s.Name = &v + return s +} + +type GetPartnerAccountInput struct { + _ struct{} `type:"structure"` + + // The partner account ID to disassociate from the AWS account. + // + // PartnerAccountId is a required field + PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"` + + // The partner type. + // + // PartnerType is a required field + PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"` +} + +// String returns the string representation +func (s GetPartnerAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPartnerAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPartnerAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPartnerAccountInput"} + if s.PartnerAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerAccountId")) + } + if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1)) + } + if s.PartnerType == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPartnerAccountId sets the PartnerAccountId field's value. +func (s *GetPartnerAccountInput) SetPartnerAccountId(v string) *GetPartnerAccountInput { + s.PartnerAccountId = &v + return s +} + +// SetPartnerType sets the PartnerType field's value. +func (s *GetPartnerAccountInput) SetPartnerType(v string) *GetPartnerAccountInput { + s.PartnerType = &v + return s +} + +type GetPartnerAccountOutput struct { + _ struct{} `type:"structure"` + + // Whether the partner account is linked to the AWS account. + AccountLinked *bool `type:"boolean"` + + // The Sidewalk account credentials. + // + // The AppServerPrivateKey value is empty to protect its security. + Sidewalk *SidewalkAccountInfoWithFingerprint `type:"structure"` +} + +// String returns the string representation +func (s GetPartnerAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPartnerAccountOutput) GoString() string { + return s.String() +} + +// SetAccountLinked sets the AccountLinked field's value. +func (s *GetPartnerAccountOutput) SetAccountLinked(v bool) *GetPartnerAccountOutput { + s.AccountLinked = &v + return s +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *GetPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfoWithFingerprint) *GetPartnerAccountOutput { + s.Sidewalk = v + return s +} + +type GetServiceEndpointInput struct { + _ struct{} `type:"structure"` + + // The service type for which to get endpoint information about. Can be CUPS + // for the Configuration and Update Server endpoint, or LNS for the LoRaWAN + // Network Server endpoint. + ServiceType *string `location:"querystring" locationName:"serviceType" type:"string" enum:"WirelessGatewayServiceType"` +} + +// String returns the string representation +func (s GetServiceEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceEndpointInput) GoString() string { + return s.String() +} + +// SetServiceType sets the ServiceType field's value. +func (s *GetServiceEndpointInput) SetServiceType(v string) *GetServiceEndpointInput { + s.ServiceType = &v + return s +} + +type GetServiceEndpointOutput struct { + _ struct{} `type:"structure"` + + // The Root CA of the server trust certificate. + ServerTrust *string `min:"1" type:"string"` + + // The service endpoint value. + ServiceEndpoint *string `min:"1" type:"string"` + + // The endpoint's service type. + ServiceType *string `type:"string" enum:"WirelessGatewayServiceType"` +} + +// String returns the string representation +func (s GetServiceEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceEndpointOutput) GoString() string { + return s.String() +} + +// SetServerTrust sets the ServerTrust field's value. +func (s *GetServiceEndpointOutput) SetServerTrust(v string) *GetServiceEndpointOutput { + s.ServerTrust = &v + return s +} + +// SetServiceEndpoint sets the ServiceEndpoint field's value. +func (s *GetServiceEndpointOutput) SetServiceEndpoint(v string) *GetServiceEndpointOutput { + s.ServiceEndpoint = &v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *GetServiceEndpointOutput) SetServiceType(v string) *GetServiceEndpointOutput { + s.ServiceType = &v + return s +} + +type GetServiceProfileInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to get. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetServiceProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetServiceProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetServiceProfileInput) SetId(v string) *GetServiceProfileInput { + s.Id = &v + return s +} + +type GetServiceProfileOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The ID of the service profile. + Id *string `type:"string"` + + // Information about the service profile. + LoRaWAN *LoRaWANGetServiceProfileInfo `type:"structure"` + + // The name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s GetServiceProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceProfileOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetServiceProfileOutput) SetArn(v string) *GetServiceProfileOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetServiceProfileOutput) SetId(v string) *GetServiceProfileOutput { + s.Id = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *GetServiceProfileOutput) SetLoRaWAN(v *LoRaWANGetServiceProfileInfo) *GetServiceProfileOutput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *GetServiceProfileOutput) SetName(v string) *GetServiceProfileOutput { + s.Name = &v + return s +} + +type GetWirelessDeviceInput struct { + _ struct{} `type:"structure"` + + // The identifier of the wireless device to get. + // + // Identifier is a required field + Identifier *string `location:"uri" locationName:"Identifier" type:"string" required:"true"` + + // The type of identifier used in identifier. + // + // IdentifierType is a required field + IdentifierType *string `location:"querystring" locationName:"identifierType" type:"string" required:"true" enum:"WirelessDeviceIdType"` +} + +// String returns the string representation +func (s GetWirelessDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessDeviceInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.IdentifierType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentifierType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *GetWirelessDeviceInput) SetIdentifier(v string) *GetWirelessDeviceInput { + s.Identifier = &v + return s +} + +// SetIdentifierType sets the IdentifierType field's value. +func (s *GetWirelessDeviceInput) SetIdentifierType(v string) *GetWirelessDeviceInput { + s.IdentifierType = &v + return s +} + +type GetWirelessDeviceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The description of the resource. + Description *string `type:"string"` + + // The name of the destination to which the device is assigned. + DestinationName *string `type:"string"` + + // The ID of the wireless device. + Id *string `type:"string"` + + // Information about the wireless device. + LoRaWAN *LoRaWANDevice `type:"structure"` + + // The name of the resource. + Name *string `type:"string"` + + // The ARN of the thing associated with the wireless device. + ThingArn *string `type:"string"` + + // The name of the thing associated with the wireless device. + ThingName *string `type:"string"` + + // The wireless device type. + Type *string `type:"string" enum:"WirelessDeviceType"` +} + +// String returns the string representation +func (s GetWirelessDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessDeviceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetWirelessDeviceOutput) SetArn(v string) *GetWirelessDeviceOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetWirelessDeviceOutput) SetDescription(v string) *GetWirelessDeviceOutput { + s.Description = &v + return s +} + +// SetDestinationName sets the DestinationName field's value. +func (s *GetWirelessDeviceOutput) SetDestinationName(v string) *GetWirelessDeviceOutput { + s.DestinationName = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetWirelessDeviceOutput) SetId(v string) *GetWirelessDeviceOutput { + s.Id = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *GetWirelessDeviceOutput) SetLoRaWAN(v *LoRaWANDevice) *GetWirelessDeviceOutput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *GetWirelessDeviceOutput) SetName(v string) *GetWirelessDeviceOutput { + s.Name = &v + return s +} + +// SetThingArn sets the ThingArn field's value. +func (s *GetWirelessDeviceOutput) SetThingArn(v string) *GetWirelessDeviceOutput { + s.ThingArn = &v + return s +} + +// SetThingName sets the ThingName field's value. +func (s *GetWirelessDeviceOutput) SetThingName(v string) *GetWirelessDeviceOutput { + s.ThingName = &v + return s +} + +// SetType sets the Type field's value. +func (s *GetWirelessDeviceOutput) SetType(v string) *GetWirelessDeviceOutput { + s.Type = &v + return s +} + +type GetWirelessDeviceStatisticsInput struct { + _ struct{} `type:"structure"` + + // The ID of the wireless device for which to get the data. + // + // WirelessDeviceId is a required field + WirelessDeviceId *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWirelessDeviceStatisticsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessDeviceStatisticsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessDeviceStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessDeviceStatisticsInput"} + if s.WirelessDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("WirelessDeviceId")) + } + if s.WirelessDeviceId != nil && len(*s.WirelessDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WirelessDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWirelessDeviceId sets the WirelessDeviceId field's value. +func (s *GetWirelessDeviceStatisticsInput) SetWirelessDeviceId(v string) *GetWirelessDeviceStatisticsInput { + s.WirelessDeviceId = &v + return s +} + +type GetWirelessDeviceStatisticsOutput struct { + _ struct{} `type:"structure"` + + // The date and time when the most recent uplink was received. + LastUplinkReceivedAt *string `type:"string"` + + // Information about the wireless device's operations. + LoRaWAN *LoRaWANDeviceMetadata `type:"structure"` + + // The ID of the wireless device. + WirelessDeviceId *string `type:"string"` +} + +// String returns the string representation +func (s GetWirelessDeviceStatisticsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessDeviceStatisticsOutput) GoString() string { + return s.String() +} + +// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value. +func (s *GetWirelessDeviceStatisticsOutput) SetLastUplinkReceivedAt(v string) *GetWirelessDeviceStatisticsOutput { + s.LastUplinkReceivedAt = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *GetWirelessDeviceStatisticsOutput) SetLoRaWAN(v *LoRaWANDeviceMetadata) *GetWirelessDeviceStatisticsOutput { + s.LoRaWAN = v + return s +} + +// SetWirelessDeviceId sets the WirelessDeviceId field's value. +func (s *GetWirelessDeviceStatisticsOutput) SetWirelessDeviceId(v string) *GetWirelessDeviceStatisticsOutput { + s.WirelessDeviceId = &v + return s +} + +type GetWirelessGatewayCertificateInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to get. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWirelessGatewayCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessGatewayCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayCertificateInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWirelessGatewayCertificateInput) SetId(v string) *GetWirelessGatewayCertificateInput { + s.Id = &v + return s +} + +type GetWirelessGatewayCertificateOutput struct { + _ struct{} `type:"structure"` + + // The ID of the certificate associated with the wireless gateway. + IotCertificateId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetWirelessGatewayCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayCertificateOutput) GoString() string { + return s.String() +} + +// SetIotCertificateId sets the IotCertificateId field's value. +func (s *GetWirelessGatewayCertificateOutput) SetIotCertificateId(v string) *GetWirelessGatewayCertificateOutput { + s.IotCertificateId = &v + return s +} + +type GetWirelessGatewayFirmwareInformationInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to get. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWirelessGatewayFirmwareInformationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayFirmwareInformationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessGatewayFirmwareInformationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayFirmwareInformationInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWirelessGatewayFirmwareInformationInput) SetId(v string) *GetWirelessGatewayFirmwareInformationInput { + s.Id = &v + return s +} + +type GetWirelessGatewayFirmwareInformationOutput struct { + _ struct{} `type:"structure"` + + // Information about the wireless gateway's firmware. + LoRaWAN *LoRaWANGatewayCurrentVersion `type:"structure"` +} + +// String returns the string representation +func (s GetWirelessGatewayFirmwareInformationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayFirmwareInformationOutput) GoString() string { + return s.String() +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *GetWirelessGatewayFirmwareInformationOutput) SetLoRaWAN(v *LoRaWANGatewayCurrentVersion) *GetWirelessGatewayFirmwareInformationOutput { + s.LoRaWAN = v + return s +} + +type GetWirelessGatewayInput struct { + _ struct{} `type:"structure"` + + // The identifier of the wireless gateway to get. + // + // Identifier is a required field + Identifier *string `location:"uri" locationName:"Identifier" type:"string" required:"true"` + + // The type of identifier used in identifier. + // + // IdentifierType is a required field + IdentifierType *string `location:"querystring" locationName:"identifierType" type:"string" required:"true" enum:"WirelessGatewayIdType"` +} + +// String returns the string representation +func (s GetWirelessGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.IdentifierType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentifierType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *GetWirelessGatewayInput) SetIdentifier(v string) *GetWirelessGatewayInput { + s.Identifier = &v + return s +} + +// SetIdentifierType sets the IdentifierType field's value. +func (s *GetWirelessGatewayInput) SetIdentifierType(v string) *GetWirelessGatewayInput { + s.IdentifierType = &v + return s +} + +type GetWirelessGatewayOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The description of the resource. + Description *string `type:"string"` + + // The ID of the wireless gateway. + Id *string `type:"string"` + + // Information about the wireless gateway. + LoRaWAN *LoRaWANGateway `type:"structure"` + + // The name of the resource. + Name *string `type:"string"` + + // The ARN of the thing associated with the wireless gateway. + ThingArn *string `type:"string"` + + // The name of the thing associated with the wireless gateway. + ThingName *string `type:"string"` +} + +// String returns the string representation +func (s GetWirelessGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetWirelessGatewayOutput) SetArn(v string) *GetWirelessGatewayOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetWirelessGatewayOutput) SetDescription(v string) *GetWirelessGatewayOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetWirelessGatewayOutput) SetId(v string) *GetWirelessGatewayOutput { + s.Id = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *GetWirelessGatewayOutput) SetLoRaWAN(v *LoRaWANGateway) *GetWirelessGatewayOutput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *GetWirelessGatewayOutput) SetName(v string) *GetWirelessGatewayOutput { + s.Name = &v + return s +} + +// SetThingArn sets the ThingArn field's value. +func (s *GetWirelessGatewayOutput) SetThingArn(v string) *GetWirelessGatewayOutput { + s.ThingArn = &v + return s +} + +// SetThingName sets the ThingName field's value. +func (s *GetWirelessGatewayOutput) SetThingName(v string) *GetWirelessGatewayOutput { + s.ThingName = &v + return s +} + +type GetWirelessGatewayStatisticsInput struct { + _ struct{} `type:"structure"` + + // The ID of the wireless gateway for which to get the data. + // + // WirelessGatewayId is a required field + WirelessGatewayId *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWirelessGatewayStatisticsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayStatisticsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessGatewayStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayStatisticsInput"} + if s.WirelessGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("WirelessGatewayId")) + } + if s.WirelessGatewayId != nil && len(*s.WirelessGatewayId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WirelessGatewayId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWirelessGatewayId sets the WirelessGatewayId field's value. +func (s *GetWirelessGatewayStatisticsInput) SetWirelessGatewayId(v string) *GetWirelessGatewayStatisticsInput { + s.WirelessGatewayId = &v + return s +} + +type GetWirelessGatewayStatisticsOutput struct { + _ struct{} `type:"structure"` + + // The date and time when the most recent uplink was received. + LastUplinkReceivedAt *string `type:"string"` + + // The ID of the wireless gateway. + WirelessGatewayId *string `type:"string"` +} + +// String returns the string representation +func (s GetWirelessGatewayStatisticsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayStatisticsOutput) GoString() string { + return s.String() +} + +// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value. +func (s *GetWirelessGatewayStatisticsOutput) SetLastUplinkReceivedAt(v string) *GetWirelessGatewayStatisticsOutput { + s.LastUplinkReceivedAt = &v + return s +} + +// SetWirelessGatewayId sets the WirelessGatewayId field's value. +func (s *GetWirelessGatewayStatisticsOutput) SetWirelessGatewayId(v string) *GetWirelessGatewayStatisticsOutput { + s.WirelessGatewayId = &v + return s +} + +type GetWirelessGatewayTaskDefinitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to get. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWirelessGatewayTaskDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayTaskDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessGatewayTaskDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayTaskDefinitionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWirelessGatewayTaskDefinitionInput) SetId(v string) *GetWirelessGatewayTaskDefinitionInput { + s.Id = &v + return s +} + +type GetWirelessGatewayTaskDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Whether to automatically create tasks using this task definition for all + // gateways with the specified current version. If false, the task must me created + // by calling CreateWirelessGatewayTask. + AutoCreateTasks *bool `type:"boolean"` + + // The name of the resource. + Name *string `min:"1" type:"string"` + + // Information about the gateways to update. + Update *UpdateWirelessGatewayTaskCreate `type:"structure"` +} + +// String returns the string representation +func (s GetWirelessGatewayTaskDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayTaskDefinitionOutput) GoString() string { + return s.String() +} + +// SetAutoCreateTasks sets the AutoCreateTasks field's value. +func (s *GetWirelessGatewayTaskDefinitionOutput) SetAutoCreateTasks(v bool) *GetWirelessGatewayTaskDefinitionOutput { + s.AutoCreateTasks = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetWirelessGatewayTaskDefinitionOutput) SetName(v string) *GetWirelessGatewayTaskDefinitionOutput { + s.Name = &v + return s +} + +// SetUpdate sets the Update field's value. +func (s *GetWirelessGatewayTaskDefinitionOutput) SetUpdate(v *UpdateWirelessGatewayTaskCreate) *GetWirelessGatewayTaskDefinitionOutput { + s.Update = v + return s +} + +type GetWirelessGatewayTaskInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource to get. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWirelessGatewayTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWirelessGatewayTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayTaskInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWirelessGatewayTaskInput) SetId(v string) *GetWirelessGatewayTaskInput { + s.Id = &v + return s +} + +type GetWirelessGatewayTaskOutput struct { + _ struct{} `type:"structure"` + + // The date and time when the most recent uplink was received. + LastUplinkReceivedAt *string `type:"string"` + + // The status of the request. + Status *string `type:"string" enum:"WirelessGatewayTaskStatus"` + + // The date and time when the task was created. + TaskCreatedAt *string `type:"string"` + + // The ID of the wireless gateway. + WirelessGatewayId *string `type:"string"` + + // The ID of the WirelessGatewayTask. + WirelessGatewayTaskDefinitionId *string `type:"string"` +} + +// String returns the string representation +func (s GetWirelessGatewayTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWirelessGatewayTaskOutput) GoString() string { + return s.String() +} + +// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value. +func (s *GetWirelessGatewayTaskOutput) SetLastUplinkReceivedAt(v string) *GetWirelessGatewayTaskOutput { + s.LastUplinkReceivedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetWirelessGatewayTaskOutput) SetStatus(v string) *GetWirelessGatewayTaskOutput { + s.Status = &v + return s +} + +// SetTaskCreatedAt sets the TaskCreatedAt field's value. +func (s *GetWirelessGatewayTaskOutput) SetTaskCreatedAt(v string) *GetWirelessGatewayTaskOutput { + s.TaskCreatedAt = &v + return s +} + +// SetWirelessGatewayId sets the WirelessGatewayId field's value. +func (s *GetWirelessGatewayTaskOutput) SetWirelessGatewayId(v string) *GetWirelessGatewayTaskOutput { + s.WirelessGatewayId = &v + return s +} + +// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value. +func (s *GetWirelessGatewayTaskOutput) SetWirelessGatewayTaskDefinitionId(v string) *GetWirelessGatewayTaskOutput { + s.WirelessGatewayTaskDefinitionId = &v + return s +} + +// An unexpected error occurred while processing a request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 ListDestinationsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDestinationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDestinationsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDestinationsInput) SetMaxResults(v int64) *ListDestinationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDestinationsInput) SetNextToken(v string) *ListDestinationsInput { + s.NextToken = &v + return s +} + +type ListDestinationsOutput struct { + _ struct{} `type:"structure"` + + // The list of destinations. + DestinationList []*Destinations `type:"list"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDestinationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDestinationsOutput) GoString() string { + return s.String() +} + +// SetDestinationList sets the DestinationList field's value. +func (s *ListDestinationsOutput) SetDestinationList(v []*Destinations) *ListDestinationsOutput { + s.DestinationList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDestinationsOutput) SetNextToken(v string) *ListDestinationsOutput { + s.NextToken = &v + return s +} + +type ListDeviceProfilesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDeviceProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeviceProfilesInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDeviceProfilesInput) SetMaxResults(v int64) *ListDeviceProfilesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeviceProfilesInput) SetNextToken(v string) *ListDeviceProfilesInput { + s.NextToken = &v + return s +} + +type ListDeviceProfilesOutput struct { + _ struct{} `type:"structure"` + + // The list of device profiles. + DeviceProfileList []*DeviceProfile `type:"list"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDeviceProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeviceProfilesOutput) GoString() string { + return s.String() +} + +// SetDeviceProfileList sets the DeviceProfileList field's value. +func (s *ListDeviceProfilesOutput) SetDeviceProfileList(v []*DeviceProfile) *ListDeviceProfilesOutput { + s.DeviceProfileList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeviceProfilesOutput) SetNextToken(v string) *ListDeviceProfilesOutput { + s.NextToken = &v + return s +} + +type ListPartnerAccountsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListPartnerAccountsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPartnerAccountsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPartnerAccountsInput) SetMaxResults(v int64) *ListPartnerAccountsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPartnerAccountsInput) SetNextToken(v string) *ListPartnerAccountsInput { + s.NextToken = &v + return s +} + +type ListPartnerAccountsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` + + // The Sidewalk account credentials. + // + // The AppServerPrivateKey value is empty to protect its security. + Sidewalk []*SidewalkAccountInfoWithFingerprint `type:"list"` +} + +// String returns the string representation +func (s ListPartnerAccountsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPartnerAccountsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPartnerAccountsOutput) SetNextToken(v string) *ListPartnerAccountsOutput { + s.NextToken = &v + return s +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *ListPartnerAccountsOutput) SetSidewalk(v []*SidewalkAccountInfoWithFingerprint) *ListPartnerAccountsOutput { + s.Sidewalk = v + return s +} + +type ListServiceProfilesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListServiceProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListServiceProfilesInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListServiceProfilesInput) SetMaxResults(v int64) *ListServiceProfilesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListServiceProfilesInput) SetNextToken(v string) *ListServiceProfilesInput { + s.NextToken = &v + return s +} + +type ListServiceProfilesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` + + // The list of service profiles. + ServiceProfileList []*ServiceProfile `type:"list"` +} + +// String returns the string representation +func (s ListServiceProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListServiceProfilesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListServiceProfilesOutput) SetNextToken(v string) *ListServiceProfilesOutput { + s.NextToken = &v + return s +} + +// SetServiceProfileList sets the ServiceProfileList field's value. +func (s *ListServiceProfilesOutput) SetServiceProfileList(v []*ServiceProfile) *ListServiceProfilesOutput { + s.ServiceProfileList = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource for which to list tags. + // + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags attached to the specified resource. Tags are metadata that can be + // used to manage a resource + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListWirelessDevicesInput struct { + _ struct{} `type:"structure"` + + // A filter to list only the wireless devices that use this destination. + DestinationName *string `location:"querystring" locationName:"destinationName" type:"string"` + + // A filter to list only the wireless devices that use this device profile. + DeviceProfileId *string `location:"querystring" locationName:"deviceProfileId" type:"string"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // A filter to list only the wireless devices that use this service profile. + ServiceProfileId *string `location:"querystring" locationName:"serviceProfileId" type:"string"` + + // A filter to list only the wireless devices that use this wireless device + // type. + WirelessDeviceType *string `location:"querystring" locationName:"wirelessDeviceType" type:"string" enum:"WirelessDeviceType"` +} + +// String returns the string representation +func (s ListWirelessDevicesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWirelessDevicesInput) GoString() string { + return s.String() +} + +// SetDestinationName sets the DestinationName field's value. +func (s *ListWirelessDevicesInput) SetDestinationName(v string) *ListWirelessDevicesInput { + s.DestinationName = &v + return s +} + +// SetDeviceProfileId sets the DeviceProfileId field's value. +func (s *ListWirelessDevicesInput) SetDeviceProfileId(v string) *ListWirelessDevicesInput { + s.DeviceProfileId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWirelessDevicesInput) SetMaxResults(v int64) *ListWirelessDevicesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWirelessDevicesInput) SetNextToken(v string) *ListWirelessDevicesInput { + s.NextToken = &v + return s +} + +// SetServiceProfileId sets the ServiceProfileId field's value. +func (s *ListWirelessDevicesInput) SetServiceProfileId(v string) *ListWirelessDevicesInput { + s.ServiceProfileId = &v + return s +} + +// SetWirelessDeviceType sets the WirelessDeviceType field's value. +func (s *ListWirelessDevicesInput) SetWirelessDeviceType(v string) *ListWirelessDevicesInput { + s.WirelessDeviceType = &v + return s +} + +type ListWirelessDevicesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` + + // The ID of the wireless device. + WirelessDeviceList []*WirelessDeviceStatistics `type:"list"` +} + +// String returns the string representation +func (s ListWirelessDevicesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWirelessDevicesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWirelessDevicesOutput) SetNextToken(v string) *ListWirelessDevicesOutput { + s.NextToken = &v + return s +} + +// SetWirelessDeviceList sets the WirelessDeviceList field's value. +func (s *ListWirelessDevicesOutput) SetWirelessDeviceList(v []*WirelessDeviceStatistics) *ListWirelessDevicesOutput { + s.WirelessDeviceList = v + return s +} + +type ListWirelessGatewayTaskDefinitionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // A filter to list only the wireless gateway task definitions that use this + // task definition type. + TaskDefinitionType *string `location:"querystring" locationName:"taskDefinitionType" type:"string" enum:"WirelessGatewayTaskDefinitionType"` +} + +// String returns the string representation +func (s ListWirelessGatewayTaskDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWirelessGatewayTaskDefinitionsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWirelessGatewayTaskDefinitionsInput) SetMaxResults(v int64) *ListWirelessGatewayTaskDefinitionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWirelessGatewayTaskDefinitionsInput) SetNextToken(v string) *ListWirelessGatewayTaskDefinitionsInput { + s.NextToken = &v + return s +} + +// SetTaskDefinitionType sets the TaskDefinitionType field's value. +func (s *ListWirelessGatewayTaskDefinitionsInput) SetTaskDefinitionType(v string) *ListWirelessGatewayTaskDefinitionsInput { + s.TaskDefinitionType = &v + return s +} + +type ListWirelessGatewayTaskDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` + + // The list of task definitions. + TaskDefinitions []*UpdateWirelessGatewayTaskEntry `type:"list"` +} + +// String returns the string representation +func (s ListWirelessGatewayTaskDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWirelessGatewayTaskDefinitionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWirelessGatewayTaskDefinitionsOutput) SetNextToken(v string) *ListWirelessGatewayTaskDefinitionsOutput { + s.NextToken = &v + return s +} + +// SetTaskDefinitions sets the TaskDefinitions field's value. +func (s *ListWirelessGatewayTaskDefinitionsOutput) SetTaskDefinitions(v []*UpdateWirelessGatewayTaskEntry) *ListWirelessGatewayTaskDefinitionsOutput { + s.TaskDefinitions = v + return s +} + +type ListWirelessGatewaysInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this operation. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // To retrieve the next set of results, the nextToken value from a previous + // response; otherwise null to receive the first set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListWirelessGatewaysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWirelessGatewaysInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWirelessGatewaysInput) SetMaxResults(v int64) *ListWirelessGatewaysInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWirelessGatewaysInput) SetNextToken(v string) *ListWirelessGatewaysInput { + s.NextToken = &v + return s +} + +type ListWirelessGatewaysOutput struct { + _ struct{} `type:"structure"` + + // The token to use to get the next set of results, or null if there are no + // additional results. + NextToken *string `type:"string"` + + // The ID of the wireless gateway. + WirelessGatewayList []*WirelessGatewayStatistics `type:"list"` +} + +// String returns the string representation +func (s ListWirelessGatewaysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWirelessGatewaysOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWirelessGatewaysOutput) SetNextToken(v string) *ListWirelessGatewaysOutput { + s.NextToken = &v + return s +} + +// SetWirelessGatewayList sets the WirelessGatewayList field's value. +func (s *ListWirelessGatewaysOutput) SetWirelessGatewayList(v []*WirelessGatewayStatistics) *ListWirelessGatewaysOutput { + s.WirelessGatewayList = v + return s +} + +// LoRa object for create functions. +type LoRaWANDevice struct { + _ struct{} `type:"structure"` + + // LoRa object for create APIs + AbpV1_0_x *AbpV10X `type:"structure"` + + // ABP device object for create APIs for v1.1 + AbpV1_1 *AbpV11 `type:"structure"` + + // The DevEUI value. + DevEui *string `type:"string"` + + // The ID of the device profile for the new wireless device. + DeviceProfileId *string `type:"string"` + + // OTAA device object for create APIs for v1.0.x + OtaaV1_0_x *OtaaV10X `type:"structure"` + + // OTAA device object for v1.1 for create APIs + OtaaV1_1 *OtaaV11 `type:"structure"` + + // The ID of the service profile. + ServiceProfileId *string `type:"string"` +} + +// String returns the string representation +func (s LoRaWANDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANDevice) GoString() string { + return s.String() +} + +// SetAbpV1_0_x sets the AbpV1_0_x field's value. +func (s *LoRaWANDevice) SetAbpV1_0_x(v *AbpV10X) *LoRaWANDevice { + s.AbpV1_0_x = v + return s +} + +// SetAbpV1_1 sets the AbpV1_1 field's value. +func (s *LoRaWANDevice) SetAbpV1_1(v *AbpV11) *LoRaWANDevice { + s.AbpV1_1 = v + return s +} + +// SetDevEui sets the DevEui field's value. +func (s *LoRaWANDevice) SetDevEui(v string) *LoRaWANDevice { + s.DevEui = &v + return s +} + +// SetDeviceProfileId sets the DeviceProfileId field's value. +func (s *LoRaWANDevice) SetDeviceProfileId(v string) *LoRaWANDevice { + s.DeviceProfileId = &v + return s +} + +// SetOtaaV1_0_x sets the OtaaV1_0_x field's value. +func (s *LoRaWANDevice) SetOtaaV1_0_x(v *OtaaV10X) *LoRaWANDevice { + s.OtaaV1_0_x = v + return s +} + +// SetOtaaV1_1 sets the OtaaV1_1 field's value. +func (s *LoRaWANDevice) SetOtaaV1_1(v *OtaaV11) *LoRaWANDevice { + s.OtaaV1_1 = v + return s +} + +// SetServiceProfileId sets the ServiceProfileId field's value. +func (s *LoRaWANDevice) SetServiceProfileId(v string) *LoRaWANDevice { + s.ServiceProfileId = &v + return s +} + +// LoRaWAN device metatdata. +type LoRaWANDeviceMetadata struct { + _ struct{} `type:"structure"` + + // The DataRate value. + DataRate *int64 `type:"integer"` + + // The DevEUI value. + DevEui *string `type:"string"` + + // The FPort value. + FPort *int64 `type:"integer"` + + // The device's channel frequency in Hz. + Frequency *int64 `type:"integer"` + + // Information about the gateways accessed by the device. + Gateways []*LoRaWANGatewayMetadata `type:"list"` + + // The date and time of the metadata. + Timestamp *string `type:"string"` +} + +// String returns the string representation +func (s LoRaWANDeviceMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANDeviceMetadata) GoString() string { + return s.String() +} + +// SetDataRate sets the DataRate field's value. +func (s *LoRaWANDeviceMetadata) SetDataRate(v int64) *LoRaWANDeviceMetadata { + s.DataRate = &v + return s +} + +// SetDevEui sets the DevEui field's value. +func (s *LoRaWANDeviceMetadata) SetDevEui(v string) *LoRaWANDeviceMetadata { + s.DevEui = &v + return s +} + +// SetFPort sets the FPort field's value. +func (s *LoRaWANDeviceMetadata) SetFPort(v int64) *LoRaWANDeviceMetadata { + s.FPort = &v + return s +} + +// SetFrequency sets the Frequency field's value. +func (s *LoRaWANDeviceMetadata) SetFrequency(v int64) *LoRaWANDeviceMetadata { + s.Frequency = &v + return s +} + +// SetGateways sets the Gateways field's value. +func (s *LoRaWANDeviceMetadata) SetGateways(v []*LoRaWANGatewayMetadata) *LoRaWANDeviceMetadata { + s.Gateways = v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *LoRaWANDeviceMetadata) SetTimestamp(v string) *LoRaWANDeviceMetadata { + s.Timestamp = &v + return s +} + +// LoRaWANDeviceProfile object. +type LoRaWANDeviceProfile struct { + _ struct{} `type:"structure"` + + // The ClassBTimeout value. + ClassBTimeout *int64 `type:"integer"` + + // The ClassCTimeout value. + ClassCTimeout *int64 `type:"integer"` + + // The list of values that make up the FactoryPresetFreqs value. + FactoryPresetFreqsList []*int64 `type:"list"` + + // The MAC version (such as OTAA 1.1 or OTA 1.0.3) to use with this device profile. + MacVersion *string `type:"string"` + + // The MaxDutyCycle value. + MaxDutyCycle *int64 `type:"integer"` + + // The MaxEIRP value. + MaxEirp *int64 `type:"integer"` + + // The PingSlotDR value. + PingSlotDr *int64 `type:"integer"` + + // The PingSlotFreq value. + PingSlotFreq *int64 `min:"1e+06" type:"integer"` + + // The PingSlotPeriod value. + PingSlotPeriod *int64 `min:"128" type:"integer"` + + // The version of regional parameters. + RegParamsRevision *string `type:"string"` + + // The frequency band (RFRegion) value. + RfRegion *string `type:"string"` + + // The RXDataRate2 value. + RxDataRate2 *int64 `type:"integer"` + + // The RXDelay1 value. + RxDelay1 *int64 `type:"integer"` + + // The RXDROffset1 value. + RxDrOffset1 *int64 `type:"integer"` + + // The RXFreq2 value. + RxFreq2 *int64 `min:"1e+06" type:"integer"` + + // The Supports32BitFCnt value. + Supports32BitFCnt *bool `type:"boolean"` + + // The SupportsClassB value. + SupportsClassB *bool `type:"boolean"` + + // The SupportsClassC value. + SupportsClassC *bool `type:"boolean"` + + // The SupportsJoin value. + SupportsJoin *bool `type:"boolean"` +} + +// String returns the string representation +func (s LoRaWANDeviceProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANDeviceProfile) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoRaWANDeviceProfile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoRaWANDeviceProfile"} + if s.PingSlotFreq != nil && *s.PingSlotFreq < 1e+06 { + invalidParams.Add(request.NewErrParamMinValue("PingSlotFreq", 1e+06)) + } + if s.PingSlotPeriod != nil && *s.PingSlotPeriod < 128 { + invalidParams.Add(request.NewErrParamMinValue("PingSlotPeriod", 128)) + } + if s.RxFreq2 != nil && *s.RxFreq2 < 1e+06 { + invalidParams.Add(request.NewErrParamMinValue("RxFreq2", 1e+06)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassBTimeout sets the ClassBTimeout field's value. +func (s *LoRaWANDeviceProfile) SetClassBTimeout(v int64) *LoRaWANDeviceProfile { + s.ClassBTimeout = &v + return s +} + +// SetClassCTimeout sets the ClassCTimeout field's value. +func (s *LoRaWANDeviceProfile) SetClassCTimeout(v int64) *LoRaWANDeviceProfile { + s.ClassCTimeout = &v + return s +} + +// SetFactoryPresetFreqsList sets the FactoryPresetFreqsList field's value. +func (s *LoRaWANDeviceProfile) SetFactoryPresetFreqsList(v []*int64) *LoRaWANDeviceProfile { + s.FactoryPresetFreqsList = v + return s +} + +// SetMacVersion sets the MacVersion field's value. +func (s *LoRaWANDeviceProfile) SetMacVersion(v string) *LoRaWANDeviceProfile { + s.MacVersion = &v + return s +} + +// SetMaxDutyCycle sets the MaxDutyCycle field's value. +func (s *LoRaWANDeviceProfile) SetMaxDutyCycle(v int64) *LoRaWANDeviceProfile { + s.MaxDutyCycle = &v + return s +} + +// SetMaxEirp sets the MaxEirp field's value. +func (s *LoRaWANDeviceProfile) SetMaxEirp(v int64) *LoRaWANDeviceProfile { + s.MaxEirp = &v + return s +} + +// SetPingSlotDr sets the PingSlotDr field's value. +func (s *LoRaWANDeviceProfile) SetPingSlotDr(v int64) *LoRaWANDeviceProfile { + s.PingSlotDr = &v + return s +} + +// SetPingSlotFreq sets the PingSlotFreq field's value. +func (s *LoRaWANDeviceProfile) SetPingSlotFreq(v int64) *LoRaWANDeviceProfile { + s.PingSlotFreq = &v + return s +} + +// SetPingSlotPeriod sets the PingSlotPeriod field's value. +func (s *LoRaWANDeviceProfile) SetPingSlotPeriod(v int64) *LoRaWANDeviceProfile { + s.PingSlotPeriod = &v + return s +} + +// SetRegParamsRevision sets the RegParamsRevision field's value. +func (s *LoRaWANDeviceProfile) SetRegParamsRevision(v string) *LoRaWANDeviceProfile { + s.RegParamsRevision = &v + return s +} + +// SetRfRegion sets the RfRegion field's value. +func (s *LoRaWANDeviceProfile) SetRfRegion(v string) *LoRaWANDeviceProfile { + s.RfRegion = &v + return s +} + +// SetRxDataRate2 sets the RxDataRate2 field's value. +func (s *LoRaWANDeviceProfile) SetRxDataRate2(v int64) *LoRaWANDeviceProfile { + s.RxDataRate2 = &v + return s +} + +// SetRxDelay1 sets the RxDelay1 field's value. +func (s *LoRaWANDeviceProfile) SetRxDelay1(v int64) *LoRaWANDeviceProfile { + s.RxDelay1 = &v + return s +} + +// SetRxDrOffset1 sets the RxDrOffset1 field's value. +func (s *LoRaWANDeviceProfile) SetRxDrOffset1(v int64) *LoRaWANDeviceProfile { + s.RxDrOffset1 = &v + return s +} + +// SetRxFreq2 sets the RxFreq2 field's value. +func (s *LoRaWANDeviceProfile) SetRxFreq2(v int64) *LoRaWANDeviceProfile { + s.RxFreq2 = &v + return s +} + +// SetSupports32BitFCnt sets the Supports32BitFCnt field's value. +func (s *LoRaWANDeviceProfile) SetSupports32BitFCnt(v bool) *LoRaWANDeviceProfile { + s.Supports32BitFCnt = &v + return s +} + +// SetSupportsClassB sets the SupportsClassB field's value. +func (s *LoRaWANDeviceProfile) SetSupportsClassB(v bool) *LoRaWANDeviceProfile { + s.SupportsClassB = &v + return s +} + +// SetSupportsClassC sets the SupportsClassC field's value. +func (s *LoRaWANDeviceProfile) SetSupportsClassC(v bool) *LoRaWANDeviceProfile { + s.SupportsClassC = &v + return s +} + +// SetSupportsJoin sets the SupportsJoin field's value. +func (s *LoRaWANDeviceProfile) SetSupportsJoin(v bool) *LoRaWANDeviceProfile { + s.SupportsJoin = &v + return s +} + +// LoRaWANGateway object. +type LoRaWANGateway struct { + _ struct{} `type:"structure"` + + // The gateway's EUI value. + GatewayEui *string `type:"string"` + + // The frequency band (RFRegion) value. + RfRegion *string `type:"string"` +} + +// String returns the string representation +func (s LoRaWANGateway) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANGateway) GoString() string { + return s.String() +} + +// SetGatewayEui sets the GatewayEui field's value. +func (s *LoRaWANGateway) SetGatewayEui(v string) *LoRaWANGateway { + s.GatewayEui = &v + return s +} + +// SetRfRegion sets the RfRegion field's value. +func (s *LoRaWANGateway) SetRfRegion(v string) *LoRaWANGateway { + s.RfRegion = &v + return s +} + +// LoRaWANGatewayCurrentVersion object. +type LoRaWANGatewayCurrentVersion struct { + _ struct{} `type:"structure"` + + // The version of the gateways that should receive the update. + CurrentVersion *LoRaWANGatewayVersion `type:"structure"` +} + +// String returns the string representation +func (s LoRaWANGatewayCurrentVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANGatewayCurrentVersion) GoString() string { + return s.String() +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *LoRaWANGatewayCurrentVersion) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANGatewayCurrentVersion { + s.CurrentVersion = v + return s +} + +// LoRaWAN gateway metatdata. +type LoRaWANGatewayMetadata struct { + _ struct{} `type:"structure"` + + // The gateway's EUI value. + GatewayEui *string `type:"string"` + + // The RSSI value. + Rssi *float64 `type:"double"` + + // The SNR value. + Snr *float64 `type:"double"` +} + +// String returns the string representation +func (s LoRaWANGatewayMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANGatewayMetadata) GoString() string { + return s.String() +} + +// SetGatewayEui sets the GatewayEui field's value. +func (s *LoRaWANGatewayMetadata) SetGatewayEui(v string) *LoRaWANGatewayMetadata { + s.GatewayEui = &v + return s +} + +// SetRssi sets the Rssi field's value. +func (s *LoRaWANGatewayMetadata) SetRssi(v float64) *LoRaWANGatewayMetadata { + s.Rssi = &v + return s +} + +// SetSnr sets the Snr field's value. +func (s *LoRaWANGatewayMetadata) SetSnr(v float64) *LoRaWANGatewayMetadata { + s.Snr = &v + return s +} + +// LoRaWANGatewayVersion object. +type LoRaWANGatewayVersion struct { + _ struct{} `type:"structure"` + + // The model number of the wireless gateway. + Model *string `min:"1" type:"string"` + + // The version of the wireless gateway firmware. + PackageVersion *string `min:"1" type:"string"` + + // The basic station version of the wireless gateway. + Station *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LoRaWANGatewayVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANGatewayVersion) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoRaWANGatewayVersion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoRaWANGatewayVersion"} + if s.Model != nil && len(*s.Model) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Model", 1)) + } + if s.PackageVersion != nil && len(*s.PackageVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1)) + } + if s.Station != nil && len(*s.Station) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Station", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModel sets the Model field's value. +func (s *LoRaWANGatewayVersion) SetModel(v string) *LoRaWANGatewayVersion { + s.Model = &v + return s +} + +// SetPackageVersion sets the PackageVersion field's value. +func (s *LoRaWANGatewayVersion) SetPackageVersion(v string) *LoRaWANGatewayVersion { + s.PackageVersion = &v + return s +} + +// SetStation sets the Station field's value. +func (s *LoRaWANGatewayVersion) SetStation(v string) *LoRaWANGatewayVersion { + s.Station = &v + return s +} + +// LoRaWANGetServiceProfileInfo object. +type LoRaWANGetServiceProfileInfo struct { + _ struct{} `type:"structure"` + + // The AddGWMetaData value. + AddGwMetadata *bool `type:"boolean"` + + // The ChannelMask value. + ChannelMask *string `type:"string"` + + // The DevStatusReqFreq value. + DevStatusReqFreq *int64 `type:"integer"` + + // The DLBucketSize value. + DlBucketSize *int64 `type:"integer"` + + // The DLRate value. + DlRate *int64 `type:"integer"` + + // The DLRatePolicy value. + DlRatePolicy *string `type:"string"` + + // The DRMax value. + DrMax *int64 `type:"integer"` + + // The DRMin value. + DrMin *int64 `type:"integer"` + + // The HRAllowed value that describes whether handover roaming is allowed. + HrAllowed *bool `type:"boolean"` + + // The MinGwDiversity value. + MinGwDiversity *int64 `min:"1" type:"integer"` + + // The NwkGeoLoc value. + NwkGeoLoc *bool `type:"boolean"` + + // The PRAllowed value that describes whether passive roaming is allowed. + PrAllowed *bool `type:"boolean"` + + // The RAAllowed value that describes whether roaming activation is allowed. + RaAllowed *bool `type:"boolean"` + + // The ReportDevStatusBattery value. + ReportDevStatusBattery *bool `type:"boolean"` + + // The ReportDevStatusMargin value. + ReportDevStatusMargin *bool `type:"boolean"` + + // The TargetPER value. + TargetPer *int64 `type:"integer"` + + // The ULBucketSize value. + UlBucketSize *int64 `type:"integer"` + + // The ULRate value. + UlRate *int64 `type:"integer"` + + // The ULRatePolicy value. + UlRatePolicy *string `type:"string"` +} + +// String returns the string representation +func (s LoRaWANGetServiceProfileInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANGetServiceProfileInfo) GoString() string { + return s.String() +} + +// SetAddGwMetadata sets the AddGwMetadata field's value. +func (s *LoRaWANGetServiceProfileInfo) SetAddGwMetadata(v bool) *LoRaWANGetServiceProfileInfo { + s.AddGwMetadata = &v + return s +} + +// SetChannelMask sets the ChannelMask field's value. +func (s *LoRaWANGetServiceProfileInfo) SetChannelMask(v string) *LoRaWANGetServiceProfileInfo { + s.ChannelMask = &v + return s +} + +// SetDevStatusReqFreq sets the DevStatusReqFreq field's value. +func (s *LoRaWANGetServiceProfileInfo) SetDevStatusReqFreq(v int64) *LoRaWANGetServiceProfileInfo { + s.DevStatusReqFreq = &v + return s +} + +// SetDlBucketSize sets the DlBucketSize field's value. +func (s *LoRaWANGetServiceProfileInfo) SetDlBucketSize(v int64) *LoRaWANGetServiceProfileInfo { + s.DlBucketSize = &v + return s +} + +// SetDlRate sets the DlRate field's value. +func (s *LoRaWANGetServiceProfileInfo) SetDlRate(v int64) *LoRaWANGetServiceProfileInfo { + s.DlRate = &v + return s +} + +// SetDlRatePolicy sets the DlRatePolicy field's value. +func (s *LoRaWANGetServiceProfileInfo) SetDlRatePolicy(v string) *LoRaWANGetServiceProfileInfo { + s.DlRatePolicy = &v + return s +} + +// SetDrMax sets the DrMax field's value. +func (s *LoRaWANGetServiceProfileInfo) SetDrMax(v int64) *LoRaWANGetServiceProfileInfo { + s.DrMax = &v + return s +} + +// SetDrMin sets the DrMin field's value. +func (s *LoRaWANGetServiceProfileInfo) SetDrMin(v int64) *LoRaWANGetServiceProfileInfo { + s.DrMin = &v + return s +} + +// SetHrAllowed sets the HrAllowed field's value. +func (s *LoRaWANGetServiceProfileInfo) SetHrAllowed(v bool) *LoRaWANGetServiceProfileInfo { + s.HrAllowed = &v + return s +} + +// SetMinGwDiversity sets the MinGwDiversity field's value. +func (s *LoRaWANGetServiceProfileInfo) SetMinGwDiversity(v int64) *LoRaWANGetServiceProfileInfo { + s.MinGwDiversity = &v + return s +} + +// SetNwkGeoLoc sets the NwkGeoLoc field's value. +func (s *LoRaWANGetServiceProfileInfo) SetNwkGeoLoc(v bool) *LoRaWANGetServiceProfileInfo { + s.NwkGeoLoc = &v + return s +} + +// SetPrAllowed sets the PrAllowed field's value. +func (s *LoRaWANGetServiceProfileInfo) SetPrAllowed(v bool) *LoRaWANGetServiceProfileInfo { + s.PrAllowed = &v + return s +} + +// SetRaAllowed sets the RaAllowed field's value. +func (s *LoRaWANGetServiceProfileInfo) SetRaAllowed(v bool) *LoRaWANGetServiceProfileInfo { + s.RaAllowed = &v + return s +} + +// SetReportDevStatusBattery sets the ReportDevStatusBattery field's value. +func (s *LoRaWANGetServiceProfileInfo) SetReportDevStatusBattery(v bool) *LoRaWANGetServiceProfileInfo { + s.ReportDevStatusBattery = &v + return s +} + +// SetReportDevStatusMargin sets the ReportDevStatusMargin field's value. +func (s *LoRaWANGetServiceProfileInfo) SetReportDevStatusMargin(v bool) *LoRaWANGetServiceProfileInfo { + s.ReportDevStatusMargin = &v + return s +} + +// SetTargetPer sets the TargetPer field's value. +func (s *LoRaWANGetServiceProfileInfo) SetTargetPer(v int64) *LoRaWANGetServiceProfileInfo { + s.TargetPer = &v + return s +} + +// SetUlBucketSize sets the UlBucketSize field's value. +func (s *LoRaWANGetServiceProfileInfo) SetUlBucketSize(v int64) *LoRaWANGetServiceProfileInfo { + s.UlBucketSize = &v + return s +} + +// SetUlRate sets the UlRate field's value. +func (s *LoRaWANGetServiceProfileInfo) SetUlRate(v int64) *LoRaWANGetServiceProfileInfo { + s.UlRate = &v + return s +} + +// SetUlRatePolicy sets the UlRatePolicy field's value. +func (s *LoRaWANGetServiceProfileInfo) SetUlRatePolicy(v string) *LoRaWANGetServiceProfileInfo { + s.UlRatePolicy = &v + return s +} + +// LoRaWAN object for list functions. +type LoRaWANListDevice struct { + _ struct{} `type:"structure"` + + // The DevEUI value. + DevEui *string `type:"string"` +} + +// String returns the string representation +func (s LoRaWANListDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANListDevice) GoString() string { + return s.String() +} + +// SetDevEui sets the DevEui field's value. +func (s *LoRaWANListDevice) SetDevEui(v string) *LoRaWANListDevice { + s.DevEui = &v + return s +} + +// LoRaWAN router info. +type LoRaWANSendDataToDevice struct { + _ struct{} `type:"structure"` + + // The Fport value. + FPort *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s LoRaWANSendDataToDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANSendDataToDevice) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoRaWANSendDataToDevice) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoRaWANSendDataToDevice"} + if s.FPort != nil && *s.FPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("FPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFPort sets the FPort field's value. +func (s *LoRaWANSendDataToDevice) SetFPort(v int64) *LoRaWANSendDataToDevice { + s.FPort = &v + return s +} + +// LoRaWANServiceProfile object. +type LoRaWANServiceProfile struct { + _ struct{} `type:"structure"` + + // The AddGWMetaData value. + AddGwMetadata *bool `type:"boolean"` +} + +// String returns the string representation +func (s LoRaWANServiceProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANServiceProfile) GoString() string { + return s.String() +} + +// SetAddGwMetadata sets the AddGwMetadata field's value. +func (s *LoRaWANServiceProfile) SetAddGwMetadata(v bool) *LoRaWANServiceProfile { + s.AddGwMetadata = &v + return s +} + +// LoRa object for update functions. +type LoRaWANUpdateDevice struct { + _ struct{} `type:"structure"` + + // The ID of the device profile for the wireless device. + DeviceProfileId *string `type:"string"` + + // The ID of the service profile. + ServiceProfileId *string `type:"string"` +} + +// String returns the string representation +func (s LoRaWANUpdateDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANUpdateDevice) GoString() string { + return s.String() +} + +// SetDeviceProfileId sets the DeviceProfileId field's value. +func (s *LoRaWANUpdateDevice) SetDeviceProfileId(v string) *LoRaWANUpdateDevice { + s.DeviceProfileId = &v + return s +} + +// SetServiceProfileId sets the ServiceProfileId field's value. +func (s *LoRaWANUpdateDevice) SetServiceProfileId(v string) *LoRaWANUpdateDevice { + s.ServiceProfileId = &v + return s +} + +// LoRaWANUpdateGatewayTaskCreate object. +type LoRaWANUpdateGatewayTaskCreate struct { + _ struct{} `type:"structure"` + + // The version of the gateways that should receive the update. + CurrentVersion *LoRaWANGatewayVersion `type:"structure"` + + // The CRC of the signature private key to check. + SigKeyCrc *int64 `min:"1" type:"long"` + + // The signature used to verify the update firmware. + UpdateSignature *string `min:"1" type:"string"` + + // The firmware version to update the gateway to. + UpdateVersion *LoRaWANGatewayVersion `type:"structure"` +} + +// String returns the string representation +func (s LoRaWANUpdateGatewayTaskCreate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANUpdateGatewayTaskCreate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoRaWANUpdateGatewayTaskCreate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoRaWANUpdateGatewayTaskCreate"} + if s.SigKeyCrc != nil && *s.SigKeyCrc < 1 { + invalidParams.Add(request.NewErrParamMinValue("SigKeyCrc", 1)) + } + if s.UpdateSignature != nil && len(*s.UpdateSignature) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UpdateSignature", 1)) + } + if s.CurrentVersion != nil { + if err := s.CurrentVersion.Validate(); err != nil { + invalidParams.AddNested("CurrentVersion", err.(request.ErrInvalidParams)) + } + } + if s.UpdateVersion != nil { + if err := s.UpdateVersion.Validate(); err != nil { + invalidParams.AddNested("UpdateVersion", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *LoRaWANUpdateGatewayTaskCreate) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskCreate { + s.CurrentVersion = v + return s +} + +// SetSigKeyCrc sets the SigKeyCrc field's value. +func (s *LoRaWANUpdateGatewayTaskCreate) SetSigKeyCrc(v int64) *LoRaWANUpdateGatewayTaskCreate { + s.SigKeyCrc = &v + return s +} + +// SetUpdateSignature sets the UpdateSignature field's value. +func (s *LoRaWANUpdateGatewayTaskCreate) SetUpdateSignature(v string) *LoRaWANUpdateGatewayTaskCreate { + s.UpdateSignature = &v + return s +} + +// SetUpdateVersion sets the UpdateVersion field's value. +func (s *LoRaWANUpdateGatewayTaskCreate) SetUpdateVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskCreate { + s.UpdateVersion = v + return s +} + +// LoRaWANUpdateGatewayTaskEntry object. +type LoRaWANUpdateGatewayTaskEntry struct { + _ struct{} `type:"structure"` + + // The version of the gateways that should receive the update. + CurrentVersion *LoRaWANGatewayVersion `type:"structure"` + + // The firmware version to update the gateway to. + UpdateVersion *LoRaWANGatewayVersion `type:"structure"` +} + +// String returns the string representation +func (s LoRaWANUpdateGatewayTaskEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoRaWANUpdateGatewayTaskEntry) GoString() string { + return s.String() +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *LoRaWANUpdateGatewayTaskEntry) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskEntry { + s.CurrentVersion = v + return s +} + +// SetUpdateVersion sets the UpdateVersion field's value. +func (s *LoRaWANUpdateGatewayTaskEntry) SetUpdateVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskEntry { + s.UpdateVersion = v + return s +} + +// OTAA device object for v1.0.x +type OtaaV10X struct { + _ struct{} `type:"structure"` + + // The AppEUI value. + AppEui *string `type:"string"` + + // The AppKey value. + AppKey *string `type:"string"` +} + +// String returns the string representation +func (s OtaaV10X) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OtaaV10X) GoString() string { + return s.String() +} + +// SetAppEui sets the AppEui field's value. +func (s *OtaaV10X) SetAppEui(v string) *OtaaV10X { + s.AppEui = &v + return s +} + +// SetAppKey sets the AppKey field's value. +func (s *OtaaV10X) SetAppKey(v string) *OtaaV10X { + s.AppKey = &v + return s +} + +// OTAA device object for v1.1 +type OtaaV11 struct { + _ struct{} `type:"structure"` + + // The AppKey value. + AppKey *string `type:"string"` + + // The JoinEUI value. + JoinEui *string `type:"string"` + + // The NwkKey value. + NwkKey *string `type:"string"` +} + +// String returns the string representation +func (s OtaaV11) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OtaaV11) GoString() string { + return s.String() +} + +// SetAppKey sets the AppKey field's value. +func (s *OtaaV11) SetAppKey(v string) *OtaaV11 { + s.AppKey = &v + return s +} + +// SetJoinEui sets the JoinEui field's value. +func (s *OtaaV11) SetJoinEui(v string) *OtaaV11 { + s.JoinEui = &v + return s +} + +// SetNwkKey sets the NwkKey field's value. +func (s *OtaaV11) SetNwkKey(v string) *OtaaV11 { + s.NwkKey = &v + return s +} + +// Resource does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + ResourceId *string `type:"string"` + + ResourceType *string `type:"string"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +type SendDataToWirelessDeviceInput struct { + _ struct{} `type:"structure"` + + // The ID of the wireless device to receive the data. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The message payload to send. + // + // PayloadData is a required field + PayloadData *string `type:"string" required:"true"` + + // The transmit mode to use to send data to the wireless device. Can be: 0 for + // UM (unacknowledge mode), 1 for AM (acknowledge mode), or 2 for (TM) transparent + // mode. + // + // TransmitMode is a required field + TransmitMode *int64 `type:"integer" required:"true"` + + // Metadata about the message request. + WirelessMetadata *WirelessMetadata `type:"structure"` +} + +// String returns the string representation +func (s SendDataToWirelessDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendDataToWirelessDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendDataToWirelessDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendDataToWirelessDeviceInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.PayloadData == nil { + invalidParams.Add(request.NewErrParamRequired("PayloadData")) + } + if s.TransmitMode == nil { + invalidParams.Add(request.NewErrParamRequired("TransmitMode")) + } + if s.WirelessMetadata != nil { + if err := s.WirelessMetadata.Validate(); err != nil { + invalidParams.AddNested("WirelessMetadata", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *SendDataToWirelessDeviceInput) SetId(v string) *SendDataToWirelessDeviceInput { + s.Id = &v + return s +} + +// SetPayloadData sets the PayloadData field's value. +func (s *SendDataToWirelessDeviceInput) SetPayloadData(v string) *SendDataToWirelessDeviceInput { + s.PayloadData = &v + return s +} + +// SetTransmitMode sets the TransmitMode field's value. +func (s *SendDataToWirelessDeviceInput) SetTransmitMode(v int64) *SendDataToWirelessDeviceInput { + s.TransmitMode = &v + return s +} + +// SetWirelessMetadata sets the WirelessMetadata field's value. +func (s *SendDataToWirelessDeviceInput) SetWirelessMetadata(v *WirelessMetadata) *SendDataToWirelessDeviceInput { + s.WirelessMetadata = v + return s +} + +type SendDataToWirelessDeviceOutput struct { + _ struct{} `type:"structure"` + + // The ID of the message sent to the wireless device. + MessageId *string `type:"string"` +} + +// String returns the string representation +func (s SendDataToWirelessDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendDataToWirelessDeviceOutput) GoString() string { + return s.String() +} + +// SetMessageId sets the MessageId field's value. +func (s *SendDataToWirelessDeviceOutput) SetMessageId(v string) *SendDataToWirelessDeviceOutput { + s.MessageId = &v + return s +} + +// Information about a service profile. +type ServiceProfile struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The ID of the service profile. + Id *string `type:"string"` + + // The name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ServiceProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceProfile) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ServiceProfile) SetArn(v string) *ServiceProfile { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *ServiceProfile) SetId(v string) *ServiceProfile { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ServiceProfile) SetName(v string) *ServiceProfile { + s.Name = &v + return s +} + +// Session keys for ABP v1.1 +type SessionKeysAbpV10X struct { + _ struct{} `type:"structure"` + + // The AppSKey value. + AppSKey *string `type:"string"` + + // The NwkSKey value. + NwkSKey *string `type:"string"` +} + +// String returns the string representation +func (s SessionKeysAbpV10X) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SessionKeysAbpV10X) GoString() string { + return s.String() +} + +// SetAppSKey sets the AppSKey field's value. +func (s *SessionKeysAbpV10X) SetAppSKey(v string) *SessionKeysAbpV10X { + s.AppSKey = &v + return s +} + +// SetNwkSKey sets the NwkSKey field's value. +func (s *SessionKeysAbpV10X) SetNwkSKey(v string) *SessionKeysAbpV10X { + s.NwkSKey = &v + return s +} + +// Session keys for ABP v1.1 +type SessionKeysAbpV11 struct { + _ struct{} `type:"structure"` + + // The AppSKey value. + AppSKey *string `type:"string"` + + // The FNwkSIntKey value. + FNwkSIntKey *string `type:"string"` + + // The NwkSEncKey value. + NwkSEncKey *string `type:"string"` + + // The SNwkSIntKey value. + SNwkSIntKey *string `type:"string"` +} + +// String returns the string representation +func (s SessionKeysAbpV11) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SessionKeysAbpV11) GoString() string { + return s.String() +} + +// SetAppSKey sets the AppSKey field's value. +func (s *SessionKeysAbpV11) SetAppSKey(v string) *SessionKeysAbpV11 { + s.AppSKey = &v + return s +} + +// SetFNwkSIntKey sets the FNwkSIntKey field's value. +func (s *SessionKeysAbpV11) SetFNwkSIntKey(v string) *SessionKeysAbpV11 { + s.FNwkSIntKey = &v + return s +} + +// SetNwkSEncKey sets the NwkSEncKey field's value. +func (s *SessionKeysAbpV11) SetNwkSEncKey(v string) *SessionKeysAbpV11 { + s.NwkSEncKey = &v + return s +} + +// SetSNwkSIntKey sets the SNwkSIntKey field's value. +func (s *SessionKeysAbpV11) SetSNwkSIntKey(v string) *SessionKeysAbpV11 { + s.SNwkSIntKey = &v + return s +} + +// Information about a Sidewalk account. +type SidewalkAccountInfo struct { + _ struct{} `type:"structure"` + + // The Sidewalk Amazon ID. + AmazonId *string `type:"string"` + + // The Sidewalk application server private key. + AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation +func (s SidewalkAccountInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SidewalkAccountInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SidewalkAccountInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SidewalkAccountInfo"} + if s.AppServerPrivateKey != nil && len(*s.AppServerPrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppServerPrivateKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmazonId sets the AmazonId field's value. +func (s *SidewalkAccountInfo) SetAmazonId(v string) *SidewalkAccountInfo { + s.AmazonId = &v + return s +} + +// SetAppServerPrivateKey sets the AppServerPrivateKey field's value. +func (s *SidewalkAccountInfo) SetAppServerPrivateKey(v string) *SidewalkAccountInfo { + s.AppServerPrivateKey = &v + return s +} + +// Information about a Sidewalk account. +type SidewalkAccountInfoWithFingerprint struct { + _ struct{} `type:"structure"` + + // The Sidewalk Amazon ID. + AmazonId *string `type:"string"` + + // The Sidewalk application server private key. + AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation +func (s SidewalkAccountInfoWithFingerprint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SidewalkAccountInfoWithFingerprint) GoString() string { + return s.String() +} + +// SetAmazonId sets the AmazonId field's value. +func (s *SidewalkAccountInfoWithFingerprint) SetAmazonId(v string) *SidewalkAccountInfoWithFingerprint { + s.AmazonId = &v + return s +} + +// SetAppServerPrivateKey sets the AppServerPrivateKey field's value. +func (s *SidewalkAccountInfoWithFingerprint) SetAppServerPrivateKey(v string) *SidewalkAccountInfoWithFingerprint { + s.AppServerPrivateKey = &v + return s +} + +// Sidewalk object used by list functions. +type SidewalkListDevice struct { + _ struct{} `type:"structure"` + + // The Sidewalk Amazon ID. + AmazonId *string `type:"string"` +} + +// String returns the string representation +func (s SidewalkListDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SidewalkListDevice) GoString() string { + return s.String() +} + +// SetAmazonId sets the AmazonId field's value. +func (s *SidewalkListDevice) SetAmazonId(v string) *SidewalkListDevice { + s.AmazonId = &v + return s +} + +// Information about a Sidewalk router. +type SidewalkSendDataToDevice struct { + _ struct{} `type:"structure"` + + // The sequence number. + Seq *int64 `type:"integer"` +} + +// String returns the string representation +func (s SidewalkSendDataToDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SidewalkSendDataToDevice) GoString() string { + return s.String() +} + +// SetSeq sets the Seq field's value. +func (s *SidewalkSendDataToDevice) SetSeq(v int64) *SidewalkSendDataToDevice { + s.Seq = &v + return s +} + +// Sidewalk update. +type SidewalkUpdateAccount struct { + _ struct{} `type:"structure"` + + // The new Sidewalk application server private key. + AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation +func (s SidewalkUpdateAccount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SidewalkUpdateAccount) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SidewalkUpdateAccount) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SidewalkUpdateAccount"} + if s.AppServerPrivateKey != nil && len(*s.AppServerPrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppServerPrivateKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppServerPrivateKey sets the AppServerPrivateKey field's value. +func (s *SidewalkUpdateAccount) SetAppServerPrivateKey(v string) *SidewalkUpdateAccount { + s.AppServerPrivateKey = &v + return s +} + +// A simple label consisting of a customer-defined key-value pair +type Tag struct { + _ struct{} `type:"structure"` + + // The tag's key value. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The tag's value. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + 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 *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource to add tags to. + // + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // Adds to or modifies the tags of the given resource. Tags are metadata that + // can be used to manage a resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type TestWirelessDeviceInput struct { + _ struct{} `type:"structure"` + + // The ID of the wireless device to test. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s TestWirelessDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestWirelessDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestWirelessDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestWirelessDeviceInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *TestWirelessDeviceInput) SetId(v string) *TestWirelessDeviceInput { + s.Id = &v + return s +} + +type TestWirelessDeviceOutput struct { + _ struct{} `type:"structure"` + + // The result returned by the test. + Result *string `type:"string"` +} + +// String returns the string representation +func (s TestWirelessDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestWirelessDeviceOutput) GoString() string { + return s.String() +} + +// SetResult sets the Result field's value. +func (s *TestWirelessDeviceOutput) SetResult(v string) *TestWirelessDeviceOutput { + s.Result = &v + return s +} + +// The request was denied because it exceeded the allowed API request rate. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) 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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request was denied because the resource can't have any more tags. +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + ResourceName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TooManyTagsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" +} + +// Message returns the exception's message. +func (s *TooManyTagsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyTagsException) OrigErr() error { + return nil +} + +func (s *TooManyTagsException) 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 *TooManyTagsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyTagsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource to remove tags from. + // + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // A list of the keys of the tags to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateDestinationInput struct { + _ struct{} `type:"structure"` + + // A new description of the resource. + Description *string `type:"string"` + + // The new rule name or topic rule to send messages to. + Expression *string `type:"string"` + + // The type of value in Expression. + ExpressionType *string `type:"string" enum:"ExpressionType"` + + // The new name of the resource. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // The ARN of the IAM Role that authorizes the destination. + RoleArn *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s UpdateDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDestinationInput"} + 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.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateDestinationInput) SetDescription(v string) *UpdateDestinationInput { + s.Description = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *UpdateDestinationInput) SetExpression(v string) *UpdateDestinationInput { + s.Expression = &v + return s +} + +// SetExpressionType sets the ExpressionType field's value. +func (s *UpdateDestinationInput) SetExpressionType(v string) *UpdateDestinationInput { + s.ExpressionType = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDestinationInput) SetName(v string) *UpdateDestinationInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateDestinationInput) SetRoleArn(v string) *UpdateDestinationInput { + s.RoleArn = &v + return s +} + +type UpdateDestinationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDestinationOutput) GoString() string { + return s.String() +} + +type UpdatePartnerAccountInput struct { + _ struct{} `type:"structure"` + + // The ID of the partner account to update. + // + // PartnerAccountId is a required field + PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"` + + // The partner type. + // + // PartnerType is a required field + PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"` + + // The Sidewalk account credentials. + // + // Sidewalk is a required field + Sidewalk *SidewalkUpdateAccount `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdatePartnerAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePartnerAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePartnerAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePartnerAccountInput"} + if s.PartnerAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerAccountId")) + } + if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1)) + } + if s.PartnerType == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerType")) + } + if s.Sidewalk == nil { + invalidParams.Add(request.NewErrParamRequired("Sidewalk")) + } + if s.Sidewalk != nil { + if err := s.Sidewalk.Validate(); err != nil { + invalidParams.AddNested("Sidewalk", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPartnerAccountId sets the PartnerAccountId field's value. +func (s *UpdatePartnerAccountInput) SetPartnerAccountId(v string) *UpdatePartnerAccountInput { + s.PartnerAccountId = &v + return s +} + +// SetPartnerType sets the PartnerType field's value. +func (s *UpdatePartnerAccountInput) SetPartnerType(v string) *UpdatePartnerAccountInput { + s.PartnerType = &v + return s +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *UpdatePartnerAccountInput) SetSidewalk(v *SidewalkUpdateAccount) *UpdatePartnerAccountInput { + s.Sidewalk = v + return s +} + +type UpdatePartnerAccountOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdatePartnerAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePartnerAccountOutput) GoString() string { + return s.String() +} + +type UpdateWirelessDeviceInput struct { + _ struct{} `type:"structure"` + + // A new description of the resource. + Description *string `type:"string"` + + // The name of the new destination for the device. + DestinationName *string `type:"string"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The updated wireless device's configuration. + LoRaWAN *LoRaWANUpdateDevice `type:"structure"` + + // The new name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s UpdateWirelessDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWirelessDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWirelessDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessDeviceInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWirelessDeviceInput) SetDescription(v string) *UpdateWirelessDeviceInput { + s.Description = &v + return s +} + +// SetDestinationName sets the DestinationName field's value. +func (s *UpdateWirelessDeviceInput) SetDestinationName(v string) *UpdateWirelessDeviceInput { + s.DestinationName = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWirelessDeviceInput) SetId(v string) *UpdateWirelessDeviceInput { + s.Id = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *UpdateWirelessDeviceInput) SetLoRaWAN(v *LoRaWANUpdateDevice) *UpdateWirelessDeviceInput { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWirelessDeviceInput) SetName(v string) *UpdateWirelessDeviceInput { + s.Name = &v + return s +} + +type UpdateWirelessDeviceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateWirelessDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWirelessDeviceOutput) GoString() string { + return s.String() +} + +type UpdateWirelessGatewayInput struct { + _ struct{} `type:"structure"` + + // A new description of the resource. + Description *string `type:"string"` + + // The ID of the resource to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The new name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s UpdateWirelessGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWirelessGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWirelessGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessGatewayInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWirelessGatewayInput) SetDescription(v string) *UpdateWirelessGatewayInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWirelessGatewayInput) SetId(v string) *UpdateWirelessGatewayInput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWirelessGatewayInput) SetName(v string) *UpdateWirelessGatewayInput { + s.Name = &v + return s +} + +type UpdateWirelessGatewayOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateWirelessGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWirelessGatewayOutput) GoString() string { + return s.String() +} + +// UpdateWirelessGatewayTaskCreate object. +type UpdateWirelessGatewayTaskCreate struct { + _ struct{} `type:"structure"` + + // The properties that relate to the LoRaWAN wireless gateway. + LoRaWAN *LoRaWANUpdateGatewayTaskCreate `type:"structure"` + + // The IAM role used to read data from the S3 bucket. + UpdateDataRole *string `min:"1" type:"string"` + + // The link to the S3 bucket. + UpdateDataSource *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateWirelessGatewayTaskCreate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWirelessGatewayTaskCreate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWirelessGatewayTaskCreate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessGatewayTaskCreate"} + if s.UpdateDataRole != nil && len(*s.UpdateDataRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UpdateDataRole", 1)) + } + if s.UpdateDataSource != nil && len(*s.UpdateDataSource) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UpdateDataSource", 1)) + } + if s.LoRaWAN != nil { + if err := s.LoRaWAN.Validate(); err != nil { + invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *UpdateWirelessGatewayTaskCreate) SetLoRaWAN(v *LoRaWANUpdateGatewayTaskCreate) *UpdateWirelessGatewayTaskCreate { + s.LoRaWAN = v + return s +} + +// SetUpdateDataRole sets the UpdateDataRole field's value. +func (s *UpdateWirelessGatewayTaskCreate) SetUpdateDataRole(v string) *UpdateWirelessGatewayTaskCreate { + s.UpdateDataRole = &v + return s +} + +// SetUpdateDataSource sets the UpdateDataSource field's value. +func (s *UpdateWirelessGatewayTaskCreate) SetUpdateDataSource(v string) *UpdateWirelessGatewayTaskCreate { + s.UpdateDataSource = &v + return s +} + +// UpdateWirelessGatewayTaskEntry object. +type UpdateWirelessGatewayTaskEntry struct { + _ struct{} `type:"structure"` + + // The ID of the new wireless gateway task entry. + Id *string `type:"string"` + + // The properties that relate to the LoRaWAN wireless gateway. + LoRaWAN *LoRaWANUpdateGatewayTaskEntry `type:"structure"` +} + +// String returns the string representation +func (s UpdateWirelessGatewayTaskEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWirelessGatewayTaskEntry) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *UpdateWirelessGatewayTaskEntry) SetId(v string) *UpdateWirelessGatewayTaskEntry { + s.Id = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *UpdateWirelessGatewayTaskEntry) SetLoRaWAN(v *LoRaWANUpdateGatewayTaskEntry) *UpdateWirelessGatewayTaskEntry { + s.LoRaWAN = v + return s +} + +// The input did not meet the specified constraints. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// Information about a wireless device's operation. +type WirelessDeviceStatistics struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The name of the destination to which the device is assigned. + DestinationName *string `type:"string"` + + // The ID of the wireless device reporting the data. + Id *string `type:"string"` + + // The date and time when the most recent uplink was received. + LastUplinkReceivedAt *string `type:"string"` + + // LoRaWAN device info. + LoRaWAN *LoRaWANListDevice `type:"structure"` + + // The name of the resource. + Name *string `type:"string"` + + // The Sidewalk account credentials. + Sidewalk *SidewalkListDevice `type:"structure"` + + // The wireless device type. + Type *string `type:"string" enum:"WirelessDeviceType"` +} + +// String returns the string representation +func (s WirelessDeviceStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessDeviceStatistics) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *WirelessDeviceStatistics) SetArn(v string) *WirelessDeviceStatistics { + s.Arn = &v + return s +} + +// SetDestinationName sets the DestinationName field's value. +func (s *WirelessDeviceStatistics) SetDestinationName(v string) *WirelessDeviceStatistics { + s.DestinationName = &v + return s +} + +// SetId sets the Id field's value. +func (s *WirelessDeviceStatistics) SetId(v string) *WirelessDeviceStatistics { + s.Id = &v + return s +} + +// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value. +func (s *WirelessDeviceStatistics) SetLastUplinkReceivedAt(v string) *WirelessDeviceStatistics { + s.LastUplinkReceivedAt = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *WirelessDeviceStatistics) SetLoRaWAN(v *LoRaWANListDevice) *WirelessDeviceStatistics { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *WirelessDeviceStatistics) SetName(v string) *WirelessDeviceStatistics { + s.Name = &v + return s +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *WirelessDeviceStatistics) SetSidewalk(v *SidewalkListDevice) *WirelessDeviceStatistics { + s.Sidewalk = v + return s +} + +// SetType sets the Type field's value. +func (s *WirelessDeviceStatistics) SetType(v string) *WirelessDeviceStatistics { + s.Type = &v + return s +} + +// Information about a wireless gateway's operation. +type WirelessGatewayStatistics struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the resource. + Arn *string `type:"string"` + + // The description of the resource. + Description *string `type:"string"` + + // The ID of the wireless gateway reporting the data. + Id *string `type:"string"` + + // The date and time when the most recent uplink was received. + LastUplinkReceivedAt *string `type:"string"` + + // LoRaWAN gateway info. + LoRaWAN *LoRaWANGateway `type:"structure"` + + // The name of the resource. + Name *string `type:"string"` +} + +// String returns the string representation +func (s WirelessGatewayStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessGatewayStatistics) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *WirelessGatewayStatistics) SetArn(v string) *WirelessGatewayStatistics { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *WirelessGatewayStatistics) SetDescription(v string) *WirelessGatewayStatistics { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *WirelessGatewayStatistics) SetId(v string) *WirelessGatewayStatistics { + s.Id = &v + return s +} + +// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value. +func (s *WirelessGatewayStatistics) SetLastUplinkReceivedAt(v string) *WirelessGatewayStatistics { + s.LastUplinkReceivedAt = &v + return s +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *WirelessGatewayStatistics) SetLoRaWAN(v *LoRaWANGateway) *WirelessGatewayStatistics { + s.LoRaWAN = v + return s +} + +// SetName sets the Name field's value. +func (s *WirelessGatewayStatistics) SetName(v string) *WirelessGatewayStatistics { + s.Name = &v + return s +} + +// WirelessMetadata object. +type WirelessMetadata struct { + _ struct{} `type:"structure"` + + // LoRaWAN device info. + LoRaWAN *LoRaWANSendDataToDevice `type:"structure"` + + // The Sidewalk account credentials. + Sidewalk *SidewalkSendDataToDevice `type:"structure"` +} + +// String returns the string representation +func (s WirelessMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessMetadata) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WirelessMetadata) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WirelessMetadata"} + if s.LoRaWAN != nil { + if err := s.LoRaWAN.Validate(); err != nil { + invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLoRaWAN sets the LoRaWAN field's value. +func (s *WirelessMetadata) SetLoRaWAN(v *LoRaWANSendDataToDevice) *WirelessMetadata { + s.LoRaWAN = v + return s +} + +// SetSidewalk sets the Sidewalk field's value. +func (s *WirelessMetadata) SetSidewalk(v *SidewalkSendDataToDevice) *WirelessMetadata { + s.Sidewalk = v + return s +} + +const ( + // ExpressionTypeRuleName is a ExpressionType enum value + ExpressionTypeRuleName = "RuleName" +) + +// ExpressionType_Values returns all elements of the ExpressionType enum +func ExpressionType_Values() []string { + return []string{ + ExpressionTypeRuleName, + } +} + +const ( + // PartnerTypeSidewalk is a PartnerType enum value + PartnerTypeSidewalk = "Sidewalk" +) + +// PartnerType_Values returns all elements of the PartnerType enum +func PartnerType_Values() []string { + return []string{ + PartnerTypeSidewalk, + } +} + +const ( + // WirelessDeviceIdTypeWirelessDeviceId is a WirelessDeviceIdType enum value + WirelessDeviceIdTypeWirelessDeviceId = "WirelessDeviceId" + + // WirelessDeviceIdTypeDevEui is a WirelessDeviceIdType enum value + WirelessDeviceIdTypeDevEui = "DevEui" + + // WirelessDeviceIdTypeThingName is a WirelessDeviceIdType enum value + WirelessDeviceIdTypeThingName = "ThingName" +) + +// WirelessDeviceIdType_Values returns all elements of the WirelessDeviceIdType enum +func WirelessDeviceIdType_Values() []string { + return []string{ + WirelessDeviceIdTypeWirelessDeviceId, + WirelessDeviceIdTypeDevEui, + WirelessDeviceIdTypeThingName, + } +} + +const ( + // WirelessDeviceTypeSidewalk is a WirelessDeviceType enum value + WirelessDeviceTypeSidewalk = "Sidewalk" + + // WirelessDeviceTypeLoRaWan is a WirelessDeviceType enum value + WirelessDeviceTypeLoRaWan = "LoRaWAN" +) + +// WirelessDeviceType_Values returns all elements of the WirelessDeviceType enum +func WirelessDeviceType_Values() []string { + return []string{ + WirelessDeviceTypeSidewalk, + WirelessDeviceTypeLoRaWan, + } +} + +const ( + // WirelessGatewayIdTypeGatewayEui is a WirelessGatewayIdType enum value + WirelessGatewayIdTypeGatewayEui = "GatewayEui" + + // WirelessGatewayIdTypeWirelessGatewayId is a WirelessGatewayIdType enum value + WirelessGatewayIdTypeWirelessGatewayId = "WirelessGatewayId" + + // WirelessGatewayIdTypeThingName is a WirelessGatewayIdType enum value + WirelessGatewayIdTypeThingName = "ThingName" +) + +// WirelessGatewayIdType_Values returns all elements of the WirelessGatewayIdType enum +func WirelessGatewayIdType_Values() []string { + return []string{ + WirelessGatewayIdTypeGatewayEui, + WirelessGatewayIdTypeWirelessGatewayId, + WirelessGatewayIdTypeThingName, + } +} + +const ( + // WirelessGatewayServiceTypeCups is a WirelessGatewayServiceType enum value + WirelessGatewayServiceTypeCups = "CUPS" + + // WirelessGatewayServiceTypeLns is a WirelessGatewayServiceType enum value + WirelessGatewayServiceTypeLns = "LNS" +) + +// WirelessGatewayServiceType_Values returns all elements of the WirelessGatewayServiceType enum +func WirelessGatewayServiceType_Values() []string { + return []string{ + WirelessGatewayServiceTypeCups, + WirelessGatewayServiceTypeLns, + } +} + +const ( + // WirelessGatewayTaskDefinitionTypeUpdate is a WirelessGatewayTaskDefinitionType enum value + WirelessGatewayTaskDefinitionTypeUpdate = "UPDATE" +) + +// WirelessGatewayTaskDefinitionType_Values returns all elements of the WirelessGatewayTaskDefinitionType enum +func WirelessGatewayTaskDefinitionType_Values() []string { + return []string{ + WirelessGatewayTaskDefinitionTypeUpdate, + } +} + +const ( + // WirelessGatewayTaskStatusPending is a WirelessGatewayTaskStatus enum value + WirelessGatewayTaskStatusPending = "PENDING" + + // WirelessGatewayTaskStatusInProgress is a WirelessGatewayTaskStatus enum value + WirelessGatewayTaskStatusInProgress = "IN_PROGRESS" + + // WirelessGatewayTaskStatusFirstRetry is a WirelessGatewayTaskStatus enum value + WirelessGatewayTaskStatusFirstRetry = "FIRST_RETRY" + + // WirelessGatewayTaskStatusSecondRetry is a WirelessGatewayTaskStatus enum value + WirelessGatewayTaskStatusSecondRetry = "SECOND_RETRY" + + // WirelessGatewayTaskStatusCompleted is a WirelessGatewayTaskStatus enum value + WirelessGatewayTaskStatusCompleted = "COMPLETED" + + // WirelessGatewayTaskStatusFailed is a WirelessGatewayTaskStatus enum value + WirelessGatewayTaskStatusFailed = "FAILED" +) + +// WirelessGatewayTaskStatus_Values returns all elements of the WirelessGatewayTaskStatus enum +func WirelessGatewayTaskStatus_Values() []string { + return []string{ + WirelessGatewayTaskStatusPending, + WirelessGatewayTaskStatusInProgress, + WirelessGatewayTaskStatusFirstRetry, + WirelessGatewayTaskStatusSecondRetry, + WirelessGatewayTaskStatusCompleted, + WirelessGatewayTaskStatusFailed, + } +} diff --git a/service/iotwireless/doc.go b/service/iotwireless/doc.go new file mode 100644 index 0000000000..bc3cfde87b --- /dev/null +++ b/service/iotwireless/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotwireless provides the client and types for making API +// requests to AWS IoT Wireless. +// +// AWS IoT Wireless API documentation +// +// See https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22 for more information on this service. +// +// See iotwireless package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotwireless/ +// +// Using the Client +// +// To contact AWS IoT Wireless 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 AWS IoT Wireless client IoTWireless for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotwireless/#New +package iotwireless diff --git a/service/iotwireless/errors.go b/service/iotwireless/errors.go new file mode 100644 index 0000000000..2710f3c58c --- /dev/null +++ b/service/iotwireless/errors.go @@ -0,0 +1,62 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotwireless + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // User does not have permission to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Adding, updating, or deleting the resource can cause an inconsistent state. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // An unexpected error occurred while processing a request. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Resource does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was denied because it exceeded the allowed API request rate. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The request was denied because the resource can't have any more tags. + ErrCodeTooManyTagsException = "TooManyTagsException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input did not meet the specified constraints. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "TooManyTagsException": newErrorTooManyTagsException, + "ValidationException": newErrorValidationException, +} diff --git a/service/iotwireless/iotwirelessiface/interface.go b/service/iotwireless/iotwirelessiface/interface.go new file mode 100644 index 0000000000..cc996874a0 --- /dev/null +++ b/service/iotwireless/iotwirelessiface/interface.go @@ -0,0 +1,283 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotwirelessiface provides an interface to enable mocking the AWS IoT Wireless 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 iotwirelessiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/iotwireless" +) + +// IoTWirelessAPI provides an interface to enable mocking the +// iotwireless.IoTWireless 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 +// // AWS IoT Wireless. +// func myFunc(svc iotwirelessiface.IoTWirelessAPI) bool { +// // Make svc.AssociateAwsAccountWithPartnerAccount request +// } +// +// func main() { +// sess := session.New() +// svc := iotwireless.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockIoTWirelessClient struct { +// iotwirelessiface.IoTWirelessAPI +// } +// func (m *mockIoTWirelessClient) AssociateAwsAccountWithPartnerAccount(input *iotwireless.AssociateAwsAccountWithPartnerAccountInput) (*iotwireless.AssociateAwsAccountWithPartnerAccountOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockIoTWirelessClient{} +// +// 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 IoTWirelessAPI interface { + AssociateAwsAccountWithPartnerAccount(*iotwireless.AssociateAwsAccountWithPartnerAccountInput) (*iotwireless.AssociateAwsAccountWithPartnerAccountOutput, error) + AssociateAwsAccountWithPartnerAccountWithContext(aws.Context, *iotwireless.AssociateAwsAccountWithPartnerAccountInput, ...request.Option) (*iotwireless.AssociateAwsAccountWithPartnerAccountOutput, error) + AssociateAwsAccountWithPartnerAccountRequest(*iotwireless.AssociateAwsAccountWithPartnerAccountInput) (*request.Request, *iotwireless.AssociateAwsAccountWithPartnerAccountOutput) + + AssociateWirelessDeviceWithThing(*iotwireless.AssociateWirelessDeviceWithThingInput) (*iotwireless.AssociateWirelessDeviceWithThingOutput, error) + AssociateWirelessDeviceWithThingWithContext(aws.Context, *iotwireless.AssociateWirelessDeviceWithThingInput, ...request.Option) (*iotwireless.AssociateWirelessDeviceWithThingOutput, error) + AssociateWirelessDeviceWithThingRequest(*iotwireless.AssociateWirelessDeviceWithThingInput) (*request.Request, *iotwireless.AssociateWirelessDeviceWithThingOutput) + + AssociateWirelessGatewayWithCertificate(*iotwireless.AssociateWirelessGatewayWithCertificateInput) (*iotwireless.AssociateWirelessGatewayWithCertificateOutput, error) + AssociateWirelessGatewayWithCertificateWithContext(aws.Context, *iotwireless.AssociateWirelessGatewayWithCertificateInput, ...request.Option) (*iotwireless.AssociateWirelessGatewayWithCertificateOutput, error) + AssociateWirelessGatewayWithCertificateRequest(*iotwireless.AssociateWirelessGatewayWithCertificateInput) (*request.Request, *iotwireless.AssociateWirelessGatewayWithCertificateOutput) + + AssociateWirelessGatewayWithThing(*iotwireless.AssociateWirelessGatewayWithThingInput) (*iotwireless.AssociateWirelessGatewayWithThingOutput, error) + AssociateWirelessGatewayWithThingWithContext(aws.Context, *iotwireless.AssociateWirelessGatewayWithThingInput, ...request.Option) (*iotwireless.AssociateWirelessGatewayWithThingOutput, error) + AssociateWirelessGatewayWithThingRequest(*iotwireless.AssociateWirelessGatewayWithThingInput) (*request.Request, *iotwireless.AssociateWirelessGatewayWithThingOutput) + + CreateDestination(*iotwireless.CreateDestinationInput) (*iotwireless.CreateDestinationOutput, error) + CreateDestinationWithContext(aws.Context, *iotwireless.CreateDestinationInput, ...request.Option) (*iotwireless.CreateDestinationOutput, error) + CreateDestinationRequest(*iotwireless.CreateDestinationInput) (*request.Request, *iotwireless.CreateDestinationOutput) + + CreateDeviceProfile(*iotwireless.CreateDeviceProfileInput) (*iotwireless.CreateDeviceProfileOutput, error) + CreateDeviceProfileWithContext(aws.Context, *iotwireless.CreateDeviceProfileInput, ...request.Option) (*iotwireless.CreateDeviceProfileOutput, error) + CreateDeviceProfileRequest(*iotwireless.CreateDeviceProfileInput) (*request.Request, *iotwireless.CreateDeviceProfileOutput) + + CreateServiceProfile(*iotwireless.CreateServiceProfileInput) (*iotwireless.CreateServiceProfileOutput, error) + CreateServiceProfileWithContext(aws.Context, *iotwireless.CreateServiceProfileInput, ...request.Option) (*iotwireless.CreateServiceProfileOutput, error) + CreateServiceProfileRequest(*iotwireless.CreateServiceProfileInput) (*request.Request, *iotwireless.CreateServiceProfileOutput) + + CreateWirelessDevice(*iotwireless.CreateWirelessDeviceInput) (*iotwireless.CreateWirelessDeviceOutput, error) + CreateWirelessDeviceWithContext(aws.Context, *iotwireless.CreateWirelessDeviceInput, ...request.Option) (*iotwireless.CreateWirelessDeviceOutput, error) + CreateWirelessDeviceRequest(*iotwireless.CreateWirelessDeviceInput) (*request.Request, *iotwireless.CreateWirelessDeviceOutput) + + CreateWirelessGateway(*iotwireless.CreateWirelessGatewayInput) (*iotwireless.CreateWirelessGatewayOutput, error) + CreateWirelessGatewayWithContext(aws.Context, *iotwireless.CreateWirelessGatewayInput, ...request.Option) (*iotwireless.CreateWirelessGatewayOutput, error) + CreateWirelessGatewayRequest(*iotwireless.CreateWirelessGatewayInput) (*request.Request, *iotwireless.CreateWirelessGatewayOutput) + + CreateWirelessGatewayTask(*iotwireless.CreateWirelessGatewayTaskInput) (*iotwireless.CreateWirelessGatewayTaskOutput, error) + CreateWirelessGatewayTaskWithContext(aws.Context, *iotwireless.CreateWirelessGatewayTaskInput, ...request.Option) (*iotwireless.CreateWirelessGatewayTaskOutput, error) + CreateWirelessGatewayTaskRequest(*iotwireless.CreateWirelessGatewayTaskInput) (*request.Request, *iotwireless.CreateWirelessGatewayTaskOutput) + + CreateWirelessGatewayTaskDefinition(*iotwireless.CreateWirelessGatewayTaskDefinitionInput) (*iotwireless.CreateWirelessGatewayTaskDefinitionOutput, error) + CreateWirelessGatewayTaskDefinitionWithContext(aws.Context, *iotwireless.CreateWirelessGatewayTaskDefinitionInput, ...request.Option) (*iotwireless.CreateWirelessGatewayTaskDefinitionOutput, error) + CreateWirelessGatewayTaskDefinitionRequest(*iotwireless.CreateWirelessGatewayTaskDefinitionInput) (*request.Request, *iotwireless.CreateWirelessGatewayTaskDefinitionOutput) + + DeleteDestination(*iotwireless.DeleteDestinationInput) (*iotwireless.DeleteDestinationOutput, error) + DeleteDestinationWithContext(aws.Context, *iotwireless.DeleteDestinationInput, ...request.Option) (*iotwireless.DeleteDestinationOutput, error) + DeleteDestinationRequest(*iotwireless.DeleteDestinationInput) (*request.Request, *iotwireless.DeleteDestinationOutput) + + DeleteDeviceProfile(*iotwireless.DeleteDeviceProfileInput) (*iotwireless.DeleteDeviceProfileOutput, error) + DeleteDeviceProfileWithContext(aws.Context, *iotwireless.DeleteDeviceProfileInput, ...request.Option) (*iotwireless.DeleteDeviceProfileOutput, error) + DeleteDeviceProfileRequest(*iotwireless.DeleteDeviceProfileInput) (*request.Request, *iotwireless.DeleteDeviceProfileOutput) + + DeleteServiceProfile(*iotwireless.DeleteServiceProfileInput) (*iotwireless.DeleteServiceProfileOutput, error) + DeleteServiceProfileWithContext(aws.Context, *iotwireless.DeleteServiceProfileInput, ...request.Option) (*iotwireless.DeleteServiceProfileOutput, error) + DeleteServiceProfileRequest(*iotwireless.DeleteServiceProfileInput) (*request.Request, *iotwireless.DeleteServiceProfileOutput) + + DeleteWirelessDevice(*iotwireless.DeleteWirelessDeviceInput) (*iotwireless.DeleteWirelessDeviceOutput, error) + DeleteWirelessDeviceWithContext(aws.Context, *iotwireless.DeleteWirelessDeviceInput, ...request.Option) (*iotwireless.DeleteWirelessDeviceOutput, error) + DeleteWirelessDeviceRequest(*iotwireless.DeleteWirelessDeviceInput) (*request.Request, *iotwireless.DeleteWirelessDeviceOutput) + + DeleteWirelessGateway(*iotwireless.DeleteWirelessGatewayInput) (*iotwireless.DeleteWirelessGatewayOutput, error) + DeleteWirelessGatewayWithContext(aws.Context, *iotwireless.DeleteWirelessGatewayInput, ...request.Option) (*iotwireless.DeleteWirelessGatewayOutput, error) + DeleteWirelessGatewayRequest(*iotwireless.DeleteWirelessGatewayInput) (*request.Request, *iotwireless.DeleteWirelessGatewayOutput) + + DeleteWirelessGatewayTask(*iotwireless.DeleteWirelessGatewayTaskInput) (*iotwireless.DeleteWirelessGatewayTaskOutput, error) + DeleteWirelessGatewayTaskWithContext(aws.Context, *iotwireless.DeleteWirelessGatewayTaskInput, ...request.Option) (*iotwireless.DeleteWirelessGatewayTaskOutput, error) + DeleteWirelessGatewayTaskRequest(*iotwireless.DeleteWirelessGatewayTaskInput) (*request.Request, *iotwireless.DeleteWirelessGatewayTaskOutput) + + DeleteWirelessGatewayTaskDefinition(*iotwireless.DeleteWirelessGatewayTaskDefinitionInput) (*iotwireless.DeleteWirelessGatewayTaskDefinitionOutput, error) + DeleteWirelessGatewayTaskDefinitionWithContext(aws.Context, *iotwireless.DeleteWirelessGatewayTaskDefinitionInput, ...request.Option) (*iotwireless.DeleteWirelessGatewayTaskDefinitionOutput, error) + DeleteWirelessGatewayTaskDefinitionRequest(*iotwireless.DeleteWirelessGatewayTaskDefinitionInput) (*request.Request, *iotwireless.DeleteWirelessGatewayTaskDefinitionOutput) + + DisassociateAwsAccountFromPartnerAccount(*iotwireless.DisassociateAwsAccountFromPartnerAccountInput) (*iotwireless.DisassociateAwsAccountFromPartnerAccountOutput, error) + DisassociateAwsAccountFromPartnerAccountWithContext(aws.Context, *iotwireless.DisassociateAwsAccountFromPartnerAccountInput, ...request.Option) (*iotwireless.DisassociateAwsAccountFromPartnerAccountOutput, error) + DisassociateAwsAccountFromPartnerAccountRequest(*iotwireless.DisassociateAwsAccountFromPartnerAccountInput) (*request.Request, *iotwireless.DisassociateAwsAccountFromPartnerAccountOutput) + + DisassociateWirelessDeviceFromThing(*iotwireless.DisassociateWirelessDeviceFromThingInput) (*iotwireless.DisassociateWirelessDeviceFromThingOutput, error) + DisassociateWirelessDeviceFromThingWithContext(aws.Context, *iotwireless.DisassociateWirelessDeviceFromThingInput, ...request.Option) (*iotwireless.DisassociateWirelessDeviceFromThingOutput, error) + DisassociateWirelessDeviceFromThingRequest(*iotwireless.DisassociateWirelessDeviceFromThingInput) (*request.Request, *iotwireless.DisassociateWirelessDeviceFromThingOutput) + + DisassociateWirelessGatewayFromCertificate(*iotwireless.DisassociateWirelessGatewayFromCertificateInput) (*iotwireless.DisassociateWirelessGatewayFromCertificateOutput, error) + DisassociateWirelessGatewayFromCertificateWithContext(aws.Context, *iotwireless.DisassociateWirelessGatewayFromCertificateInput, ...request.Option) (*iotwireless.DisassociateWirelessGatewayFromCertificateOutput, error) + DisassociateWirelessGatewayFromCertificateRequest(*iotwireless.DisassociateWirelessGatewayFromCertificateInput) (*request.Request, *iotwireless.DisassociateWirelessGatewayFromCertificateOutput) + + DisassociateWirelessGatewayFromThing(*iotwireless.DisassociateWirelessGatewayFromThingInput) (*iotwireless.DisassociateWirelessGatewayFromThingOutput, error) + DisassociateWirelessGatewayFromThingWithContext(aws.Context, *iotwireless.DisassociateWirelessGatewayFromThingInput, ...request.Option) (*iotwireless.DisassociateWirelessGatewayFromThingOutput, error) + DisassociateWirelessGatewayFromThingRequest(*iotwireless.DisassociateWirelessGatewayFromThingInput) (*request.Request, *iotwireless.DisassociateWirelessGatewayFromThingOutput) + + GetDestination(*iotwireless.GetDestinationInput) (*iotwireless.GetDestinationOutput, error) + GetDestinationWithContext(aws.Context, *iotwireless.GetDestinationInput, ...request.Option) (*iotwireless.GetDestinationOutput, error) + GetDestinationRequest(*iotwireless.GetDestinationInput) (*request.Request, *iotwireless.GetDestinationOutput) + + GetDeviceProfile(*iotwireless.GetDeviceProfileInput) (*iotwireless.GetDeviceProfileOutput, error) + GetDeviceProfileWithContext(aws.Context, *iotwireless.GetDeviceProfileInput, ...request.Option) (*iotwireless.GetDeviceProfileOutput, error) + GetDeviceProfileRequest(*iotwireless.GetDeviceProfileInput) (*request.Request, *iotwireless.GetDeviceProfileOutput) + + GetPartnerAccount(*iotwireless.GetPartnerAccountInput) (*iotwireless.GetPartnerAccountOutput, error) + GetPartnerAccountWithContext(aws.Context, *iotwireless.GetPartnerAccountInput, ...request.Option) (*iotwireless.GetPartnerAccountOutput, error) + GetPartnerAccountRequest(*iotwireless.GetPartnerAccountInput) (*request.Request, *iotwireless.GetPartnerAccountOutput) + + GetServiceEndpoint(*iotwireless.GetServiceEndpointInput) (*iotwireless.GetServiceEndpointOutput, error) + GetServiceEndpointWithContext(aws.Context, *iotwireless.GetServiceEndpointInput, ...request.Option) (*iotwireless.GetServiceEndpointOutput, error) + GetServiceEndpointRequest(*iotwireless.GetServiceEndpointInput) (*request.Request, *iotwireless.GetServiceEndpointOutput) + + GetServiceProfile(*iotwireless.GetServiceProfileInput) (*iotwireless.GetServiceProfileOutput, error) + GetServiceProfileWithContext(aws.Context, *iotwireless.GetServiceProfileInput, ...request.Option) (*iotwireless.GetServiceProfileOutput, error) + GetServiceProfileRequest(*iotwireless.GetServiceProfileInput) (*request.Request, *iotwireless.GetServiceProfileOutput) + + GetWirelessDevice(*iotwireless.GetWirelessDeviceInput) (*iotwireless.GetWirelessDeviceOutput, error) + GetWirelessDeviceWithContext(aws.Context, *iotwireless.GetWirelessDeviceInput, ...request.Option) (*iotwireless.GetWirelessDeviceOutput, error) + GetWirelessDeviceRequest(*iotwireless.GetWirelessDeviceInput) (*request.Request, *iotwireless.GetWirelessDeviceOutput) + + GetWirelessDeviceStatistics(*iotwireless.GetWirelessDeviceStatisticsInput) (*iotwireless.GetWirelessDeviceStatisticsOutput, error) + GetWirelessDeviceStatisticsWithContext(aws.Context, *iotwireless.GetWirelessDeviceStatisticsInput, ...request.Option) (*iotwireless.GetWirelessDeviceStatisticsOutput, error) + GetWirelessDeviceStatisticsRequest(*iotwireless.GetWirelessDeviceStatisticsInput) (*request.Request, *iotwireless.GetWirelessDeviceStatisticsOutput) + + GetWirelessGateway(*iotwireless.GetWirelessGatewayInput) (*iotwireless.GetWirelessGatewayOutput, error) + GetWirelessGatewayWithContext(aws.Context, *iotwireless.GetWirelessGatewayInput, ...request.Option) (*iotwireless.GetWirelessGatewayOutput, error) + GetWirelessGatewayRequest(*iotwireless.GetWirelessGatewayInput) (*request.Request, *iotwireless.GetWirelessGatewayOutput) + + GetWirelessGatewayCertificate(*iotwireless.GetWirelessGatewayCertificateInput) (*iotwireless.GetWirelessGatewayCertificateOutput, error) + GetWirelessGatewayCertificateWithContext(aws.Context, *iotwireless.GetWirelessGatewayCertificateInput, ...request.Option) (*iotwireless.GetWirelessGatewayCertificateOutput, error) + GetWirelessGatewayCertificateRequest(*iotwireless.GetWirelessGatewayCertificateInput) (*request.Request, *iotwireless.GetWirelessGatewayCertificateOutput) + + GetWirelessGatewayFirmwareInformation(*iotwireless.GetWirelessGatewayFirmwareInformationInput) (*iotwireless.GetWirelessGatewayFirmwareInformationOutput, error) + GetWirelessGatewayFirmwareInformationWithContext(aws.Context, *iotwireless.GetWirelessGatewayFirmwareInformationInput, ...request.Option) (*iotwireless.GetWirelessGatewayFirmwareInformationOutput, error) + GetWirelessGatewayFirmwareInformationRequest(*iotwireless.GetWirelessGatewayFirmwareInformationInput) (*request.Request, *iotwireless.GetWirelessGatewayFirmwareInformationOutput) + + GetWirelessGatewayStatistics(*iotwireless.GetWirelessGatewayStatisticsInput) (*iotwireless.GetWirelessGatewayStatisticsOutput, error) + GetWirelessGatewayStatisticsWithContext(aws.Context, *iotwireless.GetWirelessGatewayStatisticsInput, ...request.Option) (*iotwireless.GetWirelessGatewayStatisticsOutput, error) + GetWirelessGatewayStatisticsRequest(*iotwireless.GetWirelessGatewayStatisticsInput) (*request.Request, *iotwireless.GetWirelessGatewayStatisticsOutput) + + GetWirelessGatewayTask(*iotwireless.GetWirelessGatewayTaskInput) (*iotwireless.GetWirelessGatewayTaskOutput, error) + GetWirelessGatewayTaskWithContext(aws.Context, *iotwireless.GetWirelessGatewayTaskInput, ...request.Option) (*iotwireless.GetWirelessGatewayTaskOutput, error) + GetWirelessGatewayTaskRequest(*iotwireless.GetWirelessGatewayTaskInput) (*request.Request, *iotwireless.GetWirelessGatewayTaskOutput) + + GetWirelessGatewayTaskDefinition(*iotwireless.GetWirelessGatewayTaskDefinitionInput) (*iotwireless.GetWirelessGatewayTaskDefinitionOutput, error) + GetWirelessGatewayTaskDefinitionWithContext(aws.Context, *iotwireless.GetWirelessGatewayTaskDefinitionInput, ...request.Option) (*iotwireless.GetWirelessGatewayTaskDefinitionOutput, error) + GetWirelessGatewayTaskDefinitionRequest(*iotwireless.GetWirelessGatewayTaskDefinitionInput) (*request.Request, *iotwireless.GetWirelessGatewayTaskDefinitionOutput) + + ListDestinations(*iotwireless.ListDestinationsInput) (*iotwireless.ListDestinationsOutput, error) + ListDestinationsWithContext(aws.Context, *iotwireless.ListDestinationsInput, ...request.Option) (*iotwireless.ListDestinationsOutput, error) + ListDestinationsRequest(*iotwireless.ListDestinationsInput) (*request.Request, *iotwireless.ListDestinationsOutput) + + ListDestinationsPages(*iotwireless.ListDestinationsInput, func(*iotwireless.ListDestinationsOutput, bool) bool) error + ListDestinationsPagesWithContext(aws.Context, *iotwireless.ListDestinationsInput, func(*iotwireless.ListDestinationsOutput, bool) bool, ...request.Option) error + + ListDeviceProfiles(*iotwireless.ListDeviceProfilesInput) (*iotwireless.ListDeviceProfilesOutput, error) + ListDeviceProfilesWithContext(aws.Context, *iotwireless.ListDeviceProfilesInput, ...request.Option) (*iotwireless.ListDeviceProfilesOutput, error) + ListDeviceProfilesRequest(*iotwireless.ListDeviceProfilesInput) (*request.Request, *iotwireless.ListDeviceProfilesOutput) + + ListDeviceProfilesPages(*iotwireless.ListDeviceProfilesInput, func(*iotwireless.ListDeviceProfilesOutput, bool) bool) error + ListDeviceProfilesPagesWithContext(aws.Context, *iotwireless.ListDeviceProfilesInput, func(*iotwireless.ListDeviceProfilesOutput, bool) bool, ...request.Option) error + + ListPartnerAccounts(*iotwireless.ListPartnerAccountsInput) (*iotwireless.ListPartnerAccountsOutput, error) + ListPartnerAccountsWithContext(aws.Context, *iotwireless.ListPartnerAccountsInput, ...request.Option) (*iotwireless.ListPartnerAccountsOutput, error) + ListPartnerAccountsRequest(*iotwireless.ListPartnerAccountsInput) (*request.Request, *iotwireless.ListPartnerAccountsOutput) + + ListServiceProfiles(*iotwireless.ListServiceProfilesInput) (*iotwireless.ListServiceProfilesOutput, error) + ListServiceProfilesWithContext(aws.Context, *iotwireless.ListServiceProfilesInput, ...request.Option) (*iotwireless.ListServiceProfilesOutput, error) + ListServiceProfilesRequest(*iotwireless.ListServiceProfilesInput) (*request.Request, *iotwireless.ListServiceProfilesOutput) + + ListServiceProfilesPages(*iotwireless.ListServiceProfilesInput, func(*iotwireless.ListServiceProfilesOutput, bool) bool) error + ListServiceProfilesPagesWithContext(aws.Context, *iotwireless.ListServiceProfilesInput, func(*iotwireless.ListServiceProfilesOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*iotwireless.ListTagsForResourceInput) (*iotwireless.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *iotwireless.ListTagsForResourceInput, ...request.Option) (*iotwireless.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*iotwireless.ListTagsForResourceInput) (*request.Request, *iotwireless.ListTagsForResourceOutput) + + ListWirelessDevices(*iotwireless.ListWirelessDevicesInput) (*iotwireless.ListWirelessDevicesOutput, error) + ListWirelessDevicesWithContext(aws.Context, *iotwireless.ListWirelessDevicesInput, ...request.Option) (*iotwireless.ListWirelessDevicesOutput, error) + ListWirelessDevicesRequest(*iotwireless.ListWirelessDevicesInput) (*request.Request, *iotwireless.ListWirelessDevicesOutput) + + ListWirelessDevicesPages(*iotwireless.ListWirelessDevicesInput, func(*iotwireless.ListWirelessDevicesOutput, bool) bool) error + ListWirelessDevicesPagesWithContext(aws.Context, *iotwireless.ListWirelessDevicesInput, func(*iotwireless.ListWirelessDevicesOutput, bool) bool, ...request.Option) error + + ListWirelessGatewayTaskDefinitions(*iotwireless.ListWirelessGatewayTaskDefinitionsInput) (*iotwireless.ListWirelessGatewayTaskDefinitionsOutput, error) + ListWirelessGatewayTaskDefinitionsWithContext(aws.Context, *iotwireless.ListWirelessGatewayTaskDefinitionsInput, ...request.Option) (*iotwireless.ListWirelessGatewayTaskDefinitionsOutput, error) + ListWirelessGatewayTaskDefinitionsRequest(*iotwireless.ListWirelessGatewayTaskDefinitionsInput) (*request.Request, *iotwireless.ListWirelessGatewayTaskDefinitionsOutput) + + ListWirelessGateways(*iotwireless.ListWirelessGatewaysInput) (*iotwireless.ListWirelessGatewaysOutput, error) + ListWirelessGatewaysWithContext(aws.Context, *iotwireless.ListWirelessGatewaysInput, ...request.Option) (*iotwireless.ListWirelessGatewaysOutput, error) + ListWirelessGatewaysRequest(*iotwireless.ListWirelessGatewaysInput) (*request.Request, *iotwireless.ListWirelessGatewaysOutput) + + ListWirelessGatewaysPages(*iotwireless.ListWirelessGatewaysInput, func(*iotwireless.ListWirelessGatewaysOutput, bool) bool) error + ListWirelessGatewaysPagesWithContext(aws.Context, *iotwireless.ListWirelessGatewaysInput, func(*iotwireless.ListWirelessGatewaysOutput, bool) bool, ...request.Option) error + + SendDataToWirelessDevice(*iotwireless.SendDataToWirelessDeviceInput) (*iotwireless.SendDataToWirelessDeviceOutput, error) + SendDataToWirelessDeviceWithContext(aws.Context, *iotwireless.SendDataToWirelessDeviceInput, ...request.Option) (*iotwireless.SendDataToWirelessDeviceOutput, error) + SendDataToWirelessDeviceRequest(*iotwireless.SendDataToWirelessDeviceInput) (*request.Request, *iotwireless.SendDataToWirelessDeviceOutput) + + TagResource(*iotwireless.TagResourceInput) (*iotwireless.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *iotwireless.TagResourceInput, ...request.Option) (*iotwireless.TagResourceOutput, error) + TagResourceRequest(*iotwireless.TagResourceInput) (*request.Request, *iotwireless.TagResourceOutput) + + TestWirelessDevice(*iotwireless.TestWirelessDeviceInput) (*iotwireless.TestWirelessDeviceOutput, error) + TestWirelessDeviceWithContext(aws.Context, *iotwireless.TestWirelessDeviceInput, ...request.Option) (*iotwireless.TestWirelessDeviceOutput, error) + TestWirelessDeviceRequest(*iotwireless.TestWirelessDeviceInput) (*request.Request, *iotwireless.TestWirelessDeviceOutput) + + UntagResource(*iotwireless.UntagResourceInput) (*iotwireless.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *iotwireless.UntagResourceInput, ...request.Option) (*iotwireless.UntagResourceOutput, error) + UntagResourceRequest(*iotwireless.UntagResourceInput) (*request.Request, *iotwireless.UntagResourceOutput) + + UpdateDestination(*iotwireless.UpdateDestinationInput) (*iotwireless.UpdateDestinationOutput, error) + UpdateDestinationWithContext(aws.Context, *iotwireless.UpdateDestinationInput, ...request.Option) (*iotwireless.UpdateDestinationOutput, error) + UpdateDestinationRequest(*iotwireless.UpdateDestinationInput) (*request.Request, *iotwireless.UpdateDestinationOutput) + + UpdatePartnerAccount(*iotwireless.UpdatePartnerAccountInput) (*iotwireless.UpdatePartnerAccountOutput, error) + UpdatePartnerAccountWithContext(aws.Context, *iotwireless.UpdatePartnerAccountInput, ...request.Option) (*iotwireless.UpdatePartnerAccountOutput, error) + UpdatePartnerAccountRequest(*iotwireless.UpdatePartnerAccountInput) (*request.Request, *iotwireless.UpdatePartnerAccountOutput) + + UpdateWirelessDevice(*iotwireless.UpdateWirelessDeviceInput) (*iotwireless.UpdateWirelessDeviceOutput, error) + UpdateWirelessDeviceWithContext(aws.Context, *iotwireless.UpdateWirelessDeviceInput, ...request.Option) (*iotwireless.UpdateWirelessDeviceOutput, error) + UpdateWirelessDeviceRequest(*iotwireless.UpdateWirelessDeviceInput) (*request.Request, *iotwireless.UpdateWirelessDeviceOutput) + + UpdateWirelessGateway(*iotwireless.UpdateWirelessGatewayInput) (*iotwireless.UpdateWirelessGatewayOutput, error) + UpdateWirelessGatewayWithContext(aws.Context, *iotwireless.UpdateWirelessGatewayInput, ...request.Option) (*iotwireless.UpdateWirelessGatewayOutput, error) + UpdateWirelessGatewayRequest(*iotwireless.UpdateWirelessGatewayInput) (*request.Request, *iotwireless.UpdateWirelessGatewayOutput) +} + +var _ IoTWirelessAPI = (*iotwireless.IoTWireless)(nil) diff --git a/service/iotwireless/service.go b/service/iotwireless/service.go new file mode 100644 index 0000000000..a48dbb4eee --- /dev/null +++ b/service/iotwireless/service.go @@ -0,0 +1,104 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotwireless + +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" +) + +// IoTWireless provides the API operation methods for making requests to +// AWS IoT Wireless. See this package's package overview docs +// for details on the service. +// +// IoTWireless methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type IoTWireless 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 = "IoT Wireless" // Name of service. + EndpointsID = "api.iotwireless" // ID to lookup a service endpoint with. + ServiceID = "IoT Wireless" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the IoTWireless 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 IoTWireless client from just a session. +// svc := iotwireless.New(mySession) +// +// // Create a IoTWireless client with additional configuration +// svc := iotwireless.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *IoTWireless { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "iotwireless" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *IoTWireless { + svc := &IoTWireless{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-11-22", + }, + 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 IoTWireless operation and runs any +// custom request initialization. +func (c *IoTWireless) 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/lambda/api.go b/service/lambda/api.go index 6f5088b8a9..945e68a53f 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -475,6 +475,8 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // // * Using AWS Lambda with Amazon MSK (https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) // +// * Using AWS Lambda with Self-Managed Apache Kafka (https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) +// // The following error handling options are only available for stream sources // (DynamoDB and Kinesis): // @@ -7291,9 +7293,12 @@ type CreateEventSourceMappingInput struct { // // * Amazon DynamoDB Streams - Default 100. Max 1,000. // - // * Amazon Simple Queue Service - Default 10. Max 10. + // * Amazon Simple Queue Service - Default 10. For standard queues the max + // is 10,000. For FIFO queues the max is 10. // // * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000. + // + // * Self-Managed Apache Kafka - Default 100. Max 10,000. BatchSize *int64 `min:"1" type:"integer"` // (Streams) If the function returns an error, split the batch in two and retry. @@ -7316,9 +7321,7 @@ type CreateEventSourceMappingInput struct { // * Amazon Simple Queue Service - The ARN of the queue. // // * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster. - // - // EventSourceArn is a required field - EventSourceArn *string `type:"string" required:"true"` + EventSourceArn *string `type:"string"` // The name of the Lambda function. // @@ -7338,8 +7341,12 @@ type CreateEventSourceMappingInput struct { // FunctionName is a required field FunctionName *string `min:"1" type:"string" required:"true"` - // (Streams) The maximum amount of time to gather records before invoking the - // function, in seconds. + // (Streams) A list of current response type enums applied to the event source + // mapping. + FunctionResponseTypes []*string `min:"1" type:"list"` + + // (Streams and SQS standard queues) The maximum amount of time to gather records + // before invoking the function, in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` // (Streams) Discard records older than the specified age. The default value @@ -7357,16 +7364,11 @@ type CreateEventSourceMappingInput struct { // (MQ) The name of the Amazon MQ broker destination queue to consume. Queues []*string `min:"1" type:"list"` - // (MQ) The Secrets Manager secret that stores your broker credentials. To store - // your secret, use the following format: { "username": "your username", "password": - // "your password" } - // - // To reference the secret, use the following format: [ { "Type": "BASIC_AUTH", - // "URI": "secretARN" } ] - // - // The value of Type is always BASIC_AUTH. To encrypt the secret, you can use - // customer or service managed keys. When using a customer managed KMS key, - // the Lambda execution role requires kms:Decrypt permissions. + // The Self-Managed Apache Kafka cluster to send records. + SelfManagedEventSource *SelfManagedEventSource `type:"structure"` + + // An array of the authentication protocol, or the VPC components to secure + // your event source. SourceAccessConfigurations []*SourceAccessConfiguration `min:"1" type:"list"` // The position in a stream from which to start reading. Required for Amazon @@ -7377,8 +7379,12 @@ type CreateEventSourceMappingInput struct { // With StartingPosition set to AT_TIMESTAMP, the time from which to start reading. StartingPositionTimestamp *time.Time `type:"timestamp"` - // (MSK) The name of the Kafka topic. + // The name of the Kafka topic. Topics []*string `min:"1" type:"list"` + + // (Streams) The duration of a processing window in seconds. The range is between + // 1 second up to 15 minutes. + TumblingWindowInSeconds *int64 `type:"integer"` } // String returns the string representation @@ -7397,15 +7403,15 @@ func (s *CreateEventSourceMappingInput) Validate() error { if s.BatchSize != nil && *s.BatchSize < 1 { invalidParams.Add(request.NewErrParamMinValue("BatchSize", 1)) } - if s.EventSourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("EventSourceArn")) - } if s.FunctionName == nil { invalidParams.Add(request.NewErrParamRequired("FunctionName")) } if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } + if s.FunctionResponseTypes != nil && len(s.FunctionResponseTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionResponseTypes", 1)) + } if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < -1 { invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", -1)) } @@ -7424,6 +7430,21 @@ func (s *CreateEventSourceMappingInput) Validate() error { if s.Topics != nil && len(s.Topics) < 1 { invalidParams.Add(request.NewErrParamMinLen("Topics", 1)) } + if s.SelfManagedEventSource != nil { + if err := s.SelfManagedEventSource.Validate(); err != nil { + invalidParams.AddNested("SelfManagedEventSource", err.(request.ErrInvalidParams)) + } + } + if s.SourceAccessConfigurations != nil { + for i, v := range s.SourceAccessConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceAccessConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7467,6 +7488,12 @@ func (s *CreateEventSourceMappingInput) SetFunctionName(v string) *CreateEventSo return s } +// SetFunctionResponseTypes sets the FunctionResponseTypes field's value. +func (s *CreateEventSourceMappingInput) SetFunctionResponseTypes(v []*string) *CreateEventSourceMappingInput { + s.FunctionResponseTypes = v + return s +} + // SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value. func (s *CreateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int64) *CreateEventSourceMappingInput { s.MaximumBatchingWindowInSeconds = &v @@ -7497,6 +7524,12 @@ func (s *CreateEventSourceMappingInput) SetQueues(v []*string) *CreateEventSourc return s } +// SetSelfManagedEventSource sets the SelfManagedEventSource field's value. +func (s *CreateEventSourceMappingInput) SetSelfManagedEventSource(v *SelfManagedEventSource) *CreateEventSourceMappingInput { + s.SelfManagedEventSource = v + return s +} + // SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value. func (s *CreateEventSourceMappingInput) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *CreateEventSourceMappingInput { s.SourceAccessConfigurations = v @@ -7521,6 +7554,12 @@ func (s *CreateEventSourceMappingInput) SetTopics(v []*string) *CreateEventSourc return s } +// SetTumblingWindowInSeconds sets the TumblingWindowInSeconds field's value. +func (s *CreateEventSourceMappingInput) SetTumblingWindowInSeconds(v int64) *CreateEventSourceMappingInput { + s.TumblingWindowInSeconds = &v + return s +} + type CreateFunctionInput struct { _ struct{} `type:"structure"` @@ -9062,14 +9101,18 @@ type EventSourceMappingConfiguration struct { // The ARN of the Lambda function. FunctionArn *string `type:"string"` + // (Streams) A list of current response type enums applied to the event source + // mapping. + FunctionResponseTypes []*string `min:"1" type:"list"` + // The date that the event source mapping was last updated, or its state changed. LastModified *time.Time `type:"timestamp"` // The result of the last AWS Lambda invocation of your Lambda function. LastProcessingResult *string `type:"string"` - // (Streams) The maximum amount of time to gather records before invoking the - // function, in seconds. The default value is zero. + // (Streams and SQS standard queues) The maximum amount of time to gather records + // before invoking the function, in seconds. The default value is zero. MaximumBatchingWindowInSeconds *int64 `type:"integer"` // (Streams) Discard records older than the specified age. The default value @@ -9089,16 +9132,11 @@ type EventSourceMappingConfiguration struct { // (MQ) The name of the Amazon MQ broker destination queue to consume. Queues []*string `min:"1" type:"list"` - // (MQ) The Secrets Manager secret that stores your broker credentials. To store - // your secret, use the following format: { "username": "your username", "password": - // "your password" } - // - // To reference the secret, use the following format: [ { "Type": "BASIC_AUTH", - // "URI": "secretARN" } ] - // - // The value of Type is always BASIC_AUTH. To encrypt the secret, you can use - // customer or service managed keys. When using a customer managed KMS key, - // the Lambda execution role requires kms:Decrypt permissions. + // The Self-Managed Apache Kafka cluster for your event source. + SelfManagedEventSource *SelfManagedEventSource `type:"structure"` + + // An array of the authentication protocol, or the VPC components to secure + // your event source. SourceAccessConfigurations []*SourceAccessConfiguration `min:"1" type:"list"` // The position in a stream from which to start reading. Required for Amazon @@ -9117,9 +9155,13 @@ type EventSourceMappingConfiguration struct { // a user, or by the Lambda service. StateTransitionReason *string `type:"string"` - // (MSK) The name of the Kafka topic to consume. + // The name of the Kafka topic. Topics []*string `min:"1" type:"list"` + // (Streams) The duration of a processing window in seconds. The range is between + // 1 second up to 15 minutes. + TumblingWindowInSeconds *int64 `type:"integer"` + // The identifier of the event source mapping. UUID *string `type:"string"` } @@ -9164,6 +9206,12 @@ func (s *EventSourceMappingConfiguration) SetFunctionArn(v string) *EventSourceM return s } +// SetFunctionResponseTypes sets the FunctionResponseTypes field's value. +func (s *EventSourceMappingConfiguration) SetFunctionResponseTypes(v []*string) *EventSourceMappingConfiguration { + s.FunctionResponseTypes = v + return s +} + // SetLastModified sets the LastModified field's value. func (s *EventSourceMappingConfiguration) SetLastModified(v time.Time) *EventSourceMappingConfiguration { s.LastModified = &v @@ -9206,6 +9254,12 @@ func (s *EventSourceMappingConfiguration) SetQueues(v []*string) *EventSourceMap return s } +// SetSelfManagedEventSource sets the SelfManagedEventSource field's value. +func (s *EventSourceMappingConfiguration) SetSelfManagedEventSource(v *SelfManagedEventSource) *EventSourceMappingConfiguration { + s.SelfManagedEventSource = v + return s +} + // SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value. func (s *EventSourceMappingConfiguration) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *EventSourceMappingConfiguration { s.SourceAccessConfigurations = v @@ -9242,6 +9296,12 @@ func (s *EventSourceMappingConfiguration) SetTopics(v []*string) *EventSourceMap return s } +// SetTumblingWindowInSeconds sets the TumblingWindowInSeconds field's value. +func (s *EventSourceMappingConfiguration) SetTumblingWindowInSeconds(v int64) *EventSourceMappingConfiguration { + s.TumblingWindowInSeconds = &v + return s +} + // SetUUID sets the UUID field's value. func (s *EventSourceMappingConfiguration) SetUUID(v string) *EventSourceMappingConfiguration { s.UUID = &v @@ -11114,8 +11174,8 @@ func (s *GetProvisionedConcurrencyConfigOutput) SetStatusReason(v string) *GetPr return s } -// Configuration values that override the container image Dockerfile. See Override -// Container settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images-settings.html). +// Configuration values that override the container image Dockerfile settings. +// See Container settings (https://docs.aws.amazon.com/lambda/latest/dg/images-parms.html). type ImageConfig struct { _ struct{} `type:"structure"` @@ -15130,6 +15190,44 @@ func (s *ResourceNotReadyException) RequestID() string { return s.RespMetadata.RequestID } +// The Self-Managed Apache Kafka cluster for your event source. +type SelfManagedEventSource struct { + _ struct{} `type:"structure"` + + // The list of bootstrap servers for your Kafka brokers in the following format: + // "KAFKA_BOOTSTRAP_SERVERS": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"]. + Endpoints map[string][]*string `min:"1" type:"map"` +} + +// String returns the string representation +func (s SelfManagedEventSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SelfManagedEventSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SelfManagedEventSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SelfManagedEventSource"} + if s.Endpoints != nil && len(s.Endpoints) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Endpoints", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpoints sets the Endpoints field's value. +func (s *SelfManagedEventSource) SetEndpoints(v map[string][]*string) *SelfManagedEventSource { + s.Endpoints = v + return s +} + // The AWS Lambda service encountered an internal error. type ServiceException struct { _ struct{} `type:"structure"` @@ -15188,27 +15286,32 @@ func (s *ServiceException) RequestID() string { return s.RespMetadata.RequestID } -// (MQ) The Secrets Manager secret that stores your broker credentials. To store -// your secret, use the following format: { "username": "your username", "password": -// "your password" } +// You can specify the authentication protocol, or the VPC components to secure +// access to your event source. type SourceAccessConfiguration struct { _ struct{} `type:"structure"` - // To reference the secret, use the following format: [ { "Type": "BASIC_AUTH", - // "URI": "secretARN" } ] + // The type of authentication protocol or the VPC components for your event + // source. For example: "Type":"SASL_SCRAM_512_AUTH". // - // The value of Type is always BASIC_AUTH. To encrypt the secret, you can use - // customer or service managed keys. When using a customer managed KMS key, - // the Lambda execution role requires kms:Decrypt permissions. + // * BASIC_AUTH - (MQ) The Secrets Manager secret that stores your broker + // credentials. + // + // * VPC_SUBNET - The subnets associated with your VPC. Lambda connects to + // these subnets to fetch data from your Kafka cluster. + // + // * VPC_SECURITY_GROUP - The VPC security group used to manage access to + // your Kafka brokers. + // + // * SASL_SCRAM_256_AUTH - The ARN of your secret key used for SASL SCRAM-256 + // authentication of your Kafka brokers. + // + // * SASL_SCRAM_512_AUTH - The ARN of your secret key used for SASL SCRAM-512 + // authentication of your Kafka brokers. Type *string `type:"string" enum:"SourceAccessType"` - // To reference the secret, use the following format: [ { "Type": "BASIC_AUTH", - // "URI": "secretARN" } ] - // - // The value of Type is always BASIC_AUTH. To encrypt the secret, you can use - // customer or service managed keys. When using a customer managed KMS key, - // the Lambda execution role requires kms:Decrypt permissions. - URI *string `type:"string"` + // The value for your chosen configuration in Type. For example: "URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName". + URI *string `min:"1" type:"string"` } // String returns the string representation @@ -15221,6 +15324,19 @@ func (s SourceAccessConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceAccessConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceAccessConfiguration"} + if s.URI != nil && len(*s.URI) < 1 { + invalidParams.Add(request.NewErrParamMinLen("URI", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetType sets the Type field's value. func (s *SourceAccessConfiguration) SetType(v string) *SourceAccessConfiguration { s.Type = &v @@ -15818,9 +15934,12 @@ type UpdateEventSourceMappingInput struct { // // * Amazon DynamoDB Streams - Default 100. Max 1,000. // - // * Amazon Simple Queue Service - Default 10. Max 10. + // * Amazon Simple Queue Service - Default 10. For standard queues the max + // is 10,000. For FIFO queues the max is 10. // // * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000. + // + // * Self-Managed Apache Kafka - Default 100. Max 10,000. BatchSize *int64 `min:"1" type:"integer"` // (Streams) If the function returns an error, split the batch in two and retry. @@ -15850,8 +15969,12 @@ type UpdateEventSourceMappingInput struct { // function name, it's limited to 64 characters in length. FunctionName *string `min:"1" type:"string"` - // (Streams) The maximum amount of time to gather records before invoking the - // function, in seconds. + // (Streams) A list of current response type enums applied to the event source + // mapping. + FunctionResponseTypes []*string `min:"1" type:"list"` + + // (Streams and SQS standard queues) The maximum amount of time to gather records + // before invoking the function, in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` // (Streams) Discard records older than the specified age. The default value @@ -15866,18 +15989,14 @@ type UpdateEventSourceMappingInput struct { // (Streams) The number of batches to process from each shard concurrently. ParallelizationFactor *int64 `min:"1" type:"integer"` - // (MQ) The Secrets Manager secret that stores your broker credentials. To store - // your secret, use the following format: { "username": "your username", "password": - // "your password" } - // - // To reference the secret, use the following format: [ { "Type": "BASIC_AUTH", - // "URI": "secretARN" } ] - // - // The value of Type is always BASIC_AUTH. To encrypt the secret, you can use - // customer or service managed keys. When using a customer managed KMS key, - // the Lambda execution role requires kms:Decrypt permissions. + // An array of the authentication protocol, or the VPC components to secure + // your event source. SourceAccessConfigurations []*SourceAccessConfiguration `min:"1" type:"list"` + // (Streams) The duration of a processing window in seconds. The range is between + // 1 second up to 15 minutes. + TumblingWindowInSeconds *int64 `type:"integer"` + // The identifier of the event source mapping. // // UUID is a required field @@ -15903,6 +16022,9 @@ func (s *UpdateEventSourceMappingInput) Validate() error { if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } + if s.FunctionResponseTypes != nil && len(s.FunctionResponseTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionResponseTypes", 1)) + } if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < -1 { invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", -1)) } @@ -15921,6 +16043,16 @@ func (s *UpdateEventSourceMappingInput) Validate() error { if s.UUID != nil && len(*s.UUID) < 1 { invalidParams.Add(request.NewErrParamMinLen("UUID", 1)) } + if s.SourceAccessConfigurations != nil { + for i, v := range s.SourceAccessConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceAccessConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -15958,6 +16090,12 @@ func (s *UpdateEventSourceMappingInput) SetFunctionName(v string) *UpdateEventSo return s } +// SetFunctionResponseTypes sets the FunctionResponseTypes field's value. +func (s *UpdateEventSourceMappingInput) SetFunctionResponseTypes(v []*string) *UpdateEventSourceMappingInput { + s.FunctionResponseTypes = v + return s +} + // SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value. func (s *UpdateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int64) *UpdateEventSourceMappingInput { s.MaximumBatchingWindowInSeconds = &v @@ -15988,6 +16126,12 @@ func (s *UpdateEventSourceMappingInput) SetSourceAccessConfigurations(v []*Sourc return s } +// SetTumblingWindowInSeconds sets the TumblingWindowInSeconds field's value. +func (s *UpdateEventSourceMappingInput) SetTumblingWindowInSeconds(v int64) *UpdateEventSourceMappingInput { + s.TumblingWindowInSeconds = &v + return s +} + // SetUUID sets the UUID field's value. func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMappingInput { s.UUID = &v @@ -16622,6 +16766,18 @@ func CodeSigningPolicy_Values() []string { } } +const ( + // EndPointTypeKafkaBootstrapServers is a EndPointType enum value + EndPointTypeKafkaBootstrapServers = "KAFKA_BOOTSTRAP_SERVERS" +) + +// EndPointType_Values returns all elements of the EndPointType enum +func EndPointType_Values() []string { + return []string{ + EndPointTypeKafkaBootstrapServers, + } +} + const ( // EventSourcePositionTrimHorizon is a EventSourcePosition enum value EventSourcePositionTrimHorizon = "TRIM_HORIZON" @@ -16642,6 +16798,18 @@ func EventSourcePosition_Values() []string { } } +const ( + // FunctionResponseTypeReportBatchItemFailures is a FunctionResponseType enum value + FunctionResponseTypeReportBatchItemFailures = "ReportBatchItemFailures" +) + +// FunctionResponseType_Values returns all elements of the FunctionResponseType enum +func FunctionResponseType_Values() []string { + return []string{ + FunctionResponseTypeReportBatchItemFailures, + } +} + const ( // FunctionVersionAll is a FunctionVersion enum value FunctionVersionAll = "ALL" @@ -16897,12 +17065,28 @@ func Runtime_Values() []string { const ( // SourceAccessTypeBasicAuth is a SourceAccessType enum value SourceAccessTypeBasicAuth = "BASIC_AUTH" + + // SourceAccessTypeVpcSubnet is a SourceAccessType enum value + SourceAccessTypeVpcSubnet = "VPC_SUBNET" + + // SourceAccessTypeVpcSecurityGroup is a SourceAccessType enum value + SourceAccessTypeVpcSecurityGroup = "VPC_SECURITY_GROUP" + + // SourceAccessTypeSaslScram512Auth is a SourceAccessType enum value + SourceAccessTypeSaslScram512Auth = "SASL_SCRAM_512_AUTH" + + // SourceAccessTypeSaslScram256Auth is a SourceAccessType enum value + SourceAccessTypeSaslScram256Auth = "SASL_SCRAM_256_AUTH" ) // SourceAccessType_Values returns all elements of the SourceAccessType enum func SourceAccessType_Values() []string { return []string{ SourceAccessTypeBasicAuth, + SourceAccessTypeVpcSubnet, + SourceAccessTypeVpcSecurityGroup, + SourceAccessTypeSaslScram512Auth, + SourceAccessTypeSaslScram256Auth, } } diff --git a/service/lambda/examples_test.go b/service/lambda/examples_test.go index 2bfd29f07a..7d6d23adde 100644 --- a/service/lambda/examples_test.go +++ b/service/lambda/examples_test.go @@ -932,9 +932,9 @@ func ExampleLambda_GetPolicy_shared00() { fmt.Println(result) } -// To get a provisioned concurrency configuration +// To view a provisioned concurrency configuration // -// The following example returns details for the provisioned concurrency configuration +// The following example displays details for the provisioned concurrency configuration // for the BLUE alias of the specified function. func ExampleLambda_GetProvisionedConcurrencyConfig_shared00() { svc := lambda.New(session.New()) @@ -971,9 +971,9 @@ func ExampleLambda_GetProvisionedConcurrencyConfig_shared00() { fmt.Println(result) } -// To view a provisioned concurrency configuration +// To get a provisioned concurrency configuration // -// The following example displays details for the provisioned concurrency configuration +// The following example returns details for the provisioned concurrency configuration // for the BLUE alias of the specified function. func ExampleLambda_GetProvisionedConcurrencyConfig_shared01() { svc := lambda.New(session.New()) diff --git a/service/prometheusservice/api.go b/service/prometheusservice/api.go new file mode 100644 index 0000000000..b43211509d --- /dev/null +++ b/service/prometheusservice/api.go @@ -0,0 +1,1670 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package prometheusservice + +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" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateWorkspace = "CreateWorkspace" + +// CreateWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkspace 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 CreateWorkspace for more information on using the CreateWorkspace +// 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 CreateWorkspaceRequest method. +// req, resp := client.CreateWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateWorkspace +func (c *PrometheusService) CreateWorkspaceRequest(input *CreateWorkspaceInput) (req *request.Request, output *CreateWorkspaceOutput) { + op := &request.Operation{ + Name: opCreateWorkspace, + HTTPMethod: "POST", + HTTPPath: "/workspaces", + } + + if input == nil { + input = &CreateWorkspaceInput{} + } + + output = &CreateWorkspaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkspace API operation for Amazon Prometheus Service. +// +// Creates a new StealFire 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 Amazon Prometheus Service's +// API operation CreateWorkspace for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Request was denied due to request throttling. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * AccessDeniedException +// User does not have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error during processing of request. +// +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateWorkspace +func (c *PrometheusService) CreateWorkspace(input *CreateWorkspaceInput) (*CreateWorkspaceOutput, error) { + req, out := c.CreateWorkspaceRequest(input) + return out, req.Send() +} + +// CreateWorkspaceWithContext is the same as CreateWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkspace 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 *PrometheusService) CreateWorkspaceWithContext(ctx aws.Context, input *CreateWorkspaceInput, opts ...request.Option) (*CreateWorkspaceOutput, error) { + req, out := c.CreateWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkspace = "DeleteWorkspace" + +// DeleteWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkspace 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 DeleteWorkspace for more information on using the DeleteWorkspace +// 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 DeleteWorkspaceRequest method. +// req, resp := client.DeleteWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteWorkspace +func (c *PrometheusService) DeleteWorkspaceRequest(input *DeleteWorkspaceInput) (req *request.Request, output *DeleteWorkspaceOutput) { + op := &request.Operation{ + Name: opDeleteWorkspace, + HTTPMethod: "DELETE", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &DeleteWorkspaceInput{} + } + + output = &DeleteWorkspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWorkspace API operation for Amazon Prometheus Service. +// +// Deletes a StealFire 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 Amazon Prometheus Service's +// API operation DeleteWorkspace for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// User does not have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error during processing of request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteWorkspace +func (c *PrometheusService) DeleteWorkspace(input *DeleteWorkspaceInput) (*DeleteWorkspaceOutput, error) { + req, out := c.DeleteWorkspaceRequest(input) + return out, req.Send() +} + +// DeleteWorkspaceWithContext is the same as DeleteWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkspace 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 *PrometheusService) DeleteWorkspaceWithContext(ctx aws.Context, input *DeleteWorkspaceInput, opts ...request.Option) (*DeleteWorkspaceOutput, error) { + req, out := c.DeleteWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeWorkspace = "DescribeWorkspace" + +// DescribeWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeWorkspace 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 DescribeWorkspace for more information on using the DescribeWorkspace +// 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 DescribeWorkspaceRequest method. +// req, resp := client.DescribeWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeWorkspace +func (c *PrometheusService) DescribeWorkspaceRequest(input *DescribeWorkspaceInput) (req *request.Request, output *DescribeWorkspaceOutput) { + op := &request.Operation{ + Name: opDescribeWorkspace, + HTTPMethod: "GET", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &DescribeWorkspaceInput{} + } + + output = &DescribeWorkspaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeWorkspace API operation for Amazon Prometheus Service. +// +// Describes an existing StealFire 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 Amazon Prometheus Service's +// API operation DescribeWorkspace for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// User does not have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error during processing of request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeWorkspace +func (c *PrometheusService) DescribeWorkspace(input *DescribeWorkspaceInput) (*DescribeWorkspaceOutput, error) { + req, out := c.DescribeWorkspaceRequest(input) + return out, req.Send() +} + +// DescribeWorkspaceWithContext is the same as DescribeWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeWorkspace 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 *PrometheusService) DescribeWorkspaceWithContext(ctx aws.Context, input *DescribeWorkspaceInput, opts ...request.Option) (*DescribeWorkspaceOutput, error) { + req, out := c.DescribeWorkspaceRequest(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. +// +// 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 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/amp-2020-08-01/ListWorkspaces +func (c *PrometheusService) ListWorkspacesRequest(input *ListWorkspacesInput) (req *request.Request, output *ListWorkspacesOutput) { + op := &request.Operation{ + Name: opListWorkspaces, + HTTPMethod: "GET", + HTTPPath: "/workspaces", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkspacesInput{} + } + + output = &ListWorkspacesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkspaces API operation for Amazon Prometheus Service. +// +// Lists all StealFire workspaces, including workspaces being created or deleted. +// +// 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 Prometheus Service's +// API operation ListWorkspaces for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * AccessDeniedException +// User does not have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error during processing of request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListWorkspaces +func (c *PrometheusService) ListWorkspaces(input *ListWorkspacesInput) (*ListWorkspacesOutput, error) { + req, out := c.ListWorkspacesRequest(input) + return out, req.Send() +} + +// ListWorkspacesWithContext is the same as ListWorkspaces 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. +// +// 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 *PrometheusService) 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() +} + +// 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 *prometheusservice.ListWorkspacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *PrometheusService) ListWorkspacesPages(input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool) error { + return c.ListWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// 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 *PrometheusService) 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 opUpdateWorkspaceAlias = "UpdateWorkspaceAlias" + +// UpdateWorkspaceAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkspaceAlias 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 UpdateWorkspaceAlias for more information on using the UpdateWorkspaceAlias +// 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 UpdateWorkspaceAliasRequest method. +// req, resp := client.UpdateWorkspaceAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/UpdateWorkspaceAlias +func (c *PrometheusService) UpdateWorkspaceAliasRequest(input *UpdateWorkspaceAliasInput) (req *request.Request, output *UpdateWorkspaceAliasOutput) { + op := &request.Operation{ + Name: opUpdateWorkspaceAlias, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/alias", + } + + if input == nil { + input = &UpdateWorkspaceAliasInput{} + } + + output = &UpdateWorkspaceAliasOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateWorkspaceAlias API operation for Amazon Prometheus Service. +// +// Updates a StealFire workspace alias. +// +// 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 Prometheus Service's +// API operation UpdateWorkspaceAlias for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Request was denied due to request throttling. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// User does not have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error during processing of request. +// +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/UpdateWorkspaceAlias +func (c *PrometheusService) UpdateWorkspaceAlias(input *UpdateWorkspaceAliasInput) (*UpdateWorkspaceAliasOutput, error) { + req, out := c.UpdateWorkspaceAliasRequest(input) + return out, req.Send() +} + +// UpdateWorkspaceAliasWithContext is the same as UpdateWorkspaceAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkspaceAlias 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 *PrometheusService) UpdateWorkspaceAliasWithContext(ctx aws.Context, input *UpdateWorkspaceAliasInput, opts ...request.Option) (*UpdateWorkspaceAliasOutput, error) { + req, out := c.UpdateWorkspaceAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// User does not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// Updating or deleting a resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` + + // Identifier of the resource affected. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // Type of the resource affected. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Represents the input of a CreateWorkspace operation. +type CreateWorkspaceInput struct { + _ struct{} `type:"structure"` + + // An optional user-assigned alias for this workspace. This alias is for user + // reference and does not need to be unique. + Alias *string `locationName:"alias" min:"1" type:"string"` + + // Optional, unique, case-sensitive, user-provided identifier to ensure the + // idempotency of the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` +} + +// String returns the string representation +func (s CreateWorkspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkspaceInput) 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.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlias sets the Alias field's value. +func (s *CreateWorkspaceInput) SetAlias(v string) *CreateWorkspaceInput { + s.Alias = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateWorkspaceInput) SetClientToken(v string) *CreateWorkspaceInput { + s.ClientToken = &v + return s +} + +// Represents the output of a CreateWorkspace operation. +type CreateWorkspaceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the workspace that was just created. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The status of the workspace that was just created (usually CREATING). + // + // Status is a required field + Status *WorkspaceStatus `locationName:"status" type:"structure" required:"true"` + + // The generated ID of the workspace that was just created. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWorkspaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkspaceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateWorkspaceOutput) SetArn(v string) *CreateWorkspaceOutput { + s.Arn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateWorkspaceOutput) SetStatus(v *WorkspaceStatus) *CreateWorkspaceOutput { + s.Status = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateWorkspaceOutput) SetWorkspaceId(v string) *CreateWorkspaceOutput { + s.WorkspaceId = &v + return s +} + +// Represents the input of a DeleteWorkspace operation. +type DeleteWorkspaceInput struct { + _ struct{} `type:"structure"` + + // Optional, unique, case-sensitive, user-provided identifier to ensure the + // idempotency of the request. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"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 +func (s DeleteWorkspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteWorkspaceInput) SetClientToken(v string) *DeleteWorkspaceInput { + s.ClientToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteWorkspaceInput) SetWorkspaceId(v string) *DeleteWorkspaceInput { + s.WorkspaceId = &v + return s +} + +type DeleteWorkspaceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWorkspaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkspaceOutput) GoString() string { + return s.String() +} + +// Represents the input of a DescribeWorkspace operation. +type DescribeWorkspaceInput struct { + _ struct{} `type:"structure"` + + // The ID of the workspace to describe. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeWorkspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceInput"} + 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 *DescribeWorkspaceInput) SetWorkspaceId(v string) *DescribeWorkspaceInput { + s.WorkspaceId = &v + return s +} + +// Represents the output of a DescribeWorkspace operation. +type DescribeWorkspaceOutput struct { + _ struct{} `type:"structure"` + + // The properties of the selected workspace. + // + // Workspace is a required field + Workspace *WorkspaceDescription `locationName:"workspace" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeWorkspaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkspaceOutput) GoString() string { + return s.String() +} + +// SetWorkspace sets the Workspace field's value. +func (s *DescribeWorkspaceOutput) SetWorkspace(v *WorkspaceDescription) *DescribeWorkspaceOutput { + s.Workspace = v + return s +} + +// Unexpected error during processing of request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` + + // Advice to clients on when the call can be safely retried. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` +} + +// String returns the string representation +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Represents the input of a ListWorkspaces operation. +type ListWorkspacesInput struct { + _ struct{} `type:"structure"` + + // Optional filter for workspace alias. Only the workspaces with aliases that + // begin with this value will be returned. + Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string"` + + // Maximum results to return in response (default=100, maximum=1000). + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Pagination token to request the next page in a paginated list. This token + // is obtained from the output of the previous ListWorkspaces request. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListWorkspacesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkspacesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkspacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkspacesInput"} + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlias sets the Alias field's value. +func (s *ListWorkspacesInput) SetAlias(v string) *ListWorkspacesInput { + s.Alias = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkspacesInput) SetMaxResults(v int64) *ListWorkspacesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkspacesInput) SetNextToken(v string) *ListWorkspacesInput { + s.NextToken = &v + return s +} + +// Represents the output of a ListWorkspaces operation. +type ListWorkspacesOutput struct { + _ struct{} `type:"structure"` + + // Pagination token to use when requesting the next page in this list. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of existing workspaces, including those undergoing creation or deletion. + // + // Workspaces is a required field + Workspaces []*WorkspaceSummary `locationName:"workspaces" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListWorkspacesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 + return s +} + +// SetWorkspaces sets the Workspaces field's value. +func (s *ListWorkspacesOutput) SetWorkspaces(v []*WorkspaceSummary) *ListWorkspacesOutput { + s.Workspaces = v + return s +} + +// Request references a resource which does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` + + // Identifier of the resource affected. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // Type of the resource affected. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Request would cause a service quota to be exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` + + // Service Quotas requirement to identify originating quota. + // + // QuotaCode is a required field + QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` + + // Identifier of the resource affected. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // Type of the resource affected. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` + + // Service Quotas requirement to identify originating service. + // + // ServiceCode is a required field + ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"` +} + +// String returns the string representation +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` + + // Service Quotas requirement to identify originating quota. + QuotaCode *string `locationName:"quotaCode" type:"string"` + + // Advice to clients on when the call can be safely retried. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` + + // Service Quotas requirement to identify originating service. + ServiceCode *string `locationName:"serviceCode" type:"string"` +} + +// String returns the string representation +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) 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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Represents the input of an UpdateWorkspaceAlias operation. +type UpdateWorkspaceAliasInput struct { + _ struct{} `type:"structure"` + + // The new alias of the workspace. + Alias *string `locationName:"alias" min:"1" type:"string"` + + // Optional, unique, case-sensitive, user-provided identifier to ensure the + // idempotency of the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the workspace being updated. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateWorkspaceAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkspaceAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkspaceAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkspaceAliasInput"} + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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 +} + +// SetAlias sets the Alias field's value. +func (s *UpdateWorkspaceAliasInput) SetAlias(v string) *UpdateWorkspaceAliasInput { + s.Alias = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateWorkspaceAliasInput) SetClientToken(v string) *UpdateWorkspaceAliasInput { + s.ClientToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *UpdateWorkspaceAliasInput) SetWorkspaceId(v string) *UpdateWorkspaceAliasInput { + s.WorkspaceId = &v + return s +} + +type UpdateWorkspaceAliasOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateWorkspaceAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkspaceAliasOutput) GoString() string { + return s.String() +} + +// The input fails to satisfy the constraints specified by an AWS service. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The field that caused the error, if applicable. If more than one field caused + // the error, pick one and elaborate in the message. + FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"` + + // Description of the error. + Message_ *string `locationName:"message" type:"string"` + + // Reason the request failed validation. + // + // Reason is a required field + Reason *string `locationName:"reason" type:"string" required:"true" enum:"ValidationExceptionReason"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Stores information about a field passed inside a request that resulted in +// an exception. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // Message describing why the field failed validation. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` + + // The field name. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s ValidationExceptionField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationExceptionField) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { + s.Name = &v + return s +} + +// Represents the properties of a workspace. +type WorkspaceDescription struct { + _ struct{} `type:"structure"` + + // Alias of this workspace. + Alias *string `locationName:"alias" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of this workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time when the workspace was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // Prometheus endpoint URI. + PrometheusEndpoint *string `locationName:"prometheusEndpoint" min:"1" type:"string"` + + // The status of this workspace. + // + // Status is a required field + Status *WorkspaceStatus `locationName:"status" type:"structure" required:"true"` + + // Unique string identifying this workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s WorkspaceDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WorkspaceDescription) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *WorkspaceDescription) SetAlias(v string) *WorkspaceDescription { + s.Alias = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *WorkspaceDescription) SetArn(v string) *WorkspaceDescription { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *WorkspaceDescription) SetCreatedAt(v time.Time) *WorkspaceDescription { + s.CreatedAt = &v + return s +} + +// SetPrometheusEndpoint sets the PrometheusEndpoint field's value. +func (s *WorkspaceDescription) SetPrometheusEndpoint(v string) *WorkspaceDescription { + s.PrometheusEndpoint = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *WorkspaceDescription) SetStatus(v *WorkspaceStatus) *WorkspaceDescription { + s.Status = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *WorkspaceDescription) SetWorkspaceId(v string) *WorkspaceDescription { + s.WorkspaceId = &v + return s +} + +// Represents the status of a workspace. +type WorkspaceStatus struct { + _ struct{} `type:"structure"` + + // Status code of this workspace. + // + // StatusCode is a required field + StatusCode *string `locationName:"statusCode" type:"string" required:"true" enum:"WorkspaceStatusCode"` +} + +// String returns the string representation +func (s WorkspaceStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WorkspaceStatus) GoString() string { + return s.String() +} + +// SetStatusCode sets the StatusCode field's value. +func (s *WorkspaceStatus) SetStatusCode(v string) *WorkspaceStatus { + s.StatusCode = &v + return s +} + +// Represents a summary of the properties of a workspace. +type WorkspaceSummary struct { + _ struct{} `type:"structure"` + + // Alias of this workspace. + Alias *string `locationName:"alias" min:"1" type:"string"` + + // The AmazonResourceName of this workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time when the workspace was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The status of this workspace. + // + // Status is a required field + Status *WorkspaceStatus `locationName:"status" type:"structure" required:"true"` + + // Unique string identifying this workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s WorkspaceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WorkspaceSummary) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *WorkspaceSummary) SetAlias(v string) *WorkspaceSummary { + s.Alias = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *WorkspaceSummary) SetArn(v string) *WorkspaceSummary { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *WorkspaceSummary) SetCreatedAt(v time.Time) *WorkspaceSummary { + s.CreatedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *WorkspaceSummary) SetStatus(v *WorkspaceStatus) *WorkspaceSummary { + s.Status = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *WorkspaceSummary) SetWorkspaceId(v string) *WorkspaceSummary { + s.WorkspaceId = &v + return s +} + +// Possible reasons a request failed validation. +const ( + // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value + ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION" + + // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value + ValidationExceptionReasonCannotParse = "CANNOT_PARSE" + + // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value + ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED" + + // ValidationExceptionReasonOther is a ValidationExceptionReason enum value + ValidationExceptionReasonOther = "OTHER" +) + +// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum +func ValidationExceptionReason_Values() []string { + return []string{ + ValidationExceptionReasonUnknownOperation, + ValidationExceptionReasonCannotParse, + ValidationExceptionReasonFieldValidationFailed, + ValidationExceptionReasonOther, + } +} + +// State of a workspace. +const ( + // WorkspaceStatusCodeCreating is a WorkspaceStatusCode enum value + WorkspaceStatusCodeCreating = "CREATING" + + // WorkspaceStatusCodeActive is a WorkspaceStatusCode enum value + WorkspaceStatusCodeActive = "ACTIVE" + + // WorkspaceStatusCodeUpdating is a WorkspaceStatusCode enum value + WorkspaceStatusCodeUpdating = "UPDATING" + + // WorkspaceStatusCodeDeleting is a WorkspaceStatusCode enum value + WorkspaceStatusCodeDeleting = "DELETING" + + // WorkspaceStatusCodeCreationFailed is a WorkspaceStatusCode enum value + WorkspaceStatusCodeCreationFailed = "CREATION_FAILED" +) + +// WorkspaceStatusCode_Values returns all elements of the WorkspaceStatusCode enum +func WorkspaceStatusCode_Values() []string { + return []string{ + WorkspaceStatusCodeCreating, + WorkspaceStatusCodeActive, + WorkspaceStatusCodeUpdating, + WorkspaceStatusCodeDeleting, + WorkspaceStatusCodeCreationFailed, + } +} diff --git a/service/prometheusservice/doc.go b/service/prometheusservice/doc.go new file mode 100644 index 0000000000..c4dbf111a7 --- /dev/null +++ b/service/prometheusservice/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package prometheusservice provides the client and types for making API +// requests to Amazon Prometheus Service. +// +// StealFire Service +// +// See https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01 for more information on this service. +// +// See prometheusservice package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/prometheusservice/ +// +// Using the Client +// +// To contact Amazon Prometheus Service 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 Prometheus Service client PrometheusService for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/prometheusservice/#New +package prometheusservice diff --git a/service/prometheusservice/errors.go b/service/prometheusservice/errors.go new file mode 100644 index 0000000000..4256cb3eff --- /dev/null +++ b/service/prometheusservice/errors.go @@ -0,0 +1,62 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package prometheusservice + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // User does not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Updating or deleting a resource can cause an inconsistent state. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Unexpected error during processing of request. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Request references a resource which does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // Request would cause a service quota to be exceeded. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input fails to satisfy the constraints specified by an AWS service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/prometheusservice/prometheusserviceiface/interface.go b/service/prometheusservice/prometheusserviceiface/interface.go new file mode 100644 index 0000000000..9c3a5708fa --- /dev/null +++ b/service/prometheusservice/prometheusserviceiface/interface.go @@ -0,0 +1,87 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package prometheusserviceiface provides an interface to enable mocking the Amazon Prometheus Service 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 prometheusserviceiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/prometheusservice" +) + +// PrometheusServiceAPI provides an interface to enable mocking the +// prometheusservice.PrometheusService 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 Prometheus Service. +// func myFunc(svc prometheusserviceiface.PrometheusServiceAPI) bool { +// // Make svc.CreateWorkspace request +// } +// +// func main() { +// sess := session.New() +// svc := prometheusservice.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockPrometheusServiceClient struct { +// prometheusserviceiface.PrometheusServiceAPI +// } +// func (m *mockPrometheusServiceClient) CreateWorkspace(input *prometheusservice.CreateWorkspaceInput) (*prometheusservice.CreateWorkspaceOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockPrometheusServiceClient{} +// +// 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 PrometheusServiceAPI interface { + CreateWorkspace(*prometheusservice.CreateWorkspaceInput) (*prometheusservice.CreateWorkspaceOutput, error) + CreateWorkspaceWithContext(aws.Context, *prometheusservice.CreateWorkspaceInput, ...request.Option) (*prometheusservice.CreateWorkspaceOutput, error) + CreateWorkspaceRequest(*prometheusservice.CreateWorkspaceInput) (*request.Request, *prometheusservice.CreateWorkspaceOutput) + + DeleteWorkspace(*prometheusservice.DeleteWorkspaceInput) (*prometheusservice.DeleteWorkspaceOutput, error) + DeleteWorkspaceWithContext(aws.Context, *prometheusservice.DeleteWorkspaceInput, ...request.Option) (*prometheusservice.DeleteWorkspaceOutput, error) + DeleteWorkspaceRequest(*prometheusservice.DeleteWorkspaceInput) (*request.Request, *prometheusservice.DeleteWorkspaceOutput) + + DescribeWorkspace(*prometheusservice.DescribeWorkspaceInput) (*prometheusservice.DescribeWorkspaceOutput, error) + DescribeWorkspaceWithContext(aws.Context, *prometheusservice.DescribeWorkspaceInput, ...request.Option) (*prometheusservice.DescribeWorkspaceOutput, error) + DescribeWorkspaceRequest(*prometheusservice.DescribeWorkspaceInput) (*request.Request, *prometheusservice.DescribeWorkspaceOutput) + + ListWorkspaces(*prometheusservice.ListWorkspacesInput) (*prometheusservice.ListWorkspacesOutput, error) + ListWorkspacesWithContext(aws.Context, *prometheusservice.ListWorkspacesInput, ...request.Option) (*prometheusservice.ListWorkspacesOutput, error) + ListWorkspacesRequest(*prometheusservice.ListWorkspacesInput) (*request.Request, *prometheusservice.ListWorkspacesOutput) + + ListWorkspacesPages(*prometheusservice.ListWorkspacesInput, func(*prometheusservice.ListWorkspacesOutput, bool) bool) error + ListWorkspacesPagesWithContext(aws.Context, *prometheusservice.ListWorkspacesInput, func(*prometheusservice.ListWorkspacesOutput, bool) bool, ...request.Option) error + + UpdateWorkspaceAlias(*prometheusservice.UpdateWorkspaceAliasInput) (*prometheusservice.UpdateWorkspaceAliasOutput, error) + UpdateWorkspaceAliasWithContext(aws.Context, *prometheusservice.UpdateWorkspaceAliasInput, ...request.Option) (*prometheusservice.UpdateWorkspaceAliasOutput, error) + UpdateWorkspaceAliasRequest(*prometheusservice.UpdateWorkspaceAliasInput) (*request.Request, *prometheusservice.UpdateWorkspaceAliasOutput) +} + +var _ PrometheusServiceAPI = (*prometheusservice.PrometheusService)(nil) diff --git a/service/prometheusservice/service.go b/service/prometheusservice/service.go new file mode 100644 index 0000000000..e77d50f058 --- /dev/null +++ b/service/prometheusservice/service.go @@ -0,0 +1,104 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package prometheusservice + +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" +) + +// PrometheusService provides the API operation methods for making requests to +// Amazon Prometheus Service. See this package's package overview docs +// for details on the service. +// +// PrometheusService methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type PrometheusService 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 = "amp" // Name of service. + EndpointsID = "aps" // ID to lookup a service endpoint with. + ServiceID = "amp" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the PrometheusService 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 PrometheusService client from just a session. +// svc := prometheusservice.New(mySession) +// +// // Create a PrometheusService client with additional configuration +// svc := prometheusservice.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *PrometheusService { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "aps" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *PrometheusService { + svc := &PrometheusService{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-08-01", + }, + 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 PrometheusService operation and runs any +// custom request initialization. +func (c *PrometheusService) 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/ssm/api.go b/service/ssm/api.go index 1318b44d36..6a95f77475 100644 --- a/service/ssm/api.go +++ b/service/ssm/api.go @@ -1007,9 +1007,9 @@ func (c *SSM) CreateOpsMetadataRequest(input *CreateOpsMetadataInput) (req *requ // CreateOpsMetadata API operation for Amazon Simple Systems Manager (SSM). // -// If you create a new application in AppManager, Systems Manager calls this -// API action to specify information about the new application, including the -// application type. +// If you create a new application in Application Manager, Systems Manager calls +// this API action to specify information about the new application, including +// the application 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 @@ -1031,8 +1031,8 @@ func (c *SSM) CreateOpsMetadataRequest(input *CreateOpsMetadataInput) (req *requ // // * OpsMetadataLimitExceededException // Your account reached the maximum number of OpsMetadata objects allowed by -// AppManager. The maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata -// object and try again. +// Application Manager. The maximum is 200 OpsMetadata objects. Delete one or +// more OpsMetadata object and try again. // // * InternalServerError // An error occurred on the server side. @@ -8502,7 +8502,7 @@ func (c *SSM) GetOpsMetadataRequest(input *GetOpsMetadataInput) (req *request.Re // GetOpsMetadata API operation for Amazon Simple Systems Manager (SSM). // -// View operational metadata related to an application in AppManager. +// View operational metadata related to an application in Application Manager. // // 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 @@ -10470,6 +10470,94 @@ func (c *SSM) ListComplianceSummariesPagesWithContext(ctx aws.Context, input *Li return p.Err() } +const opListDocumentMetadataHistory = "ListDocumentMetadataHistory" + +// ListDocumentMetadataHistoryRequest generates a "aws/request.Request" representing the +// client's request for the ListDocumentMetadataHistory 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 ListDocumentMetadataHistory for more information on using the ListDocumentMetadataHistory +// 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 ListDocumentMetadataHistoryRequest method. +// req, resp := client.ListDocumentMetadataHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentMetadataHistory +func (c *SSM) ListDocumentMetadataHistoryRequest(input *ListDocumentMetadataHistoryInput) (req *request.Request, output *ListDocumentMetadataHistoryOutput) { + op := &request.Operation{ + Name: opListDocumentMetadataHistory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListDocumentMetadataHistoryInput{} + } + + output = &ListDocumentMetadataHistoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDocumentMetadataHistory API operation for Amazon Simple Systems Manager (SSM). +// +// Information about approval reviews for a version of an SSM document. +// +// 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 Simple Systems Manager (SSM)'s +// API operation ListDocumentMetadataHistory for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// +// * InvalidNextToken +// The specified token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentMetadataHistory +func (c *SSM) ListDocumentMetadataHistory(input *ListDocumentMetadataHistoryInput) (*ListDocumentMetadataHistoryOutput, error) { + req, out := c.ListDocumentMetadataHistoryRequest(input) + return out, req.Send() +} + +// ListDocumentMetadataHistoryWithContext is the same as ListDocumentMetadataHistory with the addition of +// the ability to pass a context and additional request options. +// +// See ListDocumentMetadataHistory 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 *SSM) ListDocumentMetadataHistoryWithContext(ctx aws.Context, input *ListDocumentMetadataHistoryInput, opts ...request.Option) (*ListDocumentMetadataHistoryOutput, error) { + req, out := c.ListDocumentMetadataHistoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListDocumentVersions = "ListDocumentVersions" // ListDocumentVersionsRequest generates a "aws/request.Request" representing the @@ -10858,6 +10946,156 @@ func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInvent return out, req.Send() } +const opListOpsItemEvents = "ListOpsItemEvents" + +// ListOpsItemEventsRequest generates a "aws/request.Request" representing the +// client's request for the ListOpsItemEvents 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 ListOpsItemEvents for more information on using the ListOpsItemEvents +// 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 ListOpsItemEventsRequest method. +// req, resp := client.ListOpsItemEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsItemEvents +func (c *SSM) ListOpsItemEventsRequest(input *ListOpsItemEventsInput) (req *request.Request, output *ListOpsItemEventsOutput) { + op := &request.Operation{ + Name: opListOpsItemEvents, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOpsItemEventsInput{} + } + + output = &ListOpsItemEventsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOpsItemEvents API operation for Amazon Simple Systems Manager (SSM). +// +// Returns a list of all OpsItem events in the current AWS account and Region. +// You can limit the results to events associated with specific OpsItems by +// specifying a filter. +// +// 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 Simple Systems Manager (SSM)'s +// API operation ListOpsItemEvents for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// An error occurred on the server side. +// +// * OpsItemNotFoundException +// The specified OpsItem ID doesn't exist. Verify the ID and try again. +// +// * OpsItemLimitExceededException +// The request caused OpsItems to exceed one or more quotas. For information +// about OpsItem quotas, see What are the resource limits for OpsCenter? (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits). +// +// * OpsItemInvalidParameterException +// A specified parameter argument isn't valid. Verify the available arguments +// and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsItemEvents +func (c *SSM) ListOpsItemEvents(input *ListOpsItemEventsInput) (*ListOpsItemEventsOutput, error) { + req, out := c.ListOpsItemEventsRequest(input) + return out, req.Send() +} + +// ListOpsItemEventsWithContext is the same as ListOpsItemEvents with the addition of +// the ability to pass a context and additional request options. +// +// See ListOpsItemEvents 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 *SSM) ListOpsItemEventsWithContext(ctx aws.Context, input *ListOpsItemEventsInput, opts ...request.Option) (*ListOpsItemEventsOutput, error) { + req, out := c.ListOpsItemEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOpsItemEventsPages iterates over the pages of a ListOpsItemEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOpsItemEvents 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 ListOpsItemEvents operation. +// pageNum := 0 +// err := client.ListOpsItemEventsPages(params, +// func(page *ssm.ListOpsItemEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListOpsItemEventsPages(input *ListOpsItemEventsInput, fn func(*ListOpsItemEventsOutput, bool) bool) error { + return c.ListOpsItemEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOpsItemEventsPagesWithContext same as ListOpsItemEventsPages 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 *SSM) ListOpsItemEventsPagesWithContext(ctx aws.Context, input *ListOpsItemEventsInput, fn func(*ListOpsItemEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOpsItemEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOpsItemEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOpsItemEventsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListOpsMetadata = "ListOpsMetadata" // ListOpsMetadataRequest generates a "aws/request.Request" representing the @@ -10889,6 +11127,12 @@ func (c *SSM) ListOpsMetadataRequest(input *ListOpsMetadataInput) (req *request. Name: opListOpsMetadata, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10902,8 +11146,8 @@ func (c *SSM) ListOpsMetadataRequest(input *ListOpsMetadataInput) (req *request. // ListOpsMetadata API operation for Amazon Simple Systems Manager (SSM). // -// Systems Manager calls this API action when displaying all AppManager OpsMetadata -// objects or blobs. +// Systems Manager calls this API action when displaying all Application Manager +// OpsMetadata objects or blobs. // // 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 @@ -10941,6 +11185,58 @@ func (c *SSM) ListOpsMetadataWithContext(ctx aws.Context, input *ListOpsMetadata return out, req.Send() } +// ListOpsMetadataPages iterates over the pages of a ListOpsMetadata operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOpsMetadata 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 ListOpsMetadata operation. +// pageNum := 0 +// err := client.ListOpsMetadataPages(params, +// func(page *ssm.ListOpsMetadataOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListOpsMetadataPages(input *ListOpsMetadataInput, fn func(*ListOpsMetadataOutput, bool) bool) error { + return c.ListOpsMetadataPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOpsMetadataPagesWithContext same as ListOpsMetadataPages 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 *SSM) ListOpsMetadataPagesWithContext(ctx aws.Context, input *ListOpsMetadataInput, fn func(*ListOpsMetadataOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOpsMetadataInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOpsMetadataRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOpsMetadataOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListResourceComplianceSummaries = "ListResourceComplianceSummaries" // ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the @@ -12934,6 +13230,110 @@ func (c *SSM) StartAutomationExecutionWithContext(ctx aws.Context, input *StartA return out, req.Send() } +const opStartChangeRequestExecution = "StartChangeRequestExecution" + +// StartChangeRequestExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartChangeRequestExecution 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 StartChangeRequestExecution for more information on using the StartChangeRequestExecution +// 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 StartChangeRequestExecutionRequest method. +// req, resp := client.StartChangeRequestExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartChangeRequestExecution +func (c *SSM) StartChangeRequestExecutionRequest(input *StartChangeRequestExecutionInput) (req *request.Request, output *StartChangeRequestExecutionOutput) { + op := &request.Operation{ + Name: opStartChangeRequestExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartChangeRequestExecutionInput{} + } + + output = &StartChangeRequestExecutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartChangeRequestExecution API operation for Amazon Simple Systems Manager (SSM). +// +// Creates a change request for Change Manager. The runbooks (Automation documents) +// specified in the change request run only after all required approvals for +// the change request have been received. +// +// 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 Simple Systems Manager (SSM)'s +// API operation StartChangeRequestExecution for usage and error information. +// +// Returned Error Types: +// * AutomationDefinitionNotFoundException +// An Automation document with the specified name could not be found. +// +// * InvalidAutomationExecutionParametersException +// The supplied parameters for invoking the specified Automation document are +// incorrect. For example, they may not match the set of parameters permitted +// for the specified Automation document. +// +// * AutomationExecutionLimitExceededException +// The number of simultaneously running Automation executions exceeded the allowable +// limit. +// +// * AutomationDefinitionVersionNotFoundException +// An Automation document with the specified name and version could not be found. +// +// * IdempotentParameterMismatch +// Error returned when an idempotent operation is retried and the parameters +// don't match the original call to the API with the same idempotency token. +// +// * InternalServerError +// An error occurred on the server side. +// +// * AutomationDefinitionNotApprovedException +// Indicates that the Change Manager change template used in the change request +// was rejected or is still in a pending state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartChangeRequestExecution +func (c *SSM) StartChangeRequestExecution(input *StartChangeRequestExecutionInput) (*StartChangeRequestExecutionOutput, error) { + req, out := c.StartChangeRequestExecutionRequest(input) + return out, req.Send() +} + +// StartChangeRequestExecutionWithContext is the same as StartChangeRequestExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StartChangeRequestExecution 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 *SSM) StartChangeRequestExecutionWithContext(ctx aws.Context, input *StartChangeRequestExecutionInput, opts ...request.Option) (*StartChangeRequestExecutionOutput, error) { + req, out := c.StartChangeRequestExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartSession = "StartSession" // StartSessionRequest generates a "aws/request.Request" representing the @@ -13643,6 +14043,97 @@ func (c *SSM) UpdateDocumentDefaultVersionWithContext(ctx aws.Context, input *Up return out, req.Send() } +const opUpdateDocumentMetadata = "UpdateDocumentMetadata" + +// UpdateDocumentMetadataRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDocumentMetadata 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 UpdateDocumentMetadata for more information on using the UpdateDocumentMetadata +// 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 UpdateDocumentMetadataRequest method. +// req, resp := client.UpdateDocumentMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentMetadata +func (c *SSM) UpdateDocumentMetadataRequest(input *UpdateDocumentMetadataInput) (req *request.Request, output *UpdateDocumentMetadataOutput) { + op := &request.Operation{ + Name: opUpdateDocumentMetadata, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDocumentMetadataInput{} + } + + output = &UpdateDocumentMetadataOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDocumentMetadata API operation for Amazon Simple Systems Manager (SSM). +// +// Updates information related to approval reviews for a specific version of +// a document. +// +// 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 Simple Systems Manager (SSM)'s +// API operation UpdateDocumentMetadata for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidDocumentOperation +// You attempted to delete a document while it is still shared. You must stop +// sharing the document before you can delete it. +// +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentMetadata +func (c *SSM) UpdateDocumentMetadata(input *UpdateDocumentMetadataInput) (*UpdateDocumentMetadataOutput, error) { + req, out := c.UpdateDocumentMetadataRequest(input) + return out, req.Send() +} + +// UpdateDocumentMetadataWithContext is the same as UpdateDocumentMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDocumentMetadata 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 *SSM) UpdateDocumentMetadataWithContext(ctx aws.Context, input *UpdateDocumentMetadataInput, opts ...request.Option) (*UpdateDocumentMetadataOutput, error) { + req, out := c.UpdateDocumentMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow" // UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the @@ -14197,7 +14688,8 @@ func (c *SSM) UpdateOpsMetadataRequest(input *UpdateOpsMetadataInput) (req *requ // UpdateOpsMetadata API operation for Amazon Simple Systems Manager (SSM). // -// Systems Manager calls this API action when you edit OpsMetadata in AppManager. +// Systems Manager calls this API action when you edit OpsMetadata in Application +// Manager. // // 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 @@ -14215,7 +14707,7 @@ func (c *SSM) UpdateOpsMetadataRequest(input *UpdateOpsMetadataInput) (req *requ // // * OpsMetadataKeyLimitExceededException // The OpsMetadata object exceeds the maximum number of OpsMetadata keys that -// you can assign to an application in AppManager. +// you can assign to an application in Application Manager. // // * OpsMetadataTooManyUpdatesException // The system is processing too many concurrent updates. Wait a few moments @@ -15170,6 +15662,10 @@ type AssociationDescription struct { // By default, all associations use AUTO mode. SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` + // The combination of AWS Regions and AWS accounts where you want to run the + // association. + TargetLocations []*TargetLocation `min:"1" type:"list"` + // The instances targeted by the request. Targets []*Target `type:"list"` } @@ -15310,6 +15806,12 @@ func (s *AssociationDescription) SetSyncCompliance(v string) *AssociationDescrip return s } +// SetTargetLocations sets the TargetLocations field's value. +func (s *AssociationDescription) SetTargetLocations(v []*TargetLocation) *AssociationDescription { + s.TargetLocations = v + return s +} + // SetTargets sets the Targets field's value. func (s *AssociationDescription) SetTargets(v []*Target) *AssociationDescription { s.Targets = v @@ -16059,6 +16561,10 @@ type AssociationVersionInfo struct { // By default, all associations use AUTO mode. SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` + // The combination of AWS Regions and AWS accounts where you wanted to run the + // association when this association version was created. + TargetLocations []*TargetLocation `min:"1" type:"list"` + // The targets specified for the association when the association version was // created. Targets []*Target `type:"list"` @@ -16158,6 +16664,12 @@ func (s *AssociationVersionInfo) SetSyncCompliance(v string) *AssociationVersion return s } +// SetTargetLocations sets the TargetLocations field's value. +func (s *AssociationVersionInfo) SetTargetLocations(v []*TargetLocation) *AssociationVersionInfo { + s.TargetLocations = v + return s +} + // SetTargets sets the Targets field's value. func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo { s.Targets = v @@ -16378,6 +16890,63 @@ func (s *AttachmentsSource) SetValues(v []*string) *AttachmentsSource { return s } +// Indicates that the Change Manager change template used in the change request +// was rejected or is still in a pending state. +type AutomationDefinitionNotApprovedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AutomationDefinitionNotApprovedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomationDefinitionNotApprovedException) GoString() string { + return s.String() +} + +func newErrorAutomationDefinitionNotApprovedException(v protocol.ResponseMetadata) error { + return &AutomationDefinitionNotApprovedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AutomationDefinitionNotApprovedException) Code() string { + return "AutomationDefinitionNotApprovedException" +} + +// Message returns the exception's message. +func (s *AutomationDefinitionNotApprovedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AutomationDefinitionNotApprovedException) OrigErr() error { + return nil +} + +func (s *AutomationDefinitionNotApprovedException) 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 *AutomationDefinitionNotApprovedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AutomationDefinitionNotApprovedException) RequestID() string { + return s.RespMetadata.RequestID +} + // An Automation document with the specified name could not be found. type AutomationDefinitionNotFoundException struct { _ struct{} `type:"structure"` @@ -16495,12 +17064,22 @@ func (s *AutomationDefinitionVersionNotFoundException) RequestID() string { type AutomationExecution struct { _ struct{} `type:"structure"` + // The ID of a State Manager association used in the Automation operation. + AssociationId *string `type:"string"` + // The execution ID. AutomationExecutionId *string `min:"36" type:"string"` // The execution status of the Automation. AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"` + // The subtype of the Automation operation. Currently, the only supported value + // is ChangeRequest. + AutomationSubtype *string `type:"string" enum:"AutomationSubtype"` + + // The name of the Change Manager change request. + ChangeRequestName *string `min:"1" type:"string"` + // The action of the step that is currently running. CurrentAction *string `type:"string"` @@ -16535,6 +17114,10 @@ type AutomationExecution struct { // The automation execution mode. Mode *string `type:"string" enum:"ExecutionMode"` + // The ID of an OpsItem that is created to represent a Change Manager change + // request. + OpsItemId *string `type:"string"` + // The list of execution outputs as defined in the automation document. Outputs map[string][]*string `min:"1" type:"map"` @@ -16552,6 +17135,16 @@ type AutomationExecution struct { // A list of resolved targets in the rate control execution. ResolvedTargets *ResolvedTargets `type:"structure"` + // Information about the Automation runbooks (Automation documents) that are + // run as part of a runbook workflow. + // + // The Automation runbooks specified for the runbook workflow can't run until + // all required approvals for the change request have been received. + Runbooks []*Runbook `min:"1" type:"list"` + + // The date and time the Automation operation is scheduled to start. + ScheduledTime *time.Time `type:"timestamp"` + // A list of details about the current state of all steps that comprise an execution. // An Automation document contains a list of steps that are run in order. StepExecutions []*StepExecution `type:"list"` @@ -16588,6 +17181,12 @@ func (s AutomationExecution) GoString() string { return s.String() } +// SetAssociationId sets the AssociationId field's value. +func (s *AutomationExecution) SetAssociationId(v string) *AutomationExecution { + s.AssociationId = &v + return s +} + // SetAutomationExecutionId sets the AutomationExecutionId field's value. func (s *AutomationExecution) SetAutomationExecutionId(v string) *AutomationExecution { s.AutomationExecutionId = &v @@ -16600,6 +17199,18 @@ func (s *AutomationExecution) SetAutomationExecutionStatus(v string) *Automation return s } +// SetAutomationSubtype sets the AutomationSubtype field's value. +func (s *AutomationExecution) SetAutomationSubtype(v string) *AutomationExecution { + s.AutomationSubtype = &v + return s +} + +// SetChangeRequestName sets the ChangeRequestName field's value. +func (s *AutomationExecution) SetChangeRequestName(v string) *AutomationExecution { + s.ChangeRequestName = &v + return s +} + // SetCurrentAction sets the CurrentAction field's value. func (s *AutomationExecution) SetCurrentAction(v string) *AutomationExecution { s.CurrentAction = &v @@ -16666,6 +17277,12 @@ func (s *AutomationExecution) SetMode(v string) *AutomationExecution { return s } +// SetOpsItemId sets the OpsItemId field's value. +func (s *AutomationExecution) SetOpsItemId(v string) *AutomationExecution { + s.OpsItemId = &v + return s +} + // SetOutputs sets the Outputs field's value. func (s *AutomationExecution) SetOutputs(v map[string][]*string) *AutomationExecution { s.Outputs = v @@ -16696,6 +17313,18 @@ func (s *AutomationExecution) SetResolvedTargets(v *ResolvedTargets) *Automation return s } +// SetRunbooks sets the Runbooks field's value. +func (s *AutomationExecution) SetRunbooks(v []*Runbook) *AutomationExecution { + s.Runbooks = v + return s +} + +// SetScheduledTime sets the ScheduledTime field's value. +func (s *AutomationExecution) SetScheduledTime(v time.Time) *AutomationExecution { + s.ScheduledTime = &v + return s +} + // SetStepExecutions sets the StepExecutions field's value. func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution { s.StepExecutions = v @@ -16859,12 +17488,19 @@ func (s *AutomationExecutionLimitExceededException) RequestID() string { type AutomationExecutionMetadata struct { _ struct{} `type:"structure"` + // The ID of a State Manager association used in the Automation operation. + AssociationId *string `type:"string"` + // The execution ID. AutomationExecutionId *string `min:"36" type:"string"` // The status of the execution. AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"` + // The subtype of the Automation operation. Currently, the only supported value + // is ChangeRequest. + AutomationSubtype *string `type:"string" enum:"AutomationSubtype"` + // Use this filter with DescribeAutomationExecutions. Specify either Local or // CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions // and accounts. For more information, see Running Automation workflows in multiple @@ -16872,6 +17508,9 @@ type AutomationExecutionMetadata struct { // in the AWS Systems Manager User Guide. AutomationType *string `type:"string" enum:"AutomationType"` + // The name of the Change Manager change request. + ChangeRequestName *string `min:"1" type:"string"` + // The action of the step that is currently running. CurrentAction *string `type:"string"` @@ -16909,6 +17548,10 @@ type AutomationExecutionMetadata struct { // The Automation execution mode. Mode *string `type:"string" enum:"ExecutionMode"` + // The ID of an OpsItem that is created to represent a Change Manager change + // request. + OpsItemId *string `type:"string"` + // The list of execution outputs as defined in the Automation document. Outputs map[string][]*string `min:"1" type:"map"` @@ -16918,6 +17561,16 @@ type AutomationExecutionMetadata struct { // A list of targets that resolved during the execution. ResolvedTargets *ResolvedTargets `type:"structure"` + // Information about the Automation runbooks (Automation documents) that are + // run during a runbook workflow in Change Manager. + // + // The Automation runbooks specified for the runbook workflow can't run until + // all required approvals for the change request have been received. + Runbooks []*Runbook `min:"1" type:"list"` + + // The date and time the Automation operation is scheduled to start. + ScheduledTime *time.Time `type:"timestamp"` + // The list of execution outputs as defined in the Automation document. Target *string `type:"string"` @@ -16941,6 +17594,12 @@ func (s AutomationExecutionMetadata) GoString() string { return s.String() } +// SetAssociationId sets the AssociationId field's value. +func (s *AutomationExecutionMetadata) SetAssociationId(v string) *AutomationExecutionMetadata { + s.AssociationId = &v + return s +} + // SetAutomationExecutionId sets the AutomationExecutionId field's value. func (s *AutomationExecutionMetadata) SetAutomationExecutionId(v string) *AutomationExecutionMetadata { s.AutomationExecutionId = &v @@ -16953,12 +17612,24 @@ func (s *AutomationExecutionMetadata) SetAutomationExecutionStatus(v string) *Au return s } +// SetAutomationSubtype sets the AutomationSubtype field's value. +func (s *AutomationExecutionMetadata) SetAutomationSubtype(v string) *AutomationExecutionMetadata { + s.AutomationSubtype = &v + return s +} + // SetAutomationType sets the AutomationType field's value. func (s *AutomationExecutionMetadata) SetAutomationType(v string) *AutomationExecutionMetadata { s.AutomationType = &v return s } +// SetChangeRequestName sets the ChangeRequestName field's value. +func (s *AutomationExecutionMetadata) SetChangeRequestName(v string) *AutomationExecutionMetadata { + s.ChangeRequestName = &v + return s +} + // SetCurrentAction sets the CurrentAction field's value. func (s *AutomationExecutionMetadata) SetCurrentAction(v string) *AutomationExecutionMetadata { s.CurrentAction = &v @@ -17031,6 +17702,12 @@ func (s *AutomationExecutionMetadata) SetMode(v string) *AutomationExecutionMeta return s } +// SetOpsItemId sets the OpsItemId field's value. +func (s *AutomationExecutionMetadata) SetOpsItemId(v string) *AutomationExecutionMetadata { + s.OpsItemId = &v + return s +} + // SetOutputs sets the Outputs field's value. func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata { s.Outputs = v @@ -17049,6 +17726,18 @@ func (s *AutomationExecutionMetadata) SetResolvedTargets(v *ResolvedTargets) *Au return s } +// SetRunbooks sets the Runbooks field's value. +func (s *AutomationExecutionMetadata) SetRunbooks(v []*Runbook) *AutomationExecutionMetadata { + s.Runbooks = v + return s +} + +// SetScheduledTime sets the ScheduledTime field's value. +func (s *AutomationExecutionMetadata) SetScheduledTime(v time.Time) *AutomationExecutionMetadata { + s.ScheduledTime = &v + return s +} + // SetTarget sets the Target field's value. func (s *AutomationExecutionMetadata) SetTarget(v string) *AutomationExecutionMetadata { s.Target = &v @@ -18933,6 +19622,10 @@ type CreateAssociationBatchRequestEntry struct { // By default, all associations use AUTO mode. SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` + // Use this action to create an association in multiple Regions and multiple + // accounts. + TargetLocations []*TargetLocation `min:"1" type:"list"` + // The instances targeted by the request. Targets []*Target `type:"list"` } @@ -18965,11 +19658,24 @@ func (s *CreateAssociationBatchRequestEntry) Validate() error { if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) } + if s.TargetLocations != nil && len(s.TargetLocations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1)) + } if s.OutputLocation != nil { if err := s.OutputLocation.Validate(); err != nil { invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) } } + if s.TargetLocations != nil { + for i, v := range s.TargetLocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams)) + } + } + } if s.Targets != nil { for i, v := range s.Targets { if v == nil { @@ -19065,6 +19771,12 @@ func (s *CreateAssociationBatchRequestEntry) SetSyncCompliance(v string) *Create return s } +// SetTargetLocations sets the TargetLocations field's value. +func (s *CreateAssociationBatchRequestEntry) SetTargetLocations(v []*TargetLocation) *CreateAssociationBatchRequestEntry { + s.TargetLocations = v + return s +} + // SetTargets sets the Targets field's value. func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry { s.Targets = v @@ -19175,6 +19887,11 @@ type CreateAssociationInput struct { // By default, all associations use AUTO mode. SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` + // A location is a combination of AWS Regions and AWS accounts where you want + // to run the association. Use this action to create an association in multiple + // Regions and multiple accounts. + TargetLocations []*TargetLocation `min:"1" type:"list"` + // The targets for the association. You can target instances by using tags, // AWS Resource Groups, all instances in an AWS account, or individual instance // IDs. For more information about choosing targets for an association, see @@ -19211,11 +19928,24 @@ func (s *CreateAssociationInput) Validate() error { if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) } + if s.TargetLocations != nil && len(s.TargetLocations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1)) + } if s.OutputLocation != nil { if err := s.OutputLocation.Validate(); err != nil { invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) } } + if s.TargetLocations != nil { + for i, v := range s.TargetLocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams)) + } + } + } if s.Targets != nil { for i, v := range s.Targets { if v == nil { @@ -19311,6 +20041,12 @@ func (s *CreateAssociationInput) SetSyncCompliance(v string) *CreateAssociationI return s } +// SetTargetLocations sets the TargetLocations field's value. +func (s *CreateAssociationInput) SetTargetLocations(v []*TargetLocation) *CreateAssociationInput { + s.TargetLocations = v + return s +} + // SetTargets sets the Targets field's value. func (s *CreateAssociationInput) SetTargets(v []*Target) *CreateAssociationInput { s.Targets = v @@ -19612,7 +20348,7 @@ type CreateMaintenanceWindowInput struct { // For example, the following cron expression schedules a maintenance window // to run on the third Tuesday of every month at 11:30 PM. // - // cron(0 30 23 ? * TUE#3 *) + // cron(30 23 ? * TUE#3 *) // // If the schedule offset is 2, the maintenance window won't run until two days // later. @@ -19620,7 +20356,7 @@ type CreateMaintenanceWindowInput struct { // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database + // "UTC", or "Asia/Seoul". For more information, see the Time Zone Database // (https://www.iana.org/time-zones) on the IANA website. ScheduleTimezone *string `type:"string"` @@ -19807,6 +20543,14 @@ func (s *CreateMaintenanceWindowOutput) SetWindowId(v string) *CreateMaintenance type CreateOpsItemInput struct { _ struct{} `type:"structure"` + // The time a runbook workflow ended. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualEndTime *time.Time `type:"timestamp"` + + // The time a runbook workflow started. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualStartTime *time.Time `type:"timestamp"` + // Specify a category to assign to an OpsItem. Category *string `min:"1" type:"string"` @@ -19842,6 +20586,18 @@ type CreateOpsItemInput struct { // in the AWS Systems Manager User Guide. OperationalData map[string]*OpsItemDataValue `type:"map"` + // The type of OpsItem to create. Currently, the only valid values are /aws/changerequest + // and /aws/issue. + OpsItemType *string `type:"string"` + + // The time specified in a change request for a runbook workflow to end. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedEndTime *time.Time `type:"timestamp"` + + // The time specified in a change request for a runbook workflow to start. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedStartTime *time.Time `type:"timestamp"` + // The importance of this OpsItem in relation to other OpsItems in the system. Priority *int64 `min:"1" type:"integer"` @@ -19946,6 +20702,18 @@ func (s *CreateOpsItemInput) Validate() error { return nil } +// SetActualEndTime sets the ActualEndTime field's value. +func (s *CreateOpsItemInput) SetActualEndTime(v time.Time) *CreateOpsItemInput { + s.ActualEndTime = &v + return s +} + +// SetActualStartTime sets the ActualStartTime field's value. +func (s *CreateOpsItemInput) SetActualStartTime(v time.Time) *CreateOpsItemInput { + s.ActualStartTime = &v + return s +} + // SetCategory sets the Category field's value. func (s *CreateOpsItemInput) SetCategory(v string) *CreateOpsItemInput { s.Category = &v @@ -19970,6 +20738,24 @@ func (s *CreateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) return s } +// SetOpsItemType sets the OpsItemType field's value. +func (s *CreateOpsItemInput) SetOpsItemType(v string) *CreateOpsItemInput { + s.OpsItemType = &v + return s +} + +// SetPlannedEndTime sets the PlannedEndTime field's value. +func (s *CreateOpsItemInput) SetPlannedEndTime(v time.Time) *CreateOpsItemInput { + s.PlannedEndTime = &v + return s +} + +// SetPlannedStartTime sets the PlannedStartTime field's value. +func (s *CreateOpsItemInput) SetPlannedStartTime(v time.Time) *CreateOpsItemInput { + s.PlannedStartTime = &v + return s +} + // SetPriority sets the Priority field's value. func (s *CreateOpsItemInput) SetPriority(v int64) *CreateOpsItemInput { s.Priority = &v @@ -20032,10 +20818,10 @@ func (s *CreateOpsItemOutput) SetOpsItemId(v string) *CreateOpsItemOutput { type CreateOpsMetadataInput struct { _ struct{} `type:"structure"` - // Metadata for a new AppManager application. + // Metadata for a new Application Manager application. Metadata map[string]*MetadataValue `min:"1" type:"map"` - // A resource ID for a new AppManager application. + // A resource ID for a new Application Manager application. // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -25285,10 +26071,16 @@ func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVe type DocumentDescription struct { _ struct{} `type:"structure"` + // The version of the document currently approved for use in the organization. + ApprovedVersion *string `type:"string"` + // Details about the document attachments, including names, locations, sizes, // and so on. AttachmentsInformation []*AttachmentInformation `type:"list"` + // The user in your organization who created the document. + Author *string `type:"string"` + // The date when the document was created. CreatedDate *time.Time `type:"timestamp"` @@ -25329,6 +26121,9 @@ type DocumentDescription struct { // A description of the parameters for a document. Parameters []*DocumentParameter `type:"list"` + // The version of the document that is currently under review. + PendingReviewVersion *string `type:"string"` + // The list of OS platforms compatible with this Systems Manager document. PlatformTypes []*string `type:"list"` @@ -25336,6 +26131,12 @@ type DocumentDescription struct { // document requires an ApplicationConfigurationSchema document. Requires []*DocumentRequires `min:"1" type:"list"` + // Details about the review of a document. + ReviewInformation []*ReviewInformation `min:"1" type:"list"` + + // The current status of the review. + ReviewStatus *string `type:"string" enum:"ReviewStatus"` + // The schema version. SchemaVersion *string `type:"string"` @@ -25374,12 +26175,24 @@ func (s DocumentDescription) GoString() string { return s.String() } +// SetApprovedVersion sets the ApprovedVersion field's value. +func (s *DocumentDescription) SetApprovedVersion(v string) *DocumentDescription { + s.ApprovedVersion = &v + return s +} + // SetAttachmentsInformation sets the AttachmentsInformation field's value. func (s *DocumentDescription) SetAttachmentsInformation(v []*AttachmentInformation) *DocumentDescription { s.AttachmentsInformation = v return s } +// SetAuthor sets the Author field's value. +func (s *DocumentDescription) SetAuthor(v string) *DocumentDescription { + s.Author = &v + return s +} + // SetCreatedDate sets the CreatedDate field's value. func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription { s.CreatedDate = &v @@ -25452,6 +26265,12 @@ func (s *DocumentDescription) SetParameters(v []*DocumentParameter) *DocumentDes return s } +// SetPendingReviewVersion sets the PendingReviewVersion field's value. +func (s *DocumentDescription) SetPendingReviewVersion(v string) *DocumentDescription { + s.PendingReviewVersion = &v + return s +} + // SetPlatformTypes sets the PlatformTypes field's value. func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription { s.PlatformTypes = v @@ -25464,6 +26283,18 @@ func (s *DocumentDescription) SetRequires(v []*DocumentRequires) *DocumentDescri return s } +// SetReviewInformation sets the ReviewInformation field's value. +func (s *DocumentDescription) SetReviewInformation(v []*ReviewInformation) *DocumentDescription { + s.ReviewInformation = v + return s +} + +// SetReviewStatus sets the ReviewStatus field's value. +func (s *DocumentDescription) SetReviewStatus(v string) *DocumentDescription { + s.ReviewStatus = &v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription { s.SchemaVersion = &v @@ -25566,6 +26397,9 @@ func (s *DocumentFilter) SetValue(v string) *DocumentFilter { type DocumentIdentifier struct { _ struct{} `type:"structure"` + // The user in your organization who created the document. + Author *string `type:"string"` + // The document format, either JSON or YAML. DocumentFormat *string `type:"string" enum:"DocumentFormat"` @@ -25588,6 +26422,9 @@ type DocumentIdentifier struct { // document requires an ApplicationConfigurationSchema document. Requires []*DocumentRequires `min:"1" type:"list"` + // The current status of a document review. + ReviewStatus *string `type:"string" enum:"ReviewStatus"` + // The schema version. SchemaVersion *string `type:"string"` @@ -25616,6 +26453,12 @@ func (s DocumentIdentifier) GoString() string { return s.String() } +// SetAuthor sets the Author field's value. +func (s *DocumentIdentifier) SetAuthor(v string) *DocumentIdentifier { + s.Author = &v + return s +} + // SetDocumentFormat sets the DocumentFormat field's value. func (s *DocumentIdentifier) SetDocumentFormat(v string) *DocumentIdentifier { s.DocumentFormat = &v @@ -25658,6 +26501,12 @@ func (s *DocumentIdentifier) SetRequires(v []*DocumentRequires) *DocumentIdentif return s } +// SetReviewStatus sets the ReviewStatus field's value. +func (s *DocumentIdentifier) SetReviewStatus(v string) *DocumentIdentifier { + s.ReviewStatus = &v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier { s.SchemaVersion = &v @@ -25852,6 +26701,30 @@ func (s *DocumentLimitExceeded) RequestID() string { return s.RespMetadata.RequestID } +// Details about the response to a document review request. +type DocumentMetadataResponseInfo struct { + _ struct{} `type:"structure"` + + // Details about a reviewer's response to a document review request. + ReviewerResponse []*DocumentReviewerResponseSource `type:"list"` +} + +// String returns the string representation +func (s DocumentMetadataResponseInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentMetadataResponseInfo) GoString() string { + return s.String() +} + +// SetReviewerResponse sets the ReviewerResponse field's value. +func (s *DocumentMetadataResponseInfo) SetReviewerResponse(v []*DocumentReviewerResponseSource) *DocumentMetadataResponseInfo { + s.ReviewerResponse = v + return s +} + // Parameters specified in a System Manager document that run on the server // when the command is run. type DocumentParameter struct { @@ -26013,6 +26886,182 @@ func (s *DocumentRequires) SetVersion(v string) *DocumentRequires { return s } +// Information about comments added to a document review request. +type DocumentReviewCommentSource struct { + _ struct{} `type:"structure"` + + // The content of a comment entered by a user who requests a review of a new + // document version, or who reviews the new version. + Content *string `min:"1" type:"string"` + + // The type of information added to a review request. Currently, only the value + // Comment is supported. + Type *string `type:"string" enum:"DocumentReviewCommentType"` +} + +// String returns the string representation +func (s DocumentReviewCommentSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentReviewCommentSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentReviewCommentSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentReviewCommentSource"} + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *DocumentReviewCommentSource) SetContent(v string) *DocumentReviewCommentSource { + s.Content = &v + return s +} + +// SetType sets the Type field's value. +func (s *DocumentReviewCommentSource) SetType(v string) *DocumentReviewCommentSource { + s.Type = &v + return s +} + +// Information about a reviewer's response to a document review request. +type DocumentReviewerResponseSource struct { + _ struct{} `type:"structure"` + + // The comment entered by a reviewer as part of their document review response. + Comment []*DocumentReviewCommentSource `type:"list"` + + // The date and time that a reviewer entered a response to a document review + // request. + CreateTime *time.Time `type:"timestamp"` + + // The current review status of a new custom SSM document created by a member + // of your organization, or of the latest version of an existing SSM document. + // + // Only one version of a document can be in the APPROVED state at a time. When + // a new version is approved, the status of the previous version changes to + // REJECTED. + // + // Only one version of a document can be in review, or PENDING, at a time. + ReviewStatus *string `type:"string" enum:"ReviewStatus"` + + // The user in your organization assigned to review a document request. + Reviewer *string `type:"string"` + + // The date and time that a reviewer last updated a response to a document review + // request. + UpdatedTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s DocumentReviewerResponseSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentReviewerResponseSource) GoString() string { + return s.String() +} + +// SetComment sets the Comment field's value. +func (s *DocumentReviewerResponseSource) SetComment(v []*DocumentReviewCommentSource) *DocumentReviewerResponseSource { + s.Comment = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *DocumentReviewerResponseSource) SetCreateTime(v time.Time) *DocumentReviewerResponseSource { + s.CreateTime = &v + return s +} + +// SetReviewStatus sets the ReviewStatus field's value. +func (s *DocumentReviewerResponseSource) SetReviewStatus(v string) *DocumentReviewerResponseSource { + s.ReviewStatus = &v + return s +} + +// SetReviewer sets the Reviewer field's value. +func (s *DocumentReviewerResponseSource) SetReviewer(v string) *DocumentReviewerResponseSource { + s.Reviewer = &v + return s +} + +// SetUpdatedTime sets the UpdatedTime field's value. +func (s *DocumentReviewerResponseSource) SetUpdatedTime(v time.Time) *DocumentReviewerResponseSource { + s.UpdatedTime = &v + return s +} + +// Information about a document approval review. +type DocumentReviews struct { + _ struct{} `type:"structure"` + + // The action to take on a document approval review request. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"DocumentReviewAction"` + + // A comment entered by a user in your organization about the document review + // request. + Comment []*DocumentReviewCommentSource `type:"list"` +} + +// String returns the string representation +func (s DocumentReviews) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentReviews) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentReviews) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentReviews"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Comment != nil { + for i, v := range s.Comment { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Comment", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *DocumentReviews) SetAction(v string) *DocumentReviews { + s.Action = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *DocumentReviews) SetComment(v []*DocumentReviewCommentSource) *DocumentReviews { + s.Comment = v + return s +} + // Version information about the document. type DocumentVersionInfo struct { _ struct{} `type:"structure"` @@ -26032,6 +27081,9 @@ type DocumentVersionInfo struct { // The document name. Name *string `type:"string"` + // The current status of the approval review for the latest version of the document. + ReviewStatus *string `type:"string" enum:"ReviewStatus"` + // The status of the Systems Manager document, such as Creating, Active, Failed, // and Deleting. Status *string `type:"string" enum:"DocumentStatus"` @@ -26088,6 +27140,12 @@ func (s *DocumentVersionInfo) SetName(v string) *DocumentVersionInfo { return s } +// SetReviewStatus sets the ReviewStatus field's value. +func (s *DocumentVersionInfo) SetReviewStatus(v string) *DocumentVersionInfo { + s.ReviewStatus = &v + return s +} + // SetStatus sets the Status field's value. func (s *DocumentVersionInfo) SetStatus(v string) *DocumentVersionInfo { s.Status = &v @@ -27381,6 +28439,17 @@ type GetDocumentOutput struct { // document requires an ApplicationConfigurationSchema document. Requires []*DocumentRequires `min:"1" type:"list"` + // The current review status of a new custom Systems Manager document (SSM document) + // created by a member of your organization, or of the latest version of an + // existing SSM document. + // + // Only one version of an SSM document can be in the APPROVED state at a time. + // When a new version is approved, the status of the previous version changes + // to REJECTED. + // + // Only one version of an SSM document can be in review, or PENDING, at a time. + ReviewStatus *string `type:"string" enum:"ReviewStatus"` + // The status of the Systems Manager document, such as Creating, Active, Updating, // Failed, and Deleting. Status *string `type:"string" enum:"DocumentStatus"` @@ -27449,6 +28518,12 @@ func (s *GetDocumentOutput) SetRequires(v []*DocumentRequires) *GetDocumentOutpu return s } +// SetReviewStatus sets the ReviewStatus field's value. +func (s *GetDocumentOutput) SetReviewStatus(v string) *GetDocumentOutput { + s.ReviewStatus = &v + return s +} + // SetStatus sets the Status field's value. func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput { s.Status = &v @@ -28328,7 +29403,7 @@ type GetMaintenanceWindowOutput struct { // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database + // "UTC", or "Asia/Seoul". For more information, see the Time Zone Database // (https://www.iana.org/time-zones) on the IANA website. ScheduleTimezone *string `type:"string"` @@ -28782,14 +29857,14 @@ func (s *GetOpsMetadataInput) SetOpsMetadataArn(v string) *GetOpsMetadataInput { type GetOpsMetadataOutput struct { _ struct{} `type:"structure"` - // OpsMetadata for an AppManager application. + // OpsMetadata for an Application Manager application. Metadata map[string]*MetadataValue `min:"1" type:"map"` // The token for the next set of items to return. Use this token to get the // next set of results. NextToken *string `type:"string"` - // The resource ID of the AppManager application. + // The resource ID of the Application Manager application. ResourceId *string `min:"1" type:"string"` } @@ -30300,7 +31375,7 @@ type InstanceInformation struct { // The date the association was last run. LastAssociationExecutionDate *time.Time `type:"timestamp"` - // The date and time when agent last pinged Systems Manager service. + // The date and time when the agent last pinged the Systems Manager service. LastPingDateTime *time.Time `type:"timestamp"` // The last date the association was successfully run. @@ -35309,6 +36384,154 @@ func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSu return s } +type ListDocumentMetadataHistoryInput struct { + _ struct{} `type:"structure"` + + // The version of the document. + DocumentVersion *string `type:"string"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The type of data for which details are being requested. Currently, the only + // supported value is DocumentReviews. + // + // Metadata is a required field + Metadata *string `type:"string" required:"true" enum:"DocumentMetadataEnum"` + + // The name of the document. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDocumentMetadataHistoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDocumentMetadataHistoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDocumentMetadataHistoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDocumentMetadataHistoryInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Metadata == nil { + invalidParams.Add(request.NewErrParamRequired("Metadata")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *ListDocumentMetadataHistoryInput) SetDocumentVersion(v string) *ListDocumentMetadataHistoryInput { + s.DocumentVersion = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDocumentMetadataHistoryInput) SetMaxResults(v int64) *ListDocumentMetadataHistoryInput { + s.MaxResults = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *ListDocumentMetadataHistoryInput) SetMetadata(v string) *ListDocumentMetadataHistoryInput { + s.Metadata = &v + return s +} + +// SetName sets the Name field's value. +func (s *ListDocumentMetadataHistoryInput) SetName(v string) *ListDocumentMetadataHistoryInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDocumentMetadataHistoryInput) SetNextToken(v string) *ListDocumentMetadataHistoryInput { + s.NextToken = &v + return s +} + +type ListDocumentMetadataHistoryOutput struct { + _ struct{} `type:"structure"` + + // The user ID of the person in the organization who requested the document + // review. + Author *string `type:"string"` + + // The version of the document. + DocumentVersion *string `type:"string"` + + // Information about the response to the document approval request. + Metadata *DocumentMetadataResponseInfo `type:"structure"` + + // The name of the document. + Name *string `type:"string"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDocumentMetadataHistoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDocumentMetadataHistoryOutput) GoString() string { + return s.String() +} + +// SetAuthor sets the Author field's value. +func (s *ListDocumentMetadataHistoryOutput) SetAuthor(v string) *ListDocumentMetadataHistoryOutput { + s.Author = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *ListDocumentMetadataHistoryOutput) SetDocumentVersion(v string) *ListDocumentMetadataHistoryOutput { + s.DocumentVersion = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *ListDocumentMetadataHistoryOutput) SetMetadata(v *DocumentMetadataResponseInfo) *ListDocumentMetadataHistoryOutput { + s.Metadata = v + return s +} + +// SetName sets the Name field's value. +func (s *ListDocumentMetadataHistoryOutput) SetName(v string) *ListDocumentMetadataHistoryOutput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDocumentMetadataHistoryOutput) SetNextToken(v string) *ListDocumentMetadataHistoryOutput { + s.NextToken = &v + return s +} + type ListDocumentVersionsInput struct { _ struct{} `type:"structure"` @@ -35701,6 +36924,106 @@ func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntries return s } +type ListOpsItemEventsInput struct { + _ struct{} `type:"structure"` + + // One or more OpsItem filters. Use a filter to return a more specific list + // of results. + Filters []*OpsItemEventFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListOpsItemEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOpsItemEventsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOpsItemEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOpsItemEventsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 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 + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListOpsItemEventsInput) SetFilters(v []*OpsItemEventFilter) *ListOpsItemEventsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOpsItemEventsInput) SetMaxResults(v int64) *ListOpsItemEventsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOpsItemEventsInput) SetNextToken(v string) *ListOpsItemEventsInput { + s.NextToken = &v + return s +} + +type ListOpsItemEventsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` + + // A list of event information for the specified OpsItems. + Summaries []*OpsItemEventSummary `type:"list"` +} + +// String returns the string representation +func (s ListOpsItemEventsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOpsItemEventsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOpsItemEventsOutput) SetNextToken(v string) *ListOpsItemEventsOutput { + s.NextToken = &v + return s +} + +// SetSummaries sets the Summaries field's value. +func (s *ListOpsItemEventsOutput) SetSummaries(v []*OpsItemEventSummary) *ListOpsItemEventsOutput { + s.Summaries = v + return s +} + type ListOpsMetadataInput struct { _ struct{} `type:"structure"` @@ -37409,11 +38732,11 @@ func (s *MaxDocumentSizeExceeded) RequestID() string { return s.RespMetadata.RequestID } -// Metadata to assign to an AppManager application. +// Metadata to assign to an Application Manager application. type MetadataValue struct { _ struct{} `type:"structure"` - // Metadata value to assign to an AppManager application. + // Metadata value to assign to an Application Manager application. Value *string `min:"1" type:"string"` } @@ -37885,6 +39208,14 @@ func (s *OpsFilter) SetValues(v []*string) *OpsFilter { type OpsItem struct { _ struct{} `type:"structure"` + // The time a runbook workflow ended. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualEndTime *time.Time `type:"timestamp"` + + // The time a runbook workflow started. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualStartTime *time.Time `type:"timestamp"` + // An OpsItem category. Category options include: Availability, Cost, Performance, // Recovery, Security. Category *string `min:"1" type:"string"` @@ -37934,6 +39265,18 @@ type OpsItem struct { // The ID of the OpsItem. OpsItemId *string `type:"string"` + // The type of OpsItem. Currently, the only valid values are /aws/changerequest + // and /aws/issue. + OpsItemType *string `type:"string"` + + // The time specified in a change request for a runbook workflow to end. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedEndTime *time.Time `type:"timestamp"` + + // The time specified in a change request for a runbook workflow to start. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedStartTime *time.Time `type:"timestamp"` + // The importance of this OpsItem in relation to other OpsItems in the system. Priority *int64 `min:"1" type:"integer"` @@ -37973,6 +39316,18 @@ func (s OpsItem) GoString() string { return s.String() } +// SetActualEndTime sets the ActualEndTime field's value. +func (s *OpsItem) SetActualEndTime(v time.Time) *OpsItem { + s.ActualEndTime = &v + return s +} + +// SetActualStartTime sets the ActualStartTime field's value. +func (s *OpsItem) SetActualStartTime(v time.Time) *OpsItem { + s.ActualStartTime = &v + return s +} + // SetCategory sets the Category field's value. func (s *OpsItem) SetCategory(v string) *OpsItem { s.Category = &v @@ -38027,6 +39382,24 @@ func (s *OpsItem) SetOpsItemId(v string) *OpsItem { return s } +// SetOpsItemType sets the OpsItemType field's value. +func (s *OpsItem) SetOpsItemType(v string) *OpsItem { + s.OpsItemType = &v + return s +} + +// SetPlannedEndTime sets the PlannedEndTime field's value. +func (s *OpsItem) SetPlannedEndTime(v time.Time) *OpsItem { + s.PlannedEndTime = &v + return s +} + +// SetPlannedStartTime sets the PlannedStartTime field's value. +func (s *OpsItem) SetPlannedStartTime(v time.Time) *OpsItem { + s.PlannedStartTime = &v + return s +} + // SetPriority sets the Priority field's value. func (s *OpsItem) SetPriority(v int64) *OpsItem { s.Priority = &v @@ -38161,6 +39534,154 @@ func (s *OpsItemDataValue) SetValue(v string) *OpsItemDataValue { return s } +// Describes a filter for a specific list of OpsItem events. You can filter +// event information by using tags. You specify tags by using a key-value pair +// mapping. +type OpsItemEventFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter key. Currently, the only supported value is OpsItemId. + // + // Key is a required field + Key *string `type:"string" required:"true" enum:"OpsItemEventFilterKey"` + + // The operator used by the filter call. Currently, the only supported value + // is Equal. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"OpsItemEventFilterOperator"` + + // The values for the filter, consisting of one or more OpsItem IDs. + // + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s OpsItemEventFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpsItemEventFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpsItemEventFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpsItemEventFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *OpsItemEventFilter) SetKey(v string) *OpsItemEventFilter { + s.Key = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *OpsItemEventFilter) SetOperator(v string) *OpsItemEventFilter { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *OpsItemEventFilter) SetValues(v []*string) *OpsItemEventFilter { + s.Values = v + return s +} + +// Summary information about an OpsItem event. +type OpsItemEventSummary struct { + _ struct{} `type:"structure"` + + // Information about the user or resource that created the OpsItem event. + CreatedBy *OpsItemIdentity `type:"structure"` + + // The date and time the OpsItem event was created. + CreatedTime *time.Time `type:"timestamp"` + + // Specific information about the OpsItem event. + Detail *string `type:"string"` + + // The type of information provided as a detail. + DetailType *string `type:"string"` + + // The ID of the OpsItem event. + EventId *string `type:"string"` + + // The ID of the OpsItem. + OpsItemId *string `type:"string"` + + // The source of the OpsItem event. + Source *string `type:"string"` +} + +// String returns the string representation +func (s OpsItemEventSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpsItemEventSummary) GoString() string { + return s.String() +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *OpsItemEventSummary) SetCreatedBy(v *OpsItemIdentity) *OpsItemEventSummary { + s.CreatedBy = v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *OpsItemEventSummary) SetCreatedTime(v time.Time) *OpsItemEventSummary { + s.CreatedTime = &v + return s +} + +// SetDetail sets the Detail field's value. +func (s *OpsItemEventSummary) SetDetail(v string) *OpsItemEventSummary { + s.Detail = &v + return s +} + +// SetDetailType sets the DetailType field's value. +func (s *OpsItemEventSummary) SetDetailType(v string) *OpsItemEventSummary { + s.DetailType = &v + return s +} + +// SetEventId sets the EventId field's value. +func (s *OpsItemEventSummary) SetEventId(v string) *OpsItemEventSummary { + s.EventId = &v + return s +} + +// SetOpsItemId sets the OpsItemId field's value. +func (s *OpsItemEventSummary) SetOpsItemId(v string) *OpsItemEventSummary { + s.OpsItemId = &v + return s +} + +// SetSource sets the Source field's value. +func (s *OpsItemEventSummary) SetSource(v string) *OpsItemEventSummary { + s.Source = &v + return s +} + // Describes an OpsItem filter. type OpsItemFilter struct { _ struct{} `type:"structure"` @@ -38228,6 +39749,31 @@ func (s *OpsItemFilter) SetValues(v []*string) *OpsItemFilter { return s } +// Information about the user or resource that created an OpsItem event. +type OpsItemIdentity struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem + // event. + Arn *string `type:"string"` +} + +// String returns the string representation +func (s OpsItemIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpsItemIdentity) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *OpsItemIdentity) SetArn(v string) *OpsItemIdentity { + s.Arn = &v + return s +} + // A specified parameter argument isn't valid. Verify the available arguments // and try again. type OpsItemInvalidParameterException struct { @@ -38435,6 +39981,14 @@ func (s *OpsItemNotification) SetArn(v string) *OpsItemNotification { type OpsItemSummary struct { _ struct{} `type:"structure"` + // The time a runbook workflow ended. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualEndTime *time.Time `type:"timestamp"` + + // The time a runbook workflow started. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualStartTime *time.Time `type:"timestamp"` + // A list of OpsItems by category. Category *string `min:"1" type:"string"` @@ -38457,6 +40011,18 @@ type OpsItemSummary struct { // The ID of the OpsItem. OpsItemId *string `type:"string"` + // The type of OpsItem. Currently, the only valid values are /aws/changerequest + // and /aws/issue. + OpsItemType *string `type:"string"` + + // The time specified in a change request for a runbook workflow to end. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedEndTime *time.Time `type:"timestamp"` + + // The time specified in a change request for a runbook workflow to start. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedStartTime *time.Time `type:"timestamp"` + // The importance of this OpsItem in relation to other OpsItems in the system. Priority *int64 `min:"1" type:"integer"` @@ -38484,6 +40050,18 @@ func (s OpsItemSummary) GoString() string { return s.String() } +// SetActualEndTime sets the ActualEndTime field's value. +func (s *OpsItemSummary) SetActualEndTime(v time.Time) *OpsItemSummary { + s.ActualEndTime = &v + return s +} + +// SetActualStartTime sets the ActualStartTime field's value. +func (s *OpsItemSummary) SetActualStartTime(v time.Time) *OpsItemSummary { + s.ActualStartTime = &v + return s +} + // SetCategory sets the Category field's value. func (s *OpsItemSummary) SetCategory(v string) *OpsItemSummary { s.Category = &v @@ -38526,6 +40104,24 @@ func (s *OpsItemSummary) SetOpsItemId(v string) *OpsItemSummary { return s } +// SetOpsItemType sets the OpsItemType field's value. +func (s *OpsItemSummary) SetOpsItemType(v string) *OpsItemSummary { + s.OpsItemType = &v + return s +} + +// SetPlannedEndTime sets the PlannedEndTime field's value. +func (s *OpsItemSummary) SetPlannedEndTime(v time.Time) *OpsItemSummary { + s.PlannedEndTime = &v + return s +} + +// SetPlannedStartTime sets the PlannedStartTime field's value. +func (s *OpsItemSummary) SetPlannedStartTime(v time.Time) *OpsItemSummary { + s.PlannedStartTime = &v + return s +} + // SetPriority sets the Priority field's value. func (s *OpsItemSummary) SetPriority(v int64) *OpsItemSummary { s.Priority = &v @@ -38556,7 +40152,7 @@ func (s *OpsItemSummary) SetTitle(v string) *OpsItemSummary { return s } -// Operational metadata for an application in AppManager. +// Operational metadata for an application in Application Manager. type OpsMetadata struct { _ struct{} `type:"structure"` @@ -38572,7 +40168,7 @@ type OpsMetadata struct { // The Amazon Resource Name (ARN) of the OpsMetadata Object or blob. OpsMetadataArn *string `min:"1" type:"string"` - // The ID of the AppManager application. + // The ID of the Application Manager application. ResourceId *string `min:"1" type:"string"` } @@ -38788,7 +40384,7 @@ func (s *OpsMetadataInvalidArgumentException) RequestID() string { } // The OpsMetadata object exceeds the maximum number of OpsMetadata keys that -// you can assign to an application in AppManager. +// you can assign to an application in Application Manager. type OpsMetadataKeyLimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -38845,8 +40441,8 @@ func (s *OpsMetadataKeyLimitExceededException) RequestID() string { } // Your account reached the maximum number of OpsMetadata objects allowed by -// AppManager. The maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata -// object and try again. +// Application Manager. The maximum is 200 OpsMetadata objects. Delete one or +// more OpsMetadata object and try again. type OpsMetadataLimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -42064,7 +43660,7 @@ type RegisterTaskWithMaintenanceWindowInput struct { // // Specify maintenance window targets using the following format: // - // Key=WindowTargetIds;,Values=, + // Key=WindowTargetIds,Values=, // // Targets is a required field Targets []*Target `type:"list" required:"true"` @@ -43689,6 +45285,199 @@ func (s *ResumeSessionOutput) SetTokenValue(v string) *ResumeSessionOutput { return s } +// Information about the result of a document review request. +type ReviewInformation struct { + _ struct{} `type:"structure"` + + // The time that the reviewer took action on the document review request. + ReviewedTime *time.Time `type:"timestamp"` + + // The reviewer assigned to take action on the document review request. + Reviewer *string `type:"string"` + + // The current status of the document review request. + Status *string `type:"string" enum:"ReviewStatus"` +} + +// String returns the string representation +func (s ReviewInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReviewInformation) GoString() string { + return s.String() +} + +// SetReviewedTime sets the ReviewedTime field's value. +func (s *ReviewInformation) SetReviewedTime(v time.Time) *ReviewInformation { + s.ReviewedTime = &v + return s +} + +// SetReviewer sets the Reviewer field's value. +func (s *ReviewInformation) SetReviewer(v string) *ReviewInformation { + s.Reviewer = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReviewInformation) SetStatus(v string) *ReviewInformation { + s.Status = &v + return s +} + +// Information about an Automation runbook (Automation document) used in a runbook +// workflow in Change Manager. +// +// The Automation runbooks specified for the runbook workflow can't run until +// all required approvals for the change request have been received. +type Runbook struct { + _ struct{} `type:"structure"` + + // The name of the Automation runbook (Automation document) used in a runbook + // workflow. + // + // DocumentName is a required field + DocumentName *string `type:"string" required:"true"` + + // The version of the Automation runbook (Automation document) used in a runbook + // workflow. + DocumentVersion *string `type:"string"` + + // The MaxConcurrency value specified by the user when the operation started, + // indicating the maximum number of resources that the runbook operation can + // run on at the same time. + MaxConcurrency *string `min:"1" type:"string"` + + // The MaxErrors value specified by the user when the execution started, indicating + // the maximum number of errors that can occur during the operation before the + // updates are stopped or rolled back. + MaxErrors *string `min:"1" type:"string"` + + // The key-value map of execution parameters, which were supplied when calling + // StartChangeRequestExecution. + Parameters map[string][]*string `min:"1" type:"map"` + + // Information about the AWS Regions and accounts targeted by the current Runbook + // operation. + TargetLocations []*TargetLocation `min:"1" type:"list"` + + // The name of the parameter used as the target resource for the rate-controlled + // runbook workflow. Required if you specify Targets. + TargetParameterName *string `min:"1" type:"string"` + + // A key-value mapping to target resources that the Runbook operation performs + // tasks on. Required if you specify TargetParameterName. + Targets []*Target `type:"list"` +} + +// String returns the string representation +func (s Runbook) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Runbook) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Runbook) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Runbook"} + if s.DocumentName == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentName")) + } + if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) + } + if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) + } + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.TargetLocations != nil && len(s.TargetLocations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1)) + } + if s.TargetParameterName != nil && len(*s.TargetParameterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetParameterName", 1)) + } + if s.TargetLocations != nil { + for i, v := range s.TargetLocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentName sets the DocumentName field's value. +func (s *Runbook) SetDocumentName(v string) *Runbook { + s.DocumentName = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *Runbook) SetDocumentVersion(v string) *Runbook { + s.DocumentVersion = &v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *Runbook) SetMaxConcurrency(v string) *Runbook { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *Runbook) SetMaxErrors(v string) *Runbook { + s.MaxErrors = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Runbook) SetParameters(v map[string][]*string) *Runbook { + s.Parameters = v + return s +} + +// SetTargetLocations sets the TargetLocations field's value. +func (s *Runbook) SetTargetLocations(v []*TargetLocation) *Runbook { + s.TargetLocations = v + return s +} + +// SetTargetParameterName sets the TargetParameterName field's value. +func (s *Runbook) SetTargetParameterName(v string) *Runbook { + s.TargetParameterName = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *Runbook) SetTargets(v []*Target) *Runbook { + s.Targets = v + return s +} + // An S3 bucket where you want to store the results of this request. type S3OutputLocation struct { _ struct{} `type:"structure"` @@ -44938,6 +46727,186 @@ func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *Sta return s } +type StartChangeRequestExecutionInput struct { + _ struct{} `type:"structure"` + + // The name of the change request associated with the runbook workflow to be + // run. + ChangeRequestName *string `min:"1" type:"string"` + + // The user-provided idempotency token. The token must be unique, is case insensitive, + // enforces the UUID format, and can't be reused. + ClientToken *string `min:"36" type:"string"` + + // The name of the change template document to run during the runbook workflow. + // + // DocumentName is a required field + DocumentName *string `type:"string" required:"true"` + + // The version of the change template document to run during the runbook workflow. + DocumentVersion *string `type:"string"` + + // A key-value map of parameters that match the declared parameters in the change + // template document. + Parameters map[string][]*string `min:"1" type:"map"` + + // Information about the Automation runbooks (Automation documents) that are + // run during the runbook workflow. + // + // The Automation runbooks specified for the runbook workflow can't run until + // all required approvals for the change request have been received. + // + // Runbooks is a required field + Runbooks []*Runbook `min:"1" type:"list" required:"true"` + + // The date and time specified in the change request to run the Automation runbooks. + // + // The Automation runbooks specified for the runbook workflow can't run until + // all required approvals for the change request have been received. + ScheduledTime *time.Time `type:"timestamp"` + + // Optional metadata that you assign to a resource. You can specify a maximum + // of five tags for a change request. Tags enable you to categorize a resource + // in different ways, such as by purpose, owner, or environment. For example, + // you might want to tag a change request to identify an environment or target + // AWS Region. In this case, you could specify the following key-value pairs: + // + // * Key=Environment,Value=Production + // + // * Key=Region,Value=us-east-2 + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s StartChangeRequestExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartChangeRequestExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartChangeRequestExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartChangeRequestExecutionInput"} + if s.ChangeRequestName != nil && len(*s.ChangeRequestName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeRequestName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } + if s.DocumentName == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentName")) + } + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.Runbooks == nil { + invalidParams.Add(request.NewErrParamRequired("Runbooks")) + } + if s.Runbooks != nil && len(s.Runbooks) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Runbooks", 1)) + } + if s.Runbooks != nil { + for i, v := range s.Runbooks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Runbooks", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChangeRequestName sets the ChangeRequestName field's value. +func (s *StartChangeRequestExecutionInput) SetChangeRequestName(v string) *StartChangeRequestExecutionInput { + s.ChangeRequestName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartChangeRequestExecutionInput) SetClientToken(v string) *StartChangeRequestExecutionInput { + s.ClientToken = &v + return s +} + +// SetDocumentName sets the DocumentName field's value. +func (s *StartChangeRequestExecutionInput) SetDocumentName(v string) *StartChangeRequestExecutionInput { + s.DocumentName = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *StartChangeRequestExecutionInput) SetDocumentVersion(v string) *StartChangeRequestExecutionInput { + s.DocumentVersion = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *StartChangeRequestExecutionInput) SetParameters(v map[string][]*string) *StartChangeRequestExecutionInput { + s.Parameters = v + return s +} + +// SetRunbooks sets the Runbooks field's value. +func (s *StartChangeRequestExecutionInput) SetRunbooks(v []*Runbook) *StartChangeRequestExecutionInput { + s.Runbooks = v + return s +} + +// SetScheduledTime sets the ScheduledTime field's value. +func (s *StartChangeRequestExecutionInput) SetScheduledTime(v time.Time) *StartChangeRequestExecutionInput { + s.ScheduledTime = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartChangeRequestExecutionInput) SetTags(v []*Tag) *StartChangeRequestExecutionInput { + s.Tags = v + return s +} + +type StartChangeRequestExecutionOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of a runbook workflow operation. (A runbook workflow is a type + // of Automation operation.) + AutomationExecutionId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s StartChangeRequestExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartChangeRequestExecutionOutput) GoString() string { + return s.String() +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *StartChangeRequestExecutionOutput) SetAutomationExecutionId(v string) *StartChangeRequestExecutionOutput { + s.AutomationExecutionId = &v + return s +} + type StartSessionInput struct { _ struct{} `type:"structure"` @@ -45729,14 +47698,15 @@ type TargetLocation struct { // The AWS accounts targeted by the current Automation execution. Accounts []*string `min:"1" type:"list"` - // The Automation execution role used by the currently running Automation. + // The Automation execution role used by the currently running Automation. If + // not specified, the default value is AWS-SystemsManager-AutomationExecutionRole. ExecutionRoleName *string `min:"1" type:"string"` // The AWS Regions targeted by the current Automation execution. Regions []*string `min:"1" type:"list"` // The maximum number of AWS accounts and AWS regions allowed to run the Automation - // concurrently + // concurrently. TargetLocationMaxConcurrency *string `min:"1" type:"string"` // The maximum number of errors allowed before the system stops queueing additional @@ -46617,6 +48587,11 @@ type UpdateAssociationInput struct { // By default, all associations use AUTO mode. SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` + // A location is a combination of AWS Regions and AWS accounts where you want + // to run the association. Use this action to update an association in multiple + // Regions and multiple accounts. + TargetLocations []*TargetLocation `min:"1" type:"list"` + // The targets of the association. Targets []*Target `type:"list"` } @@ -46649,11 +48624,24 @@ func (s *UpdateAssociationInput) Validate() error { if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) } + if s.TargetLocations != nil && len(s.TargetLocations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1)) + } if s.OutputLocation != nil { if err := s.OutputLocation.Validate(); err != nil { invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) } } + if s.TargetLocations != nil { + for i, v := range s.TargetLocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams)) + } + } + } if s.Targets != nil { for i, v := range s.Targets { if v == nil { @@ -46755,6 +48743,12 @@ func (s *UpdateAssociationInput) SetSyncCompliance(v string) *UpdateAssociationI return s } +// SetTargetLocations sets the TargetLocations field's value. +func (s *UpdateAssociationInput) SetTargetLocations(v []*TargetLocation) *UpdateAssociationInput { + s.TargetLocations = v + return s +} + // SetTargets sets the Targets field's value. func (s *UpdateAssociationInput) SetTargets(v []*Target) *UpdateAssociationInput { s.Targets = v @@ -47070,6 +49064,86 @@ func (s *UpdateDocumentInput) SetVersionName(v string) *UpdateDocumentInput { return s } +type UpdateDocumentMetadataInput struct { + _ struct{} `type:"structure"` + + // The document review details to update. + // + // DocumentReviews is a required field + DocumentReviews *DocumentReviews `type:"structure" required:"true"` + + // The version of a document to update. + DocumentVersion *string `type:"string"` + + // The name of the document for which a version is to be updated. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDocumentMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDocumentMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentMetadataInput"} + if s.DocumentReviews == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentReviews")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.DocumentReviews != nil { + if err := s.DocumentReviews.Validate(); err != nil { + invalidParams.AddNested("DocumentReviews", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentReviews sets the DocumentReviews field's value. +func (s *UpdateDocumentMetadataInput) SetDocumentReviews(v *DocumentReviews) *UpdateDocumentMetadataInput { + s.DocumentReviews = v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *UpdateDocumentMetadataInput) SetDocumentVersion(v string) *UpdateDocumentMetadataInput { + s.DocumentVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDocumentMetadataInput) SetName(v string) *UpdateDocumentMetadataInput { + s.Name = &v + return s +} + +type UpdateDocumentMetadataOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDocumentMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentMetadataOutput) GoString() string { + return s.String() +} + type UpdateDocumentOutput struct { _ struct{} `type:"structure"` @@ -47135,7 +49209,7 @@ type UpdateMaintenanceWindowInput struct { // For example, the following cron expression schedules a maintenance window // to run the third Tuesday of every month at 11:30 PM. // - // cron(0 30 23 ? * TUE#3 *) + // cron(30 23 ? * TUE#3 *) // // If the schedule offset is 2, the maintenance window won't run until two days // later. @@ -47143,13 +49217,13 @@ type UpdateMaintenanceWindowInput struct { // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database + // "UTC", or "Asia/Seoul". For more information, see the Time Zone Database // (https://www.iana.org/time-zones) on the IANA website. ScheduleTimezone *string `type:"string"` // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database + // "UTC", or "Asia/Seoul". For more information, see the Time Zone Database // (https://www.iana.org/time-zones) on the IANA website. StartDate *string `type:"string"` @@ -47315,7 +49389,7 @@ type UpdateMaintenanceWindowOutput struct { // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database + // "UTC", or "Asia/Seoul". For more information, see the Time Zone Database // (https://www.iana.org/time-zones) on the IANA website. ScheduleTimezone *string `type:"string"` @@ -48058,6 +50132,14 @@ func (s UpdateManagedInstanceRoleOutput) GoString() string { type UpdateOpsItemInput struct { _ struct{} `type:"structure"` + // The time a runbook workflow ended. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualEndTime *time.Time `type:"timestamp"` + + // The time a runbook workflow started. Currently reported only for the OpsItem + // type /aws/changerequest. + ActualStartTime *time.Time `type:"timestamp"` + // Specify a new category for an OpsItem. Category *string `min:"1" type:"string"` @@ -48103,6 +50185,14 @@ type UpdateOpsItemInput struct { // OpsItemId is a required field OpsItemId *string `type:"string" required:"true"` + // The time specified in a change request for a runbook workflow to end. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedEndTime *time.Time `type:"timestamp"` + + // The time specified in a change request for a runbook workflow to start. Currently + // supported only for the OpsItem type /aws/changerequest. + PlannedStartTime *time.Time `type:"timestamp"` + // The importance of this OpsItem in relation to other OpsItems in the system. Priority *int64 `min:"1" type:"integer"` @@ -48172,6 +50262,18 @@ func (s *UpdateOpsItemInput) Validate() error { return nil } +// SetActualEndTime sets the ActualEndTime field's value. +func (s *UpdateOpsItemInput) SetActualEndTime(v time.Time) *UpdateOpsItemInput { + s.ActualEndTime = &v + return s +} + +// SetActualStartTime sets the ActualStartTime field's value. +func (s *UpdateOpsItemInput) SetActualStartTime(v time.Time) *UpdateOpsItemInput { + s.ActualStartTime = &v + return s +} + // SetCategory sets the Category field's value. func (s *UpdateOpsItemInput) SetCategory(v string) *UpdateOpsItemInput { s.Category = &v @@ -48208,6 +50310,18 @@ func (s *UpdateOpsItemInput) SetOpsItemId(v string) *UpdateOpsItemInput { return s } +// SetPlannedEndTime sets the PlannedEndTime field's value. +func (s *UpdateOpsItemInput) SetPlannedEndTime(v time.Time) *UpdateOpsItemInput { + s.PlannedEndTime = &v + return s +} + +// SetPlannedStartTime sets the PlannedStartTime field's value. +func (s *UpdateOpsItemInput) SetPlannedStartTime(v time.Time) *UpdateOpsItemInput { + s.PlannedStartTime = &v + return s +} + // SetPriority sets the Priority field's value. func (s *UpdateOpsItemInput) SetPriority(v int64) *UpdateOpsItemInput { s.Priority = &v @@ -49098,6 +51212,12 @@ const ( // AutomationExecutionFilterKeyTargetResourceGroup is a AutomationExecutionFilterKey enum value AutomationExecutionFilterKeyTargetResourceGroup = "TargetResourceGroup" + + // AutomationExecutionFilterKeyAutomationSubtype is a AutomationExecutionFilterKey enum value + AutomationExecutionFilterKeyAutomationSubtype = "AutomationSubtype" + + // AutomationExecutionFilterKeyOpsItemId is a AutomationExecutionFilterKey enum value + AutomationExecutionFilterKeyOpsItemId = "OpsItemId" ) // AutomationExecutionFilterKey_Values returns all elements of the AutomationExecutionFilterKey enum @@ -49113,6 +51233,8 @@ func AutomationExecutionFilterKey_Values() []string { AutomationExecutionFilterKeyAutomationType, AutomationExecutionFilterKeyTagKey, AutomationExecutionFilterKeyTargetResourceGroup, + AutomationExecutionFilterKeyAutomationSubtype, + AutomationExecutionFilterKeyOpsItemId, } } @@ -49140,6 +51262,36 @@ const ( // AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value AutomationExecutionStatusFailed = "Failed" + + // AutomationExecutionStatusPendingApproval is a AutomationExecutionStatus enum value + AutomationExecutionStatusPendingApproval = "PendingApproval" + + // AutomationExecutionStatusApproved is a AutomationExecutionStatus enum value + AutomationExecutionStatusApproved = "Approved" + + // AutomationExecutionStatusRejected is a AutomationExecutionStatus enum value + AutomationExecutionStatusRejected = "Rejected" + + // AutomationExecutionStatusScheduled is a AutomationExecutionStatus enum value + AutomationExecutionStatusScheduled = "Scheduled" + + // AutomationExecutionStatusRunbookInProgress is a AutomationExecutionStatus enum value + AutomationExecutionStatusRunbookInProgress = "RunbookInProgress" + + // AutomationExecutionStatusPendingChangeCalendarOverride is a AutomationExecutionStatus enum value + AutomationExecutionStatusPendingChangeCalendarOverride = "PendingChangeCalendarOverride" + + // AutomationExecutionStatusChangeCalendarOverrideApproved is a AutomationExecutionStatus enum value + AutomationExecutionStatusChangeCalendarOverrideApproved = "ChangeCalendarOverrideApproved" + + // AutomationExecutionStatusChangeCalendarOverrideRejected is a AutomationExecutionStatus enum value + AutomationExecutionStatusChangeCalendarOverrideRejected = "ChangeCalendarOverrideRejected" + + // AutomationExecutionStatusCompletedWithSuccess is a AutomationExecutionStatus enum value + AutomationExecutionStatusCompletedWithSuccess = "CompletedWithSuccess" + + // AutomationExecutionStatusCompletedWithFailure is a AutomationExecutionStatus enum value + AutomationExecutionStatusCompletedWithFailure = "CompletedWithFailure" ) // AutomationExecutionStatus_Values returns all elements of the AutomationExecutionStatus enum @@ -49153,6 +51305,28 @@ func AutomationExecutionStatus_Values() []string { AutomationExecutionStatusCancelling, AutomationExecutionStatusCancelled, AutomationExecutionStatusFailed, + AutomationExecutionStatusPendingApproval, + AutomationExecutionStatusApproved, + AutomationExecutionStatusRejected, + AutomationExecutionStatusScheduled, + AutomationExecutionStatusRunbookInProgress, + AutomationExecutionStatusPendingChangeCalendarOverride, + AutomationExecutionStatusChangeCalendarOverrideApproved, + AutomationExecutionStatusChangeCalendarOverrideRejected, + AutomationExecutionStatusCompletedWithSuccess, + AutomationExecutionStatusCompletedWithFailure, + } +} + +const ( + // AutomationSubtypeChangeRequest is a AutomationSubtype enum value + AutomationSubtypeChangeRequest = "ChangeRequest" +) + +// AutomationSubtype_Values returns all elements of the AutomationSubtype enum +func AutomationSubtype_Values() []string { + return []string{ + AutomationSubtypeChangeRequest, } } @@ -49512,6 +51686,18 @@ func DocumentHashType_Values() []string { } } +const ( + // DocumentMetadataEnumDocumentReviews is a DocumentMetadataEnum enum value + DocumentMetadataEnumDocumentReviews = "DocumentReviews" +) + +// DocumentMetadataEnum_Values returns all elements of the DocumentMetadataEnum enum +func DocumentMetadataEnum_Values() []string { + return []string{ + DocumentMetadataEnumDocumentReviews, + } +} + const ( // DocumentParameterTypeString is a DocumentParameterType enum value DocumentParameterTypeString = "String" @@ -49540,6 +51726,42 @@ func DocumentPermissionType_Values() []string { } } +const ( + // DocumentReviewActionSendForReview is a DocumentReviewAction enum value + DocumentReviewActionSendForReview = "SendForReview" + + // DocumentReviewActionUpdateReview is a DocumentReviewAction enum value + DocumentReviewActionUpdateReview = "UpdateReview" + + // DocumentReviewActionApprove is a DocumentReviewAction enum value + DocumentReviewActionApprove = "Approve" + + // DocumentReviewActionReject is a DocumentReviewAction enum value + DocumentReviewActionReject = "Reject" +) + +// DocumentReviewAction_Values returns all elements of the DocumentReviewAction enum +func DocumentReviewAction_Values() []string { + return []string{ + DocumentReviewActionSendForReview, + DocumentReviewActionUpdateReview, + DocumentReviewActionApprove, + DocumentReviewActionReject, + } +} + +const ( + // DocumentReviewCommentTypeComment is a DocumentReviewCommentType enum value + DocumentReviewCommentTypeComment = "Comment" +) + +// DocumentReviewCommentType_Values returns all elements of the DocumentReviewCommentType enum +func DocumentReviewCommentType_Values() []string { + return []string{ + DocumentReviewCommentTypeComment, + } +} + // The status of a document. const ( // DocumentStatusCreating is a DocumentStatus enum value @@ -49596,6 +51818,9 @@ const ( // DocumentTypeChangeCalendar is a DocumentType enum value DocumentTypeChangeCalendar = "ChangeCalendar" + + // DocumentTypeAutomationChangeTemplate is a DocumentType enum value + DocumentTypeAutomationChangeTemplate = "Automation.ChangeTemplate" ) // DocumentType_Values returns all elements of the DocumentType enum @@ -49610,6 +51835,7 @@ func DocumentType_Values() []string { DocumentTypeApplicationConfigurationSchema, DocumentTypeDeploymentStrategy, DocumentTypeChangeCalendar, + DocumentTypeAutomationChangeTemplate, } } @@ -50037,6 +52263,30 @@ func OpsItemDataType_Values() []string { } } +const ( + // OpsItemEventFilterKeyOpsItemId is a OpsItemEventFilterKey enum value + OpsItemEventFilterKeyOpsItemId = "OpsItemId" +) + +// OpsItemEventFilterKey_Values returns all elements of the OpsItemEventFilterKey enum +func OpsItemEventFilterKey_Values() []string { + return []string{ + OpsItemEventFilterKeyOpsItemId, + } +} + +const ( + // OpsItemEventFilterOperatorEqual is a OpsItemEventFilterOperator enum value + OpsItemEventFilterOperatorEqual = "Equal" +) + +// OpsItemEventFilterOperator_Values returns all elements of the OpsItemEventFilterOperator enum +func OpsItemEventFilterOperator_Values() []string { + return []string{ + OpsItemEventFilterOperatorEqual, + } +} + const ( // OpsItemFilterKeyStatus is a OpsItemFilterKey enum value OpsItemFilterKeyStatus = "Status" @@ -50062,6 +52312,18 @@ const ( // OpsItemFilterKeyLastModifiedTime is a OpsItemFilterKey enum value OpsItemFilterKeyLastModifiedTime = "LastModifiedTime" + // OpsItemFilterKeyActualStartTime is a OpsItemFilterKey enum value + OpsItemFilterKeyActualStartTime = "ActualStartTime" + + // OpsItemFilterKeyActualEndTime is a OpsItemFilterKey enum value + OpsItemFilterKeyActualEndTime = "ActualEndTime" + + // OpsItemFilterKeyPlannedStartTime is a OpsItemFilterKey enum value + OpsItemFilterKeyPlannedStartTime = "PlannedStartTime" + + // OpsItemFilterKeyPlannedEndTime is a OpsItemFilterKey enum value + OpsItemFilterKeyPlannedEndTime = "PlannedEndTime" + // OpsItemFilterKeyOperationalData is a OpsItemFilterKey enum value OpsItemFilterKeyOperationalData = "OperationalData" @@ -50082,6 +52344,27 @@ const ( // OpsItemFilterKeySeverity is a OpsItemFilterKey enum value OpsItemFilterKeySeverity = "Severity" + + // OpsItemFilterKeyOpsItemType is a OpsItemFilterKey enum value + OpsItemFilterKeyOpsItemType = "OpsItemType" + + // OpsItemFilterKeyChangeRequestByRequesterArn is a OpsItemFilterKey enum value + OpsItemFilterKeyChangeRequestByRequesterArn = "ChangeRequestByRequesterArn" + + // OpsItemFilterKeyChangeRequestByRequesterName is a OpsItemFilterKey enum value + OpsItemFilterKeyChangeRequestByRequesterName = "ChangeRequestByRequesterName" + + // OpsItemFilterKeyChangeRequestByApproverArn is a OpsItemFilterKey enum value + OpsItemFilterKeyChangeRequestByApproverArn = "ChangeRequestByApproverArn" + + // OpsItemFilterKeyChangeRequestByApproverName is a OpsItemFilterKey enum value + OpsItemFilterKeyChangeRequestByApproverName = "ChangeRequestByApproverName" + + // OpsItemFilterKeyChangeRequestByTemplate is a OpsItemFilterKey enum value + OpsItemFilterKeyChangeRequestByTemplate = "ChangeRequestByTemplate" + + // OpsItemFilterKeyChangeRequestByTargetsResourceGroup is a OpsItemFilterKey enum value + OpsItemFilterKeyChangeRequestByTargetsResourceGroup = "ChangeRequestByTargetsResourceGroup" ) // OpsItemFilterKey_Values returns all elements of the OpsItemFilterKey enum @@ -50095,6 +52378,10 @@ func OpsItemFilterKey_Values() []string { OpsItemFilterKeyOpsItemId, OpsItemFilterKeyCreatedTime, OpsItemFilterKeyLastModifiedTime, + OpsItemFilterKeyActualStartTime, + OpsItemFilterKeyActualEndTime, + OpsItemFilterKeyPlannedStartTime, + OpsItemFilterKeyPlannedEndTime, OpsItemFilterKeyOperationalData, OpsItemFilterKeyOperationalDataKey, OpsItemFilterKeyOperationalDataValue, @@ -50102,6 +52389,13 @@ func OpsItemFilterKey_Values() []string { OpsItemFilterKeyAutomationId, OpsItemFilterKeyCategory, OpsItemFilterKeySeverity, + OpsItemFilterKeyOpsItemType, + OpsItemFilterKeyChangeRequestByRequesterArn, + OpsItemFilterKeyChangeRequestByRequesterName, + OpsItemFilterKeyChangeRequestByApproverArn, + OpsItemFilterKeyChangeRequestByApproverName, + OpsItemFilterKeyChangeRequestByTemplate, + OpsItemFilterKeyChangeRequestByTargetsResourceGroup, } } @@ -50138,6 +52432,51 @@ const ( // OpsItemStatusResolved is a OpsItemStatus enum value OpsItemStatusResolved = "Resolved" + + // OpsItemStatusPending is a OpsItemStatus enum value + OpsItemStatusPending = "Pending" + + // OpsItemStatusTimedOut is a OpsItemStatus enum value + OpsItemStatusTimedOut = "TimedOut" + + // OpsItemStatusCancelling is a OpsItemStatus enum value + OpsItemStatusCancelling = "Cancelling" + + // OpsItemStatusCancelled is a OpsItemStatus enum value + OpsItemStatusCancelled = "Cancelled" + + // OpsItemStatusFailed is a OpsItemStatus enum value + OpsItemStatusFailed = "Failed" + + // OpsItemStatusCompletedWithSuccess is a OpsItemStatus enum value + OpsItemStatusCompletedWithSuccess = "CompletedWithSuccess" + + // OpsItemStatusCompletedWithFailure is a OpsItemStatus enum value + OpsItemStatusCompletedWithFailure = "CompletedWithFailure" + + // OpsItemStatusScheduled is a OpsItemStatus enum value + OpsItemStatusScheduled = "Scheduled" + + // OpsItemStatusRunbookInProgress is a OpsItemStatus enum value + OpsItemStatusRunbookInProgress = "RunbookInProgress" + + // OpsItemStatusPendingChangeCalendarOverride is a OpsItemStatus enum value + OpsItemStatusPendingChangeCalendarOverride = "PendingChangeCalendarOverride" + + // OpsItemStatusChangeCalendarOverrideApproved is a OpsItemStatus enum value + OpsItemStatusChangeCalendarOverrideApproved = "ChangeCalendarOverrideApproved" + + // OpsItemStatusChangeCalendarOverrideRejected is a OpsItemStatus enum value + OpsItemStatusChangeCalendarOverrideRejected = "ChangeCalendarOverrideRejected" + + // OpsItemStatusPendingApproval is a OpsItemStatus enum value + OpsItemStatusPendingApproval = "PendingApproval" + + // OpsItemStatusApproved is a OpsItemStatus enum value + OpsItemStatusApproved = "Approved" + + // OpsItemStatusRejected is a OpsItemStatus enum value + OpsItemStatusRejected = "Rejected" ) // OpsItemStatus_Values returns all elements of the OpsItemStatus enum @@ -50146,6 +52485,21 @@ func OpsItemStatus_Values() []string { OpsItemStatusOpen, OpsItemStatusInProgress, OpsItemStatusResolved, + OpsItemStatusPending, + OpsItemStatusTimedOut, + OpsItemStatusCancelling, + OpsItemStatusCancelled, + OpsItemStatusFailed, + OpsItemStatusCompletedWithSuccess, + OpsItemStatusCompletedWithFailure, + OpsItemStatusScheduled, + OpsItemStatusRunbookInProgress, + OpsItemStatusPendingChangeCalendarOverride, + OpsItemStatusChangeCalendarOverrideApproved, + OpsItemStatusChangeCalendarOverrideRejected, + OpsItemStatusPendingApproval, + OpsItemStatusApproved, + OpsItemStatusRejected, } } @@ -50581,6 +52935,30 @@ func ResourceTypeForTagging_Values() []string { } } +const ( + // ReviewStatusApproved is a ReviewStatus enum value + ReviewStatusApproved = "APPROVED" + + // ReviewStatusNotReviewed is a ReviewStatus enum value + ReviewStatusNotReviewed = "NOT_REVIEWED" + + // ReviewStatusPending is a ReviewStatus enum value + ReviewStatusPending = "PENDING" + + // ReviewStatusRejected is a ReviewStatus enum value + ReviewStatusRejected = "REJECTED" +) + +// ReviewStatus_Values returns all elements of the ReviewStatus enum +func ReviewStatus_Values() []string { + return []string{ + ReviewStatusApproved, + ReviewStatusNotReviewed, + ReviewStatusPending, + ReviewStatusRejected, + } +} + const ( // SessionFilterKeyInvokedAfter is a SessionFilterKey enum value SessionFilterKeyInvokedAfter = "InvokedAfter" diff --git a/service/ssm/errors.go b/service/ssm/errors.go index 199710e71b..d060be8c8d 100644 --- a/service/ssm/errors.go +++ b/service/ssm/errors.go @@ -53,6 +53,13 @@ const ( // Each association has a limit of 1,000 versions. ErrCodeAssociationVersionLimitExceeded = "AssociationVersionLimitExceeded" + // ErrCodeAutomationDefinitionNotApprovedException for service response error code + // "AutomationDefinitionNotApprovedException". + // + // Indicates that the Change Manager change template used in the change request + // was rejected or is still in a pending state. + ErrCodeAutomationDefinitionNotApprovedException = "AutomationDefinitionNotApprovedException" + // ErrCodeAutomationDefinitionNotFoundException for service response error code // "AutomationDefinitionNotFoundException". // @@ -585,15 +592,15 @@ const ( // "OpsMetadataKeyLimitExceededException". // // The OpsMetadata object exceeds the maximum number of OpsMetadata keys that - // you can assign to an application in AppManager. + // you can assign to an application in Application Manager. ErrCodeOpsMetadataKeyLimitExceededException = "OpsMetadataKeyLimitExceededException" // ErrCodeOpsMetadataLimitExceededException for service response error code // "OpsMetadataLimitExceededException". // // Your account reached the maximum number of OpsMetadata objects allowed by - // AppManager. The maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata - // object and try again. + // Application Manager. The maximum is 200 OpsMetadata objects. Delete one or + // more OpsMetadata object and try again. ErrCodeOpsMetadataLimitExceededException = "OpsMetadataLimitExceededException" // ErrCodeOpsMetadataNotFoundException for service response error code @@ -846,6 +853,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AssociationExecutionDoesNotExist": newErrorAssociationExecutionDoesNotExist, "AssociationLimitExceeded": newErrorAssociationLimitExceeded, "AssociationVersionLimitExceeded": newErrorAssociationVersionLimitExceeded, + "AutomationDefinitionNotApprovedException": newErrorAutomationDefinitionNotApprovedException, "AutomationDefinitionNotFoundException": newErrorAutomationDefinitionNotFoundException, "AutomationDefinitionVersionNotFoundException": newErrorAutomationDefinitionVersionNotFoundException, "AutomationExecutionLimitExceededException": newErrorAutomationExecutionLimitExceededException, diff --git a/service/ssm/ssmiface/interface.go b/service/ssm/ssmiface/interface.go index b1ebed82e1..2a03444a37 100644 --- a/service/ssm/ssmiface/interface.go +++ b/service/ssm/ssmiface/interface.go @@ -533,6 +533,10 @@ type SSMAPI interface { ListComplianceSummariesPages(*ssm.ListComplianceSummariesInput, func(*ssm.ListComplianceSummariesOutput, bool) bool) error ListComplianceSummariesPagesWithContext(aws.Context, *ssm.ListComplianceSummariesInput, func(*ssm.ListComplianceSummariesOutput, bool) bool, ...request.Option) error + ListDocumentMetadataHistory(*ssm.ListDocumentMetadataHistoryInput) (*ssm.ListDocumentMetadataHistoryOutput, error) + ListDocumentMetadataHistoryWithContext(aws.Context, *ssm.ListDocumentMetadataHistoryInput, ...request.Option) (*ssm.ListDocumentMetadataHistoryOutput, error) + ListDocumentMetadataHistoryRequest(*ssm.ListDocumentMetadataHistoryInput) (*request.Request, *ssm.ListDocumentMetadataHistoryOutput) + ListDocumentVersions(*ssm.ListDocumentVersionsInput) (*ssm.ListDocumentVersionsOutput, error) ListDocumentVersionsWithContext(aws.Context, *ssm.ListDocumentVersionsInput, ...request.Option) (*ssm.ListDocumentVersionsOutput, error) ListDocumentVersionsRequest(*ssm.ListDocumentVersionsInput) (*request.Request, *ssm.ListDocumentVersionsOutput) @@ -551,10 +555,20 @@ type SSMAPI interface { ListInventoryEntriesWithContext(aws.Context, *ssm.ListInventoryEntriesInput, ...request.Option) (*ssm.ListInventoryEntriesOutput, error) ListInventoryEntriesRequest(*ssm.ListInventoryEntriesInput) (*request.Request, *ssm.ListInventoryEntriesOutput) + ListOpsItemEvents(*ssm.ListOpsItemEventsInput) (*ssm.ListOpsItemEventsOutput, error) + ListOpsItemEventsWithContext(aws.Context, *ssm.ListOpsItemEventsInput, ...request.Option) (*ssm.ListOpsItemEventsOutput, error) + ListOpsItemEventsRequest(*ssm.ListOpsItemEventsInput) (*request.Request, *ssm.ListOpsItemEventsOutput) + + ListOpsItemEventsPages(*ssm.ListOpsItemEventsInput, func(*ssm.ListOpsItemEventsOutput, bool) bool) error + ListOpsItemEventsPagesWithContext(aws.Context, *ssm.ListOpsItemEventsInput, func(*ssm.ListOpsItemEventsOutput, bool) bool, ...request.Option) error + ListOpsMetadata(*ssm.ListOpsMetadataInput) (*ssm.ListOpsMetadataOutput, error) ListOpsMetadataWithContext(aws.Context, *ssm.ListOpsMetadataInput, ...request.Option) (*ssm.ListOpsMetadataOutput, error) ListOpsMetadataRequest(*ssm.ListOpsMetadataInput) (*request.Request, *ssm.ListOpsMetadataOutput) + ListOpsMetadataPages(*ssm.ListOpsMetadataInput, func(*ssm.ListOpsMetadataOutput, bool) bool) error + ListOpsMetadataPagesWithContext(aws.Context, *ssm.ListOpsMetadataInput, func(*ssm.ListOpsMetadataOutput, bool) bool, ...request.Option) error + ListResourceComplianceSummaries(*ssm.ListResourceComplianceSummariesInput) (*ssm.ListResourceComplianceSummariesOutput, error) ListResourceComplianceSummariesWithContext(aws.Context, *ssm.ListResourceComplianceSummariesInput, ...request.Option) (*ssm.ListResourceComplianceSummariesOutput, error) ListResourceComplianceSummariesRequest(*ssm.ListResourceComplianceSummariesInput) (*request.Request, *ssm.ListResourceComplianceSummariesOutput) @@ -633,6 +647,10 @@ type SSMAPI interface { StartAutomationExecutionWithContext(aws.Context, *ssm.StartAutomationExecutionInput, ...request.Option) (*ssm.StartAutomationExecutionOutput, error) StartAutomationExecutionRequest(*ssm.StartAutomationExecutionInput) (*request.Request, *ssm.StartAutomationExecutionOutput) + StartChangeRequestExecution(*ssm.StartChangeRequestExecutionInput) (*ssm.StartChangeRequestExecutionOutput, error) + StartChangeRequestExecutionWithContext(aws.Context, *ssm.StartChangeRequestExecutionInput, ...request.Option) (*ssm.StartChangeRequestExecutionOutput, error) + StartChangeRequestExecutionRequest(*ssm.StartChangeRequestExecutionInput) (*request.Request, *ssm.StartChangeRequestExecutionOutput) + StartSession(*ssm.StartSessionInput) (*ssm.StartSessionOutput, error) StartSessionWithContext(aws.Context, *ssm.StartSessionInput, ...request.Option) (*ssm.StartSessionOutput, error) StartSessionRequest(*ssm.StartSessionInput) (*request.Request, *ssm.StartSessionOutput) @@ -661,6 +679,10 @@ type SSMAPI interface { UpdateDocumentDefaultVersionWithContext(aws.Context, *ssm.UpdateDocumentDefaultVersionInput, ...request.Option) (*ssm.UpdateDocumentDefaultVersionOutput, error) UpdateDocumentDefaultVersionRequest(*ssm.UpdateDocumentDefaultVersionInput) (*request.Request, *ssm.UpdateDocumentDefaultVersionOutput) + UpdateDocumentMetadata(*ssm.UpdateDocumentMetadataInput) (*ssm.UpdateDocumentMetadataOutput, error) + UpdateDocumentMetadataWithContext(aws.Context, *ssm.UpdateDocumentMetadataInput, ...request.Option) (*ssm.UpdateDocumentMetadataOutput, error) + UpdateDocumentMetadataRequest(*ssm.UpdateDocumentMetadataInput) (*request.Request, *ssm.UpdateDocumentMetadataOutput) + UpdateMaintenanceWindow(*ssm.UpdateMaintenanceWindowInput) (*ssm.UpdateMaintenanceWindowOutput, error) UpdateMaintenanceWindowWithContext(aws.Context, *ssm.UpdateMaintenanceWindowInput, ...request.Option) (*ssm.UpdateMaintenanceWindowOutput, error) UpdateMaintenanceWindowRequest(*ssm.UpdateMaintenanceWindowInput) (*request.Request, *ssm.UpdateMaintenanceWindowOutput)