From bba6abaf42b129973232b55f0e6ab7b6e87fe883 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 11 May 2021 11:15:03 -0700 Subject: [PATCH] Release v1.38.38 (2021-05-11) (#3904) Release v1.38.38 (2021-05-11) === ### Service Client Updates * `service/s3control`: Updates service API and documentation * Documentation updates for Amazon S3-control * `service/ssm-contacts`: Adds new service * `service/ssm-incidents`: Adds new service * `service/transcribe-streaming`: Updates service API and documentation --- CHANGELOG.md | 10 + aws/version.go | 2 +- models/apis/s3control/2018-08-20/api-2.json | 4 +- models/apis/s3control/2018-08-20/docs-2.json | 94 +- .../apis/ssm-contacts/2021-05-03/api-2.json | 1438 +++ .../apis/ssm-contacts/2021-05-03/docs-2.json | 838 ++ .../ssm-contacts/2021-05-03/examples-1.json | 5 + .../ssm-contacts/2021-05-03/paginators-1.json | 40 + .../apis/ssm-incidents/2018-05-10/api-2.json | 1905 ++++ .../apis/ssm-incidents/2018-05-10/docs-2.json | 1100 +++ .../ssm-incidents/2018-05-10/examples-1.json | 5 + .../2018-05-10/paginators-1.json | 40 + .../ssm-incidents/2018-05-10/waiters-2.json | 53 + .../2017-10-26/api-2.json | 32 +- .../2017-10-26/docs-2.json | 17 +- service/s3control/api.go | 148 +- service/ssmcontacts/api.go | 6886 ++++++++++++++ service/ssmcontacts/doc.go | 26 + service/ssmcontacts/errors.go | 69 + service/ssmcontacts/service.go | 106 + .../ssmcontacts/ssmcontactsiface/interface.go | 190 + service/ssmincidents/api.go | 7968 +++++++++++++++++ service/ssmincidents/doc.go | 37 + service/ssmincidents/errors.go | 63 + service/ssmincidents/service.go | 104 + .../ssmincidentsiface/interface.go | 204 + service/ssmincidents/waiters.go | 127 + service/transcribestreamingservice/api.go | 74 + .../eventstream_test.go | 27 + 29 files changed, 21489 insertions(+), 123 deletions(-) create mode 100644 models/apis/ssm-contacts/2021-05-03/api-2.json create mode 100644 models/apis/ssm-contacts/2021-05-03/docs-2.json create mode 100644 models/apis/ssm-contacts/2021-05-03/examples-1.json create mode 100644 models/apis/ssm-contacts/2021-05-03/paginators-1.json create mode 100644 models/apis/ssm-incidents/2018-05-10/api-2.json create mode 100644 models/apis/ssm-incidents/2018-05-10/docs-2.json create mode 100644 models/apis/ssm-incidents/2018-05-10/examples-1.json create mode 100644 models/apis/ssm-incidents/2018-05-10/paginators-1.json create mode 100644 models/apis/ssm-incidents/2018-05-10/waiters-2.json create mode 100644 service/ssmcontacts/api.go create mode 100644 service/ssmcontacts/doc.go create mode 100644 service/ssmcontacts/errors.go create mode 100644 service/ssmcontacts/service.go create mode 100644 service/ssmcontacts/ssmcontactsiface/interface.go create mode 100644 service/ssmincidents/api.go create mode 100644 service/ssmincidents/doc.go create mode 100644 service/ssmincidents/errors.go create mode 100644 service/ssmincidents/service.go create mode 100644 service/ssmincidents/ssmincidentsiface/interface.go create mode 100644 service/ssmincidents/waiters.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 0351b7be4fc..e07207765c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +Release v1.38.38 (2021-05-11) +=== + +### Service Client Updates +* `service/s3control`: Updates service API and documentation + * Documentation updates for Amazon S3-control +* `service/ssm-contacts`: Adds new service +* `service/ssm-incidents`: Adds new service +* `service/transcribe-streaming`: Updates service API and documentation + Release v1.38.37 (2021-05-10) === diff --git a/aws/version.go b/aws/version.go index 9391ff5971b..a11d70a8f40 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.38.37" +const SDKVersion = "1.38.38" diff --git a/models/apis/s3control/2018-08-20/api-2.json b/models/apis/s3control/2018-08-20/api-2.json index 42f446a19cf..75fa7b4a4cd 100644 --- a/models/apis/s3control/2018-08-20/api-2.json +++ b/models/apis/s3control/2018-08-20/api-2.json @@ -3251,12 +3251,12 @@ "type":"string", "max":1024, "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagValueString":{ "type":"string", "max":1024, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "Tagging":{ "type":"structure", diff --git a/models/apis/s3control/2018-08-20/docs-2.json b/models/apis/s3control/2018-08-20/docs-2.json index 9fc2b5ec289..072aa597324 100644 --- a/models/apis/s3control/2018-08-20/docs-2.json +++ b/models/apis/s3control/2018-08-20/docs-2.json @@ -2,61 +2,61 @@ "version": "2.0", "service": "

AWS S3 Control provides access to Amazon S3 control plane actions.

", "operations": { - "CreateAccessPoint": "

Creates an access point and associates it with the specified bucket. For more information, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service User Guide.

S3 on Outposts only supports VPC-style Access Points.

For more information, see Accessing Amazon S3 on Outposts using virtual private cloud (VPC) only Access Points in the Amazon Simple Storage Service User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to CreateAccessPoint:

", - "CreateAccessPointForObjectLambda": "

Creates an Object Lambda Access Point. For more information, see Transforming objects with Object Lambda Access Points in the Amazon Simple Storage Service User Guide.

The following actions are related to CreateAccessPointForObjectLambda:

", - "CreateBucket": "

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create Bucket in the Amazon Simple Storage Service API.

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To create an Outposts bucket, you must have S3 on Outposts. For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service User Guide.

Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets.

S3 on Outposts buckets support:

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see Amazon S3 on Outposts Restrictions and Limitations.

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your API request, see the Examples section.

The following actions are related to CreateBucket for Amazon S3 on Outposts:

", - "CreateJob": "

You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects. Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more information, see S3 Batch Operations in the Amazon Simple Storage Service User Guide.

This action creates a S3 Batch Operations job.

Related actions include:

", + "CreateAccessPoint": "

Creates an access point and associates it with the specified bucket. For more information, see Managing Data Access with Amazon S3 Access Points in the Amazon S3 User Guide.

S3 on Outposts only supports VPC-style access points.

For more information, see Accessing Amazon S3 on Outposts using virtual private cloud (VPC) only access points in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to CreateAccessPoint:

", + "CreateAccessPointForObjectLambda": "

Creates an Object Lambda Access Point. For more information, see Transforming objects with Object Lambda Access Points in the Amazon S3 User Guide.

The following actions are related to CreateAccessPointForObjectLambda:

", + "CreateBucket": "

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create Bucket in the Amazon S3 API Reference.

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To create an Outposts bucket, you must have S3 on Outposts. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets.

S3 on Outposts buckets support:

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see Amazon S3 on Outposts Restrictions and Limitations.

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your API request, see the Examples section.

The following actions are related to CreateBucket for Amazon S3 on Outposts:

", + "CreateJob": "

You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects. Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

This action creates a S3 Batch Operations job.

Related actions include:

", "DeleteAccessPoint": "

Deletes the specified access point.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to DeleteAccessPoint:

", "DeleteAccessPointForObjectLambda": "

Deletes the specified Object Lambda Access Point.

The following actions are related to DeleteAccessPointForObjectLambda:

", "DeleteAccessPointPolicy": "

Deletes the access point policy for the specified access point.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to DeleteAccessPointPolicy:

", "DeleteAccessPointPolicyForObjectLambda": "

Removes the resource policy for an Object Lambda Access Point.

The following actions are related to DeleteAccessPointPolicyForObjectLambda:

", - "DeleteBucket": "

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, see DeleteBucket in the Amazon Simple Storage Service API.

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

Related Resources

", - "DeleteBucketLifecycleConfiguration": "

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon Simple Storage Service API.

Deletes the lifecycle configuration from the specified Outposts bucket. Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration. For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3-outposts:DeleteLifecycleConfiguration action. By default, the bucket owner has this permission and the Outposts bucket owner can grant this permission to others.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

For more information about object expiration, see Elements to Describe Lifecycle Actions.

Related actions include:

", - "DeleteBucketPolicy": "

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy, see DeleteBucketPolicy in the Amazon Simple Storage Service API.

This implementation of the DELETE action uses the policy subresource to delete the policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket and belong to the bucket owner's account to use this action. For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service User Guide.

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the AWS account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to DeleteBucketPolicy:

", - "DeleteBucketTagging": "

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags, see DeleteBucketTagging in the Amazon Simple Storage Service API.

Deletes the tags from the Outposts bucket. For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the PutBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to DeleteBucketTagging:

", - "DeleteJobTagging": "

Removes the entire tag set from the specified S3 Batch Operations job. To use this operation, you must have permission to perform the s3:DeleteJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon Simple Storage Service User Guide.

Related actions include:

", + "DeleteBucket": "

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, see DeleteBucket in the Amazon S3 API Reference.

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

Related Resources

", + "DeleteBucketLifecycleConfiguration": "

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

Deletes the lifecycle configuration from the specified Outposts bucket. Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

To use this action, you must have permission to perform the s3-outposts:DeleteLifecycleConfiguration action. By default, the bucket owner has this permission and the Outposts bucket owner can grant this permission to others.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

For more information about object expiration, see Elements to Describe Lifecycle Actions.

Related actions include:

", + "DeleteBucketPolicy": "

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy, see DeleteBucketPolicy in the Amazon S3 API Reference.

This implementation of the DELETE action uses the policy subresource to delete the policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket and belong to the bucket owner's account to use this action. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the AWS account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to DeleteBucketPolicy:

", + "DeleteBucketTagging": "

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags, see DeleteBucketTagging in the Amazon S3 API Reference.

Deletes the tags from the Outposts bucket. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

To use this action, you must have permission to perform the PutBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to DeleteBucketTagging:

", + "DeleteJobTagging": "

Removes the entire tag set from the specified S3 Batch Operations job. To use this operation, you must have permission to perform the s3:DeleteJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

Related actions include:

", "DeletePublicAccessBlock": "

Removes the PublicAccessBlock configuration for an AWS account. For more information, see Using Amazon S3 block public access.

Related actions include:

", - "DeleteStorageLensConfiguration": "

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", - "DeleteStorageLensConfigurationTagging": "

Deletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:DeleteStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", - "DescribeJob": "

Retrieves the configuration parameters and status for a Batch Operations job. For more information, see S3 Batch Operations in the Amazon Simple Storage Service User Guide.

Related actions include:

", + "DeleteStorageLensConfiguration": "

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "DeleteStorageLensConfigurationTagging": "

Deletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:DeleteStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "DescribeJob": "

Retrieves the configuration parameters and status for a Batch Operations job. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

", "GetAccessPoint": "

Returns configuration information about the specified access point.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to GetAccessPoint:

", "GetAccessPointConfigurationForObjectLambda": "

Returns configuration for an Object Lambda Access Point.

The following actions are related to GetAccessPointConfigurationForObjectLambda:

", "GetAccessPointForObjectLambda": "

Returns configuration information about the specified Object Lambda Access Point

The following actions are related to GetAccessPointForObjectLambda:

", "GetAccessPointPolicy": "

Returns the access point policy associated with the specified access point.

The following actions are related to GetAccessPointPolicy:

", "GetAccessPointPolicyForObjectLambda": "

Returns the resource policy for an Object Lambda Access Point.

The following actions are related to GetAccessPointPolicyForObjectLambda:

", - "GetAccessPointPolicyStatus": "

Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

", + "GetAccessPointPolicyStatus": "

Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 access points in the Amazon S3 User Guide.

", "GetAccessPointPolicyStatusForObjectLambda": "

Returns the status of the resource policy associated with an Object Lambda Access Point.

", - "GetBucket": "

Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service User Guide.

If you are using an identity other than the root user of the AWS account that owns the Outposts bucket, the calling identity must have the s3-outposts:GetBucket permissions on the specified Outposts bucket and belong to the Outposts bucket owner's account in order to use this action. Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket.

If you don't have s3-outposts:GetBucket permissions or you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access Denied error.

The following actions are related to GetBucket for Amazon S3 on Outposts:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

", - "GetBucketLifecycleConfiguration": "

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon Simple Storage Service API.

Returns the lifecycle configuration information set on the Outposts bucket. For more information, see Using Amazon S3 on Outposts and for information about lifecycle configuration, see Object Lifecycle Management in Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner has this permission, by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

GetBucketLifecycleConfiguration has the following special error:

The following actions are related to GetBucketLifecycleConfiguration:

", - "GetBucketPolicy": "

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for an S3 bucket, see GetBucketPolicy in the Amazon Simple Storage Service API.

Returns the policy of a specified Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service User Guide.

If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this action.

Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy permissions or you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access Denied error.

As a security precaution, the root user of the AWS account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to GetBucketPolicy:

", - "GetBucketTagging": "

This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket tags, see GetBucketTagging in the Amazon Simple Storage Service API.

Returns the tag set associated with the Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the GetBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

GetBucketTagging has the following special error:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to GetBucketTagging:

", - "GetJobTagging": "

Returns the tags on an S3 Batch Operations job. To use this operation, you must have permission to perform the s3:GetJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon Simple Storage Service User Guide.

Related actions include:

", + "GetBucket": "

Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

If you are using an identity other than the root user of the AWS account that owns the Outposts bucket, the calling identity must have the s3-outposts:GetBucket permissions on the specified Outposts bucket and belong to the Outposts bucket owner's account in order to use this action. Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket.

If you don't have s3-outposts:GetBucket permissions or you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access Denied error.

The following actions are related to GetBucket for Amazon S3 on Outposts:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

", + "GetBucketLifecycleConfiguration": "

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.

Returns the lifecycle configuration information set on the Outposts bucket. For more information, see Using Amazon S3 on Outposts and for information about lifecycle configuration, see Object Lifecycle Management in Amazon S3 User Guide.

To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner has this permission, by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

GetBucketLifecycleConfiguration has the following special error:

The following actions are related to GetBucketLifecycleConfiguration:

", + "GetBucketPolicy": "

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for an S3 bucket, see GetBucketPolicy in the Amazon S3 API Reference.

Returns the policy of a specified Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this action.

Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy permissions or you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access Denied error.

As a security precaution, the root user of the AWS account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to GetBucketPolicy:

", + "GetBucketTagging": "

This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket tags, see GetBucketTagging in the Amazon S3 API Reference.

Returns the tag set associated with the Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

To use this action, you must have permission to perform the GetBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

GetBucketTagging has the following special error:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to GetBucketTagging:

", + "GetJobTagging": "

Returns the tags on an S3 Batch Operations job. To use this operation, you must have permission to perform the s3:GetJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

Related actions include:

", "GetPublicAccessBlock": "

Retrieves the PublicAccessBlock configuration for an AWS account. For more information, see Using Amazon S3 block public access.

Related actions include:

", - "GetStorageLensConfiguration": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", - "GetStorageLensConfigurationTagging": "

Gets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", + "GetStorageLensConfiguration": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "GetStorageLensConfigurationTagging": "

Gets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "ListAccessPoints": "

Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to ListAccessPoints:

", "ListAccessPointsForObjectLambda": "

Returns a list of the access points associated with the Object Lambda Access Point. You can retrieve up to 1000 access points per call. If there are more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.

The following actions are related to ListAccessPointsForObjectLambda:

", - "ListJobs": "

Lists current S3 Batch Operations jobs and jobs that have ended within the last 30 days for the AWS account making the request. For more information, see S3 Batch Operations in the Amazon Simple Storage Service User Guide.

Related actions include:

", - "ListRegionalBuckets": "

Returns a list of all Outposts buckets in an Outpost that are owned by the authenticated sender of the request. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service User Guide.

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your request, see the Examples section.

", - "ListStorageLensConfigurations": "

Gets a list of Amazon S3 Storage Lens configurations. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:ListStorageLensConfigurations action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", + "ListJobs": "

Lists current S3 Batch Operations jobs and jobs that have ended within the last 30 days for the AWS account making the request. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

", + "ListRegionalBuckets": "

Returns a list of all Outposts buckets in an Outpost that are owned by the authenticated sender of the request. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your request, see the Examples section.

", + "ListStorageLensConfigurations": "

Gets a list of Amazon S3 Storage Lens configurations. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:ListStorageLensConfigurations action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "PutAccessPointConfigurationForObjectLambda": "

Replaces configuration for an Object Lambda Access Point.

The following actions are related to PutAccessPointConfigurationForObjectLambda:

", "PutAccessPointPolicy": "

Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutAccessPointPolicy:

", - "PutAccessPointPolicyForObjectLambda": "

Creates or replaces resource policy for an Object Lambda Access Point. For an example policy, see Creating Object Lambda Access Points in the Amazon Simple Storage Service User Guide.

The following actions are related to PutAccessPointPolicyForObjectLambda:

", - "PutBucketLifecycleConfiguration": "

This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon Simple Storage Service API.

Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutBucketLifecycleConfiguration:

", - "PutBucketPolicy": "

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an S3 bucket, see PutBucketPolicy in the Amazon Simple Storage Service API.

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service User Guide.

If you are using an identity other than the root user of the AWS account that owns the Outposts bucket, the calling identity must have the PutBucketPolicy permissions on the specified Outposts bucket and belong to the bucket owner's account in order to use this action.

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the AWS account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutBucketPolicy:

", - "PutBucketTagging": "

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see PutBucketTagging in the Amazon Simple Storage Service API.

Sets the tags for an S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service User Guide.

Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost allocation and tagging.

Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see Using cost allocation in Amazon S3 bucket tags.

To use this action, you must have permissions to perform the s3-outposts:PutBucketTagging action. The Outposts bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing access permissions to your Amazon S3 resources.

PutBucketTagging has the following special errors:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutBucketTagging:

", - "PutJobTagging": "

Sets the supplied tag-set on an S3 Batch Operations job.

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending a PUT request against the tagging subresource that is associated with the job. To modify the existing tag set, you can either replace the existing tag set entirely, or make changes within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the tag set with the one you modified. For more information, see Controlling access and labeling jobs using tags in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:PutJobTagging action.

Related actions include:

", + "PutAccessPointPolicyForObjectLambda": "

Creates or replaces resource policy for an Object Lambda Access Point. For an example policy, see Creating Object Lambda Access Points in the Amazon S3 User Guide.

The following actions are related to PutAccessPointPolicyForObjectLambda:

", + "PutBucketLifecycleConfiguration": "

This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.

Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutBucketLifecycleConfiguration:

", + "PutBucketPolicy": "

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an S3 bucket, see PutBucketPolicy in the Amazon S3 API Reference.

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

If you are using an identity other than the root user of the AWS account that owns the Outposts bucket, the calling identity must have the PutBucketPolicy permissions on the specified Outposts bucket and belong to the bucket owner's account in order to use this action.

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the AWS account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutBucketPolicy:

", + "PutBucketTagging": "

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see PutBucketTagging in the Amazon S3 API Reference.

Sets the tags for an S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost allocation and tagging.

Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see Using cost allocation in Amazon S3 bucket tags.

To use this action, you must have permissions to perform the s3-outposts:PutBucketTagging action. The Outposts bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing access permissions to your Amazon S3 resources.

PutBucketTagging has the following special errors:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

The following actions are related to PutBucketTagging:

", + "PutJobTagging": "

Sets the supplied tag-set on an S3 Batch Operations job.

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending a PUT request against the tagging subresource that is associated with the job. To modify the existing tag set, you can either replace the existing tag set entirely, or make changes within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the tag set with the one you modified. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutJobTagging action.

Related actions include:

", "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an AWS account. For more information, see Using Amazon S3 block public access.

Related actions include:

", - "PutStorageLensConfiguration": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", - "PutStorageLensConfigurationTagging": "

Put or replace tags on an existing Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon Simple Storage Service User Guide.

", - "UpdateJobPriority": "

Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the Amazon Simple Storage Service User Guide.

Related actions include:

", - "UpdateJobStatus": "

Updates the status for the specified job. Use this action to confirm that you want to run a job or to cancel an existing job. For more information, see S3 Batch Operations in the Amazon Simple Storage Service User Guide.

Related actions include:

" + "PutStorageLensConfiguration": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "PutStorageLensConfigurationTagging": "

Put or replace tags on an existing Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "UpdateJobPriority": "

Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

", + "UpdateJobStatus": "

Updates the status for the specified job. Use this action to confirm that you want to run a job or to cancel an existing job. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

" }, "shapes": { "AbortIncompleteMultipartUpload": { "base": "

The container for abort incomplete multipart upload

", "refs": { - "LifecycleRule$AbortIncompleteMultipartUpload": "

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 waits before permanently removing all parts of the upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the Amazon Simple Storage Service Developer Guide.

" + "LifecycleRule$AbortIncompleteMultipartUpload": "

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 waits before permanently removing all parts of the upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the Amazon S3 User Guide.

" } }, "AccessPoint": { @@ -342,8 +342,8 @@ "base": null, "refs": { "LifecycleExpiration$Days": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

", - "NoncurrentVersionExpiration$NoncurrentDays": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

", - "NoncurrentVersionTransition$NoncurrentDays": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon Simple Storage Service Developer Guide.

", + "NoncurrentVersionExpiration$NoncurrentDays": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon S3 User Guide.

", + "NoncurrentVersionTransition$NoncurrentDays": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon S3 User Guide.

", "Transition$Days": "

Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.

" } }, @@ -833,9 +833,9 @@ } }, "JobOperation": { - "base": "

The operation that you want this job to perform on every object listed in the manifest. For more information about the available operations, see Operations in the Amazon Simple Storage Service User Guide.

", + "base": "

The operation that you want this job to perform on every object listed in the manifest. For more information about the available operations, see Operations in the Amazon S3 User Guide.

", "refs": { - "CreateJobRequest$Operation": "

The action that you want this job to perform on every object listed in the manifest. For more information about the available actions, see Operations in the Amazon Simple Storage Service User Guide.

", + "CreateJobRequest$Operation": "

The action that you want this job to perform on every object listed in the manifest. For more information about the available actions, see Operations in the Amazon S3 User Guide.

", "JobDescriptor$Operation": "

The operation that the specified job is configured to run on the objects listed in the manifest.

" } }, @@ -1257,12 +1257,12 @@ "refs": { "GetAccessPointPolicyResult$Policy": "

The access point policy associated with the specified access point.

", "GetBucketPolicyResult$Policy": "

The policy of the Outposts bucket.

", - "PutAccessPointPolicyRequest$Policy": "

The policy that you want to apply to the specified access point. For more information about access point policies, see Managing data access with Amazon S3 Access Points in the Amazon Simple Storage Service User Guide.

", + "PutAccessPointPolicyRequest$Policy": "

The policy that you want to apply to the specified access point. For more information about access point policies, see Managing data access with Amazon S3 access points in the Amazon S3 User Guide.

", "PutBucketPolicyRequest$Policy": "

The bucket policy as a JSON document.

" } }, "PolicyStatus": { - "base": "

Indicates whether this access point policy is public. For more information about how Amazon S3 evaluates policies to determine whether they are public, see The Meaning of \"Public\" in the Amazon Simple Storage Service User Guide.

", + "base": "

Indicates whether this access point policy is public. For more information about how Amazon S3 evaluates policies to determine whether they are public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

", "refs": { "GetAccessPointPolicyStatusForObjectLambdaResult$PolicyStatus": null, "GetAccessPointPolicyStatusResult$PolicyStatus": "

Indicates the current policy status of the specified access point.

" @@ -1289,7 +1289,7 @@ } }, "PublicAccessBlockConfiguration": { - "base": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.

This is not supported for Amazon S3 on Outposts.

", + "base": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

This is not supported for Amazon S3 on Outposts.

", "refs": { "CreateAccessPointRequest$PublicAccessBlockConfiguration": "

The PublicAccessBlock configuration that you want to apply to the access point.

", "GetAccessPointForObjectLambdaResult$PublicAccessBlockConfiguration": "

Configuration to block all public access. This setting is turned on and can not be edited.

", @@ -1574,9 +1574,9 @@ } }, "S3Retention": { - "base": "

Contains the S3 Object Lock retention mode to be applied to all objects in the S3 Batch Operations job. If you don't provide Mode and RetainUntilDate data types in your operation, you will remove the retention from your objects. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon Simple Storage Service User Guide.

", + "base": "

Contains the S3 Object Lock retention mode to be applied to all objects in the S3 Batch Operations job. If you don't provide Mode and RetainUntilDate data types in your operation, you will remove the retention from your objects. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon S3 User Guide.

", "refs": { - "S3SetObjectRetentionOperation$Retention": "

Contains the Object Lock retention mode to be applied to all objects in the Batch Operations job. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon Simple Storage Service User Guide.

" + "S3SetObjectRetentionOperation$Retention": "

Contains the Object Lock retention mode to be applied to all objects in the Batch Operations job. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon S3 User Guide.

" } }, "S3SSEAlgorithm": { @@ -1592,13 +1592,13 @@ } }, "S3SetObjectLegalHoldOperation": { - "base": "

Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold API. For more information, see Using S3 Object Lock legal hold with S3 Batch Operations in the Amazon Simple Storage Service User Guide.

", + "base": "

Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold API. For more information, see Using S3 Object Lock legal hold with S3 Batch Operations in the Amazon S3 User Guide.

", "refs": { "JobOperation$S3PutObjectLegalHold": null } }, "S3SetObjectRetentionOperation": { - "base": "

Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying PutObjectRetention API. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon Simple Storage Service User Guide.

", + "base": "

Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying PutObjectRetention API. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon S3 User Guide.

", "refs": { "JobOperation$S3PutObjectRetention": null } @@ -1798,7 +1798,7 @@ } }, "Transition": { - "base": "

Specifies when an object transitions to a specified storage class. For more information about Amazon S3 Lifecycle configuration rules, see Transitioning objects using Amazon S3 Lifecycle in the Amazon Simple Storage Service User Guide.

", + "base": "

Specifies when an object transitions to a specified storage class. For more information about Amazon S3 Lifecycle configuration rules, see Transitioning objects using Amazon S3 Lifecycle in the Amazon S3 User Guide.

", "refs": { "TransitionList$member": null } @@ -1839,9 +1839,9 @@ "VpcConfiguration": { "base": "

The virtual private cloud (VPC) configuration for an access point.

", "refs": { - "AccessPoint$VpcConfiguration": "

The virtual private cloud (VPC) configuration for this access point, if one exists.

", + "AccessPoint$VpcConfiguration": "

The virtual private cloud (VPC) configuration for this access point, if one exists.

This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other AWS services.

", "CreateAccessPointRequest$VpcConfiguration": "

If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).

This is required for creating an access point for Amazon S3 on Outposts buckets.

", - "GetAccessPointResult$VpcConfiguration": "

Contains the virtual private cloud (VPC) configuration for the specified access point.

" + "GetAccessPointResult$VpcConfiguration": "

Contains the virtual private cloud (VPC) configuration for the specified access point.

This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other AWS services.

" } }, "VpcId": { diff --git a/models/apis/ssm-contacts/2021-05-03/api-2.json b/models/apis/ssm-contacts/2021-05-03/api-2.json new file mode 100644 index 00000000000..82ac118b47c --- /dev/null +++ b/models/apis/ssm-contacts/2021-05-03/api-2.json @@ -0,0 +1,1438 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-05-03", + "endpointPrefix":"ssm-contacts", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"SSM Contacts", + "serviceFullName":"AWS Systems Manager Incident Manager Contacts", + "serviceId":"SSM Contacts", + "signatureVersion":"v4", + "signingName":"ssm-contacts", + "targetPrefix":"SSMContacts", + "uid":"ssm-contacts-2021-05-03" + }, + "operations":{ + "AcceptPage":{ + "name":"AcceptPage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptPageRequest"}, + "output":{"shape":"AcceptPageResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ActivateContactChannel":{ + "name":"ActivateContactChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ActivateContactChannelRequest"}, + "output":{"shape":"ActivateContactChannelResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "CreateContact":{ + "name":"CreateContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContactRequest"}, + "output":{"shape":"CreateContactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"DataEncryptionException"} + ] + }, + "CreateContactChannel":{ + "name":"CreateContactChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContactChannelRequest"}, + "output":{"shape":"CreateContactChannelResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "DeactivateContactChannel":{ + "name":"DeactivateContactChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeactivateContactChannelRequest"}, + "output":{"shape":"DeactivateContactChannelResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "DeleteContact":{ + "name":"DeleteContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContactRequest"}, + "output":{"shape":"DeleteContactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "DeleteContactChannel":{ + "name":"DeleteContactChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContactChannelRequest"}, + "output":{"shape":"DeleteContactChannelResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "DescribeEngagement":{ + "name":"DescribeEngagement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngagementRequest"}, + "output":{"shape":"DescribeEngagementResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "DescribePage":{ + "name":"DescribePage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePageRequest"}, + "output":{"shape":"DescribePageResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetContact":{ + "name":"GetContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContactRequest"}, + "output":{"shape":"GetContactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"DataEncryptionException"} + ] + }, + "GetContactChannel":{ + "name":"GetContactChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContactChannelRequest"}, + "output":{"shape":"GetContactChannelResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetContactPolicy":{ + "name":"GetContactPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContactPolicyRequest"}, + "output":{"shape":"GetContactPolicyResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListContactChannels":{ + "name":"ListContactChannels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListContactChannelsRequest"}, + "output":{"shape":"ListContactChannelsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListContacts":{ + "name":"ListContacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListContactsRequest"}, + "output":{"shape":"ListContactsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListEngagements":{ + "name":"ListEngagements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEngagementsRequest"}, + "output":{"shape":"ListEngagementsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListPageReceipts":{ + "name":"ListPageReceipts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPageReceiptsRequest"}, + "output":{"shape":"ListPageReceiptsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListPagesByContact":{ + "name":"ListPagesByContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPagesByContactRequest"}, + "output":{"shape":"ListPagesByContactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListPagesByEngagement":{ + "name":"ListPagesByEngagement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPagesByEngagementRequest"}, + "output":{"shape":"ListPagesByEngagementResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "PutContactPolicy":{ + "name":"PutContactPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutContactPolicyRequest"}, + "output":{"shape":"PutContactPolicyResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "SendActivationCode":{ + "name":"SendActivationCode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendActivationCodeRequest"}, + "output":{"shape":"SendActivationCodeResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "StartEngagement":{ + "name":"StartEngagement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartEngagementRequest"}, + "output":{"shape":"StartEngagementResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "StopEngagement":{ + "name":"StopEngagement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopEngagementRequest"}, + "output":{"shape":"StopEngagementResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateContact":{ + "name":"UpdateContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContactRequest"}, + "output":{"shape":"UpdateContactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"DataEncryptionException"} + ] + }, + "UpdateContactChannel":{ + "name":"UpdateContactChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContactChannelRequest"}, + "output":{"shape":"UpdateContactChannelResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"DataEncryptionException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + } + }, + "shapes":{ + "AcceptCode":{ + "type":"string", + "max":10, + "min":6, + "pattern":"^[0-9]*$" + }, + "AcceptPageRequest":{ + "type":"structure", + "required":[ + "PageId", + "AcceptType", + "AcceptCode" + ], + "members":{ + "PageId":{"shape":"SsmContactsArn"}, + "ContactChannelId":{"shape":"SsmContactsArn"}, + "AcceptType":{"shape":"AcceptType"}, + "Note":{"shape":"ReceiptInfo"}, + "AcceptCode":{"shape":"AcceptCode"} + } + }, + "AcceptPageResult":{ + "type":"structure", + "members":{ + } + }, + "AcceptType":{ + "type":"string", + "enum":[ + "DELIVERED", + "READ" + ] + }, + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "ActivateContactChannelRequest":{ + "type":"structure", + "required":[ + "ContactChannelId", + "ActivationCode" + ], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"}, + "ActivationCode":{"shape":"ActivationCode"} + } + }, + "ActivateContactChannelResult":{ + "type":"structure", + "members":{ + } + }, + "ActivationCode":{ + "type":"string", + "max":10, + "min":6, + "pattern":"^[0-9]*$" + }, + "ActivationStatus":{ + "type":"string", + "enum":[ + "ACTIVATED", + "NOT_ACTIVATED" + ] + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "ChannelName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9_\\-\\s\\.]*$" + }, + "ChannelTargetInfo":{ + "type":"structure", + "required":["ContactChannelId"], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"}, + "RetryIntervalInMinutes":{"shape":"RetryIntervalInMinutes"} + } + }, + "ChannelType":{ + "type":"string", + "enum":[ + "SMS", + "VOICE", + "EMAIL" + ] + }, + "ConflictException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{"shape":"String"}, + "ResourceId":{"shape":"String"}, + "ResourceType":{"shape":"String"} + }, + "exception":true + }, + "Contact":{ + "type":"structure", + "required":[ + "ContactArn", + "Alias", + "Type" + ], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "Alias":{"shape":"ContactAlias"}, + "DisplayName":{"shape":"ContactName"}, + "Type":{"shape":"ContactType"} + } + }, + "ContactAlias":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-z0-9_\\-]*$" + }, + "ContactChannel":{ + "type":"structure", + "required":[ + "ContactChannelArn", + "ContactArn", + "Name", + "DeliveryAddress", + "ActivationStatus" + ], + "members":{ + "ContactChannelArn":{"shape":"SsmContactsArn"}, + "ContactArn":{"shape":"SsmContactsArn"}, + "Name":{"shape":"ChannelName"}, + "Type":{"shape":"ChannelType"}, + "DeliveryAddress":{"shape":"ContactChannelAddress"}, + "ActivationStatus":{"shape":"ActivationStatus"} + } + }, + "ContactChannelAddress":{ + "type":"structure", + "members":{ + "SimpleAddress":{"shape":"SimpleAddress"} + } + }, + "ContactChannelList":{ + "type":"list", + "member":{"shape":"ContactChannel"} + }, + "ContactName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9_\\-\\s\\.]*$" + }, + "ContactTargetInfo":{ + "type":"structure", + "required":["IsEssential"], + "members":{ + "ContactId":{"shape":"SsmContactsArn"}, + "IsEssential":{"shape":"IsEssential"} + } + }, + "ContactType":{ + "type":"string", + "enum":[ + "PERSONAL", + "ESCALATION" + ] + }, + "ContactsList":{ + "type":"list", + "member":{"shape":"Contact"} + }, + "Content":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"^[.\\s\\S]*$" + }, + "CreateContactChannelRequest":{ + "type":"structure", + "required":[ + "ContactId", + "Name", + "Type", + "DeliveryAddress" + ], + "members":{ + "ContactId":{"shape":"SsmContactsArn"}, + "Name":{"shape":"ChannelName"}, + "Type":{"shape":"ChannelType"}, + "DeliveryAddress":{"shape":"ContactChannelAddress"}, + "DeferActivation":{"shape":"DeferActivation"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateContactChannelResult":{ + "type":"structure", + "required":["ContactChannelArn"], + "members":{ + "ContactChannelArn":{"shape":"SsmContactsArn"} + } + }, + "CreateContactRequest":{ + "type":"structure", + "required":[ + "Alias", + "Type", + "Plan" + ], + "members":{ + "Alias":{"shape":"ContactAlias"}, + "DisplayName":{"shape":"ContactName"}, + "Type":{"shape":"ContactType"}, + "Plan":{"shape":"Plan"}, + "Tags":{"shape":"TagsList"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateContactResult":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"} + } + }, + "DataEncryptionException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "DateTime":{"type":"timestamp"}, + "DeactivateContactChannelRequest":{ + "type":"structure", + "required":["ContactChannelId"], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"} + } + }, + "DeactivateContactChannelResult":{ + "type":"structure", + "members":{ + } + }, + "DeferActivation":{ + "type":"boolean", + "box":true + }, + "DeleteContactChannelRequest":{ + "type":"structure", + "required":["ContactChannelId"], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"} + } + }, + "DeleteContactChannelResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteContactRequest":{ + "type":"structure", + "required":["ContactId"], + "members":{ + "ContactId":{"shape":"SsmContactsArn"} + } + }, + "DeleteContactResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeEngagementRequest":{ + "type":"structure", + "required":["EngagementId"], + "members":{ + "EngagementId":{"shape":"SsmContactsArn"} + } + }, + "DescribeEngagementResult":{ + "type":"structure", + "required":[ + "ContactArn", + "EngagementArn", + "Sender", + "Subject", + "Content" + ], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "EngagementArn":{"shape":"SsmContactsArn"}, + "Sender":{"shape":"Sender"}, + "Subject":{"shape":"Subject"}, + "Content":{"shape":"Content"}, + "PublicSubject":{"shape":"PublicSubject"}, + "PublicContent":{"shape":"PublicContent"}, + "IncidentId":{"shape":"IncidentId"}, + "StartTime":{"shape":"DateTime"}, + "StopTime":{"shape":"DateTime"} + } + }, + "DescribePageRequest":{ + "type":"structure", + "required":["PageId"], + "members":{ + "PageId":{"shape":"SsmContactsArn"} + } + }, + "DescribePageResult":{ + "type":"structure", + "required":[ + "PageArn", + "EngagementArn", + "ContactArn", + "Sender", + "Subject", + "Content" + ], + "members":{ + "PageArn":{"shape":"SsmContactsArn"}, + "EngagementArn":{"shape":"SsmContactsArn"}, + "ContactArn":{"shape":"SsmContactsArn"}, + "Sender":{"shape":"Sender"}, + "Subject":{"shape":"Subject"}, + "Content":{"shape":"Content"}, + "PublicSubject":{"shape":"PublicSubject"}, + "PublicContent":{"shape":"PublicContent"}, + "IncidentId":{"shape":"IncidentId"}, + "SentTime":{"shape":"DateTime"}, + "ReadTime":{"shape":"DateTime"}, + "DeliveryTime":{"shape":"DateTime"} + } + }, + "Engagement":{ + "type":"structure", + "required":[ + "EngagementArn", + "ContactArn", + "Sender" + ], + "members":{ + "EngagementArn":{"shape":"SsmContactsArn"}, + "ContactArn":{"shape":"SsmContactsArn"}, + "Sender":{"shape":"Sender"}, + "IncidentId":{"shape":"IncidentId"}, + "StartTime":{"shape":"DateTime"}, + "StopTime":{"shape":"DateTime"} + } + }, + "EngagementsList":{ + "type":"list", + "member":{"shape":"Engagement"} + }, + "GetContactChannelRequest":{ + "type":"structure", + "required":["ContactChannelId"], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"} + } + }, + "GetContactChannelResult":{ + "type":"structure", + "required":[ + "ContactArn", + "ContactChannelArn", + "Name", + "Type", + "DeliveryAddress" + ], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "ContactChannelArn":{"shape":"SsmContactsArn"}, + "Name":{"shape":"ChannelName"}, + "Type":{"shape":"ChannelType"}, + "DeliveryAddress":{"shape":"ContactChannelAddress"}, + "ActivationStatus":{"shape":"ActivationStatus"} + } + }, + "GetContactPolicyRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"} + } + }, + "GetContactPolicyResult":{ + "type":"structure", + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "Policy":{"shape":"Policy"} + } + }, + "GetContactRequest":{ + "type":"structure", + "required":["ContactId"], + "members":{ + "ContactId":{"shape":"SsmContactsArn"} + } + }, + "GetContactResult":{ + "type":"structure", + "required":[ + "ContactArn", + "Alias", + "Type", + "Plan" + ], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "Alias":{"shape":"ContactAlias"}, + "DisplayName":{"shape":"ContactName"}, + "Type":{"shape":"ContactType"}, + "Plan":{"shape":"Plan"} + } + }, + "IdempotencyToken":{ + "type":"string", + "max":2048, + "pattern":"^[\\\\\\/a-zA-Z0-9_+=\\-]*$" + }, + "IncidentId":{ + "type":"string", + "max":1024, + "pattern":"^[\\\\a-zA-Z0-9_@#%*+=:?.\\/!\\s-]*$" + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"}, + "RetryAfterSeconds":{"shape":"RetryAfterSeconds"} + }, + "exception":true, + "fault":true + }, + "IsEssential":{ + "type":"boolean", + "box":true + }, + "ListContactChannelsRequest":{ + "type":"structure", + "required":["ContactId"], + "members":{ + "ContactId":{"shape":"SsmContactsArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListContactChannelsResult":{ + "type":"structure", + "required":["ContactChannels"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "ContactChannels":{"shape":"ContactChannelList"} + } + }, + "ListContactsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"}, + "AliasPrefix":{"shape":"ContactAlias"}, + "Type":{"shape":"ContactType"} + } + }, + "ListContactsResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Contacts":{"shape":"ContactsList"} + } + }, + "ListEngagementsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"}, + "IncidentId":{"shape":"IncidentId"}, + "TimeRangeValue":{"shape":"TimeRange"} + } + }, + "ListEngagementsResult":{ + "type":"structure", + "required":["Engagements"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Engagements":{"shape":"EngagementsList"} + } + }, + "ListPageReceiptsRequest":{ + "type":"structure", + "required":["PageId"], + "members":{ + "PageId":{"shape":"SsmContactsArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListPageReceiptsResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Receipts":{"shape":"ReceiptsList"} + } + }, + "ListPagesByContactRequest":{ + "type":"structure", + "required":["ContactId"], + "members":{ + "ContactId":{"shape":"SsmContactsArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListPagesByContactResult":{ + "type":"structure", + "required":["Pages"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Pages":{"shape":"PagesList"} + } + }, + "ListPagesByEngagementRequest":{ + "type":"structure", + "required":["EngagementId"], + "members":{ + "EngagementId":{"shape":"SsmContactsArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListPagesByEngagementResult":{ + "type":"structure", + "required":["Pages"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Pages":{"shape":"PagesList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{"shape":"AmazonResourceName"} + } + }, + "ListTagsForResourceResult":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagsList"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":1024, + "min":0 + }, + "Page":{ + "type":"structure", + "required":[ + "PageArn", + "EngagementArn", + "ContactArn", + "Sender" + ], + "members":{ + "PageArn":{"shape":"SsmContactsArn"}, + "EngagementArn":{"shape":"SsmContactsArn"}, + "ContactArn":{"shape":"SsmContactsArn"}, + "Sender":{"shape":"Sender"}, + "IncidentId":{"shape":"IncidentId"}, + "SentTime":{"shape":"DateTime"}, + "DeliveryTime":{"shape":"DateTime"}, + "ReadTime":{"shape":"DateTime"} + } + }, + "PagesList":{ + "type":"list", + "member":{"shape":"Page"} + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "pattern":"^[\\\\\\/a-zA-Z0-9_+=\\-]*$" + }, + "Plan":{ + "type":"structure", + "required":["Stages"], + "members":{ + "Stages":{"shape":"StagesList"} + } + }, + "Policy":{ + "type":"string", + "max":395000, + "min":1, + "pattern":".*\\S.*" + }, + "PublicContent":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"^[.\\s\\S]*$" + }, + "PublicSubject":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[.\\s\\S]*$" + }, + "PutContactPolicyRequest":{ + "type":"structure", + "required":[ + "ContactArn", + "Policy" + ], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "Policy":{"shape":"Policy"} + } + }, + "PutContactPolicyResult":{ + "type":"structure", + "members":{ + } + }, + "Receipt":{ + "type":"structure", + "required":[ + "ReceiptType", + "ReceiptTime" + ], + "members":{ + "ContactChannelArn":{"shape":"SsmContactsArn"}, + "ReceiptType":{"shape":"ReceiptType"}, + "ReceiptInfo":{"shape":"ReceiptInfo"}, + "ReceiptTime":{"shape":"DateTime"} + } + }, + "ReceiptInfo":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[.\\s\\S]*$" + }, + "ReceiptType":{ + "type":"string", + "enum":[ + "DELIVERED", + "ERROR", + "READ", + "SENT", + "STOP" + ] + }, + "ReceiptsList":{ + "type":"list", + "member":{"shape":"Receipt"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{"shape":"String"}, + "ResourceId":{"shape":"String"}, + "ResourceType":{"shape":"String"} + }, + "exception":true + }, + "RetryAfterSeconds":{"type":"integer"}, + "RetryIntervalInMinutes":{ + "type":"integer", + "box":true, + "max":60, + "min":0 + }, + "SendActivationCodeRequest":{ + "type":"structure", + "required":["ContactChannelId"], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"} + } + }, + "SendActivationCodeResult":{ + "type":"structure", + "members":{ + } + }, + "Sender":{ + "type":"string", + "max":255, + "pattern":"^[\\\\a-zA-Z0-9_@#%*+=:?.\\/!\\s-]*$" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "Message", + "QuotaCode", + "ServiceCode" + ], + "members":{ + "Message":{"shape":"String"}, + "ResourceId":{"shape":"String"}, + "ResourceType":{"shape":"String"}, + "QuotaCode":{"shape":"String"}, + "ServiceCode":{"shape":"String"} + }, + "exception":true + }, + "SimpleAddress":{ + "type":"string", + "max":320, + "min":1 + }, + "SsmContactsArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:(aws|aws-cn|aws-us-gov):ssm-contacts:[-\\w+=\\/,.@]*:[0-9]+:([\\w+=\\/,.@:-]+)*" + }, + "Stage":{ + "type":"structure", + "required":[ + "DurationInMinutes", + "Targets" + ], + "members":{ + "DurationInMinutes":{"shape":"StageDurationInMins"}, + "Targets":{"shape":"TargetsList"} + } + }, + "StageDurationInMins":{ + "type":"integer", + "box":true, + "max":30, + "min":0 + }, + "StagesList":{ + "type":"list", + "member":{"shape":"Stage"} + }, + "StartEngagementRequest":{ + "type":"structure", + "required":[ + "ContactId", + "Sender", + "Subject", + "Content" + ], + "members":{ + "ContactId":{"shape":"SsmContactsArn"}, + "Sender":{"shape":"Sender"}, + "Subject":{"shape":"Subject"}, + "Content":{"shape":"Content"}, + "PublicSubject":{"shape":"PublicSubject"}, + "PublicContent":{"shape":"PublicContent"}, + "IncidentId":{"shape":"IncidentId"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "StartEngagementResult":{ + "type":"structure", + "required":["EngagementArn"], + "members":{ + "EngagementArn":{"shape":"SsmContactsArn"} + } + }, + "StopEngagementRequest":{ + "type":"structure", + "required":["EngagementId"], + "members":{ + "EngagementId":{"shape":"SsmContactsArn"}, + "Reason":{"shape":"StopReason"} + } + }, + "StopEngagementResult":{ + "type":"structure", + "members":{ + } + }, + "StopReason":{ + "type":"string", + "max":255, + "pattern":"^[.\\s\\S]*$" + }, + "String":{"type":"string"}, + "Subject":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[.\\s\\S]*$" + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\\\\\/a-zA-Z0-9_+=\\-]*$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{"shape":"AmazonResourceName"}, + "Tags":{"shape":"TagsList"} + } + }, + "TagResourceResult":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*$" + }, + "TagsList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "Target":{ + "type":"structure", + "members":{ + "ChannelTargetInfo":{"shape":"ChannelTargetInfo"}, + "ContactTargetInfo":{"shape":"ContactTargetInfo"} + } + }, + "TargetsList":{ + "type":"list", + "member":{"shape":"Target"} + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"}, + "QuotaCode":{"shape":"String"}, + "ServiceCode":{"shape":"String"}, + "RetryAfterSeconds":{"shape":"RetryAfterSeconds"} + }, + "exception":true + }, + "TimeRange":{ + "type":"structure", + "members":{ + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"} + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{"shape":"AmazonResourceName"}, + "TagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateContactChannelRequest":{ + "type":"structure", + "required":["ContactChannelId"], + "members":{ + "ContactChannelId":{"shape":"SsmContactsArn"}, + "Name":{"shape":"ChannelName"}, + "DeliveryAddress":{"shape":"ContactChannelAddress"} + } + }, + "UpdateContactChannelResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateContactRequest":{ + "type":"structure", + "required":["ContactId"], + "members":{ + "ContactId":{"shape":"SsmContactsArn"}, + "DisplayName":{"shape":"ContactName"}, + "Plan":{"shape":"Plan"} + } + }, + "UpdateContactResult":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"}, + "Reason":{"shape":"ValidationExceptionReason"}, + "Fields":{"shape":"ValidationExceptionFieldList"} + }, + "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/ssm-contacts/2021-05-03/docs-2.json b/models/apis/ssm-contacts/2021-05-03/docs-2.json new file mode 100644 index 00000000000..f9fafdfbcdd --- /dev/null +++ b/models/apis/ssm-contacts/2021-05-03/docs-2.json @@ -0,0 +1,838 @@ +{ + "version": "2.0", + "service": "

", + "operations": { + "AcceptPage": "

Used to acknowledge an engagement to a contact channel during an incident.

", + "ActivateContactChannel": "

Activates a contact's contact channel. Incident Manager can't engage a contact until the contact channel has been activated.

", + "CreateContact": "

Contacts are either the contacts that Incident Manager engages during an incident or the escalation plans that Incident Manager uses to engage contacts in phases during an incident.

", + "CreateContactChannel": "

A contact channel is the method that Incident Manager uses to engage your contact.

", + "DeactivateContactChannel": "

To no longer receive Incident Manager engagements to a contact channel, you can deactivate the channel.

", + "DeleteContact": "

To remove a contact from Incident Manager, you can delete the contact. Deleting a contact removes them from all escalation plans and related response plans. Deleting an escalation plan removes it from all related response plans. You will have to recreate the contact and its contact channels before you can use it again.

", + "DeleteContactChannel": "

To no longer receive engagements on a contact channel, you can delete the channel from a contact. Deleting the contact channel removes it from the contact's engagement plan. If you delete the only contact channel for a contact, you won't be able to engage that contact during an incident.

", + "DescribeEngagement": "

Incident Manager uses engagements to engage contacts and escalation plans during an incident. Use this command to describe the engagement that occurred during an incident.

", + "DescribePage": "

Lists details of the engagement to a contact channel.

", + "GetContact": "

Retrieves information about the specified contact or escalation plan.

", + "GetContactChannel": "

List details about a specific contact channel.

", + "GetContactPolicy": "

Retrieves the resource policies attached to the specified contact or escalation plan.

", + "ListContactChannels": "

Lists all contact channels for the specified contact.

", + "ListContacts": "

Lists all contacts and escalation plans in Incident Manager.

", + "ListEngagements": "

Lists all engagements that have happened in an incident.

", + "ListPageReceipts": "

Lists all of the engagements to contact channels that have been acknowledged.

", + "ListPagesByContact": "

Lists the engagements to a contact's contact channels.

", + "ListPagesByEngagement": "

Lists the engagements to contact channels that occurred by engaging a contact.

", + "ListTagsForResource": "

Lists the tags of an escalation plan or contact.

", + "PutContactPolicy": "

Adds a resource to the specified contact or escalation plan.

", + "SendActivationCode": "

Sends an activation code to a contact channel. The contact can use this code to activate the contact channel in the console or with the ActivateChannel action. Incident Manager can't engage a contact channel until it has been activated.

", + "StartEngagement": "

Starts an engagement to a contact or escalation plan. The engagement engages each contact specified in the incident.

", + "StopEngagement": "

Stops an engagement before it finishes the final stage of the escalation plan or engagement plan. Further contacts aren't engaged.

", + "TagResource": "

Tags a contact or escalation plan. You can tag only contacts and escalation plans in the first region of your replication set.

", + "UntagResource": "

Removes tags from the specified resource.

", + "UpdateContact": "

Updates the contact or escalation plan specified.

", + "UpdateContactChannel": "

Updates a contact's contact channel.

" + }, + "shapes": { + "AcceptCode": { + "base": null, + "refs": { + "AcceptPageRequest$AcceptCode": "

The accept code is a 6-digit code used to acknowledge the page.

" + } + }, + "AcceptPageRequest": { + "base": null, + "refs": { + } + }, + "AcceptPageResult": { + "base": null, + "refs": { + } + }, + "AcceptType": { + "base": null, + "refs": { + "AcceptPageRequest$AcceptType": "

The type indicates if the page was DELIVERED or READ.

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

You don't have sufficient access to perform this action.

", + "refs": { + } + }, + "ActivateContactChannelRequest": { + "base": null, + "refs": { + } + }, + "ActivateContactChannelResult": { + "base": null, + "refs": { + } + }, + "ActivationCode": { + "base": null, + "refs": { + "ActivateContactChannelRequest$ActivationCode": "

The code sent to the contact channel when it was created in the contact.

" + } + }, + "ActivationStatus": { + "base": null, + "refs": { + "ContactChannel$ActivationStatus": "

A Boolean value describing if the contact channel has been activated or not. If the contact channel isn't activated, Incident Manager can't engage the contact through it.

", + "GetContactChannelResult$ActivationStatus": "

A Boolean value indicating if the contact channel has been activated or not.

" + } + }, + "AmazonResourceName": { + "base": null, + "refs": { + "ListTagsForResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", + "TagResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", + "UntagResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

" + } + }, + "ChannelName": { + "base": null, + "refs": { + "ContactChannel$Name": "

The name of the contact channel.

", + "CreateContactChannelRequest$Name": "

The name of the contact channel.

", + "GetContactChannelResult$Name": "

The name of the contact channel

", + "UpdateContactChannelRequest$Name": "

The name of the contact channel

" + } + }, + "ChannelTargetInfo": { + "base": "

Information about the contact channel that Incident Manager uses to engage the contact.

", + "refs": { + "Target$ChannelTargetInfo": "

Information about the contact channel Incident Manager is engaging.

" + } + }, + "ChannelType": { + "base": null, + "refs": { + "ContactChannel$Type": "

The type of the contact channel. Incident Manager supports three contact methods:

", + "CreateContactChannelRequest$Type": "

Incident Manager supports three types of contact channels:

", + "GetContactChannelResult$Type": "

The type of contact channel. The type is SMS, VOICE, or EMAIL.

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

Updating or deleting a resource causes an inconsistent state.

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

A personal contact or escalation plan that Incident Manager engages during an incident.

", + "refs": { + "ContactsList$member": null + } + }, + "ContactAlias": { + "base": null, + "refs": { + "Contact$Alias": "

The unique and identifiable alias of the contact or escalation plan.

", + "CreateContactRequest$Alias": "

The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable.

", + "GetContactResult$Alias": "

The alias of the contact or escalation plan. The alias is unique and identifiable.

", + "ListContactsRequest$AliasPrefix": "

Used to list only contacts who's aliases start with the specified prefix.

" + } + }, + "ContactChannel": { + "base": "

The method that Incident Manager uses to engage a contact.

", + "refs": { + "ContactChannelList$member": null + } + }, + "ContactChannelAddress": { + "base": "

The details that Incident Manager uses when trying to engage the contact channel.

", + "refs": { + "ContactChannel$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

", + "CreateContactChannelRequest$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel. The format is dependent on the type of the contact channel. The following are the expected formats:

", + "GetContactChannelResult$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

", + "UpdateContactChannelRequest$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

" + } + }, + "ContactChannelList": { + "base": null, + "refs": { + "ListContactChannelsResult$ContactChannels": "

A list of contact channels related to the specified contact.

" + } + }, + "ContactName": { + "base": null, + "refs": { + "Contact$DisplayName": "

The full name of the contact or escalation plan.

", + "CreateContactRequest$DisplayName": "

The full name of the contact or escalation plan.

", + "GetContactResult$DisplayName": "

The full name of the contact or escalation plan.

", + "UpdateContactRequest$DisplayName": "

The full name of the contact or escalation plan.

" + } + }, + "ContactTargetInfo": { + "base": "

The contact that Incident Manager is engaging during an incident.

", + "refs": { + "Target$ContactTargetInfo": "

Information about the contact that Incident Manager is engaging.

" + } + }, + "ContactType": { + "base": null, + "refs": { + "Contact$Type": "

Refers to the type of contact. A single contact is type PERSONAL and an escalation plan is type ESCALATION.

", + "CreateContactRequest$Type": "

To create an escalation plan use ESCALATION. To create a contact use PERSONAL.

", + "GetContactResult$Type": "

The type of contact, either PERSONAL or ESCALATION.

", + "ListContactsRequest$Type": "

The type of contact. A contact is type PERSONAL and an escalation plan is type ESCALATION.

" + } + }, + "ContactsList": { + "base": null, + "refs": { + "ListContactsResult$Contacts": "

A list of the contacts and escalation plans in your Incident Manager account.

" + } + }, + "Content": { + "base": null, + "refs": { + "DescribeEngagementResult$Content": "

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

", + "DescribePageResult$Content": "

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

", + "StartEngagementRequest$Content": "

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

" + } + }, + "CreateContactChannelRequest": { + "base": null, + "refs": { + } + }, + "CreateContactChannelResult": { + "base": null, + "refs": { + } + }, + "CreateContactRequest": { + "base": null, + "refs": { + } + }, + "CreateContactResult": { + "base": null, + "refs": { + } + }, + "DataEncryptionException": { + "base": "

The action failed to due an encryption key error.

", + "refs": { + } + }, + "DateTime": { + "base": null, + "refs": { + "DescribeEngagementResult$StartTime": "

The time that the engagement started.

", + "DescribeEngagementResult$StopTime": "

The time that the engagement ended.

", + "DescribePageResult$SentTime": "

The time the engagement was sent to the contact channel.

", + "DescribePageResult$ReadTime": "

The time that the contact channel acknowledged the engagement.

", + "DescribePageResult$DeliveryTime": "

The time that the contact channel received the engagement.

", + "Engagement$StartTime": "

The time that the engagement began.

", + "Engagement$StopTime": "

The time that the engagement ended.

", + "Page$SentTime": "

The time that Incident Manager engaged the contact channel.

", + "Page$DeliveryTime": "

The time the message was delivered to the contact channel.

", + "Page$ReadTime": "

The time that the contact channel acknowledged engagement.

", + "Receipt$ReceiptTime": "

The time receipt was SENT, DELIVERED, or READ.

", + "TimeRange$StartTime": "

The start of the time range.

", + "TimeRange$EndTime": "

The end of the time range.

" + } + }, + "DeactivateContactChannelRequest": { + "base": null, + "refs": { + } + }, + "DeactivateContactChannelResult": { + "base": null, + "refs": { + } + }, + "DeferActivation": { + "base": null, + "refs": { + "CreateContactChannelRequest$DeferActivation": "

If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.

" + } + }, + "DeleteContactChannelRequest": { + "base": null, + "refs": { + } + }, + "DeleteContactChannelResult": { + "base": null, + "refs": { + } + }, + "DeleteContactRequest": { + "base": null, + "refs": { + } + }, + "DeleteContactResult": { + "base": null, + "refs": { + } + }, + "DescribeEngagementRequest": { + "base": null, + "refs": { + } + }, + "DescribeEngagementResult": { + "base": null, + "refs": { + } + }, + "DescribePageRequest": { + "base": null, + "refs": { + } + }, + "DescribePageResult": { + "base": null, + "refs": { + } + }, + "Engagement": { + "base": "

Incident Manager reaching out to a contact or escalation plan to engage contact during an incident.

", + "refs": { + "EngagementsList$member": null + } + }, + "EngagementsList": { + "base": null, + "refs": { + "ListEngagementsResult$Engagements": "

A list of each engagement that occurred during the specified time range of an incident.

" + } + }, + "GetContactChannelRequest": { + "base": null, + "refs": { + } + }, + "GetContactChannelResult": { + "base": null, + "refs": { + } + }, + "GetContactPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetContactPolicyResult": { + "base": null, + "refs": { + } + }, + "GetContactRequest": { + "base": null, + "refs": { + } + }, + "GetContactResult": { + "base": null, + "refs": { + } + }, + "IdempotencyToken": { + "base": null, + "refs": { + "CreateContactChannelRequest$IdempotencyToken": "

A token ensuring that the action is called only once with the specified details.

", + "CreateContactRequest$IdempotencyToken": "

A token ensuring that the action is called only once with the specified details.

", + "StartEngagementRequest$IdempotencyToken": "

A token ensuring that the action is called only once with the specified details.

" + } + }, + "IncidentId": { + "base": null, + "refs": { + "DescribeEngagementResult$IncidentId": "

The ARN of the incident in which the engagement occurred.

", + "DescribePageResult$IncidentId": "

The ARN of the incident that engaged the contact channel.

", + "Engagement$IncidentId": "

The ARN of the incident that's engaging the contact.

", + "ListEngagementsRequest$IncidentId": "

The Amazon Resource Name (ARN) of the incident you're listing engagements for.

", + "Page$IncidentId": "

The ARN of the incident that's engaging the contact channel.

", + "StartEngagementRequest$IncidentId": "

The ARN of the incident that the engagement is part of.

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

Unexpected error occurred while processing the request.

", + "refs": { + } + }, + "IsEssential": { + "base": null, + "refs": { + "ContactTargetInfo$IsEssential": "

A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.

" + } + }, + "ListContactChannelsRequest": { + "base": null, + "refs": { + } + }, + "ListContactChannelsResult": { + "base": null, + "refs": { + } + }, + "ListContactsRequest": { + "base": null, + "refs": { + } + }, + "ListContactsResult": { + "base": null, + "refs": { + } + }, + "ListEngagementsRequest": { + "base": null, + "refs": { + } + }, + "ListEngagementsResult": { + "base": null, + "refs": { + } + }, + "ListPageReceiptsRequest": { + "base": null, + "refs": { + } + }, + "ListPageReceiptsResult": { + "base": null, + "refs": { + } + }, + "ListPagesByContactRequest": { + "base": null, + "refs": { + } + }, + "ListPagesByContactResult": { + "base": null, + "refs": { + } + }, + "ListPagesByEngagementRequest": { + "base": null, + "refs": { + } + }, + "ListPagesByEngagementResult": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResult": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListContactChannelsRequest$MaxResults": "

The maximum number of contact channels per page.

", + "ListContactsRequest$MaxResults": "

The maximum number of contacts and escalation plans per page of results.

", + "ListEngagementsRequest$MaxResults": "

The maximum number of engagements per page of results.

", + "ListPageReceiptsRequest$MaxResults": "

The maximum number of acknowledgements per page of results.

", + "ListPagesByContactRequest$MaxResults": "

The maximum number of engagements to contact channels to list per page of results.

", + "ListPagesByEngagementRequest$MaxResults": "

The maximum number of engagements to contact channels to list per page of results.

" + } + }, + "Page": { + "base": "

Incident Manager engaging a contact's contact channel.

", + "refs": { + "PagesList$member": null + } + }, + "PagesList": { + "base": null, + "refs": { + "ListPagesByContactResult$Pages": "

The list of engagements to a contact's contact channel.

", + "ListPagesByEngagementResult$Pages": "

The list of engagements to contact channels.

" + } + }, + "PaginationToken": { + "base": null, + "refs": { + "ListContactChannelsRequest$NextToken": "

The pagination token to continue to the next page of results.

", + "ListContactChannelsResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListContactsRequest$NextToken": "

The pagination token to continue to the next page of results.

", + "ListContactsResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListEngagementsRequest$NextToken": "

The pagination token to continue to the next page of results.

", + "ListEngagementsResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPageReceiptsRequest$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPageReceiptsResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPagesByContactRequest$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPagesByContactResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPagesByEngagementRequest$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPagesByEngagementResult$NextToken": "

The pagination token to continue to the next page of results.

" + } + }, + "Plan": { + "base": "

The stages that an escalation plan or engagement plan engages contacts and contact methods in.

", + "refs": { + "CreateContactRequest$Plan": "

A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.

", + "GetContactResult$Plan": "

Details about the specific timing or stages and targets of the escalation plan or engagement plan.

", + "UpdateContactRequest$Plan": "

A list of stages. A contact has an engagement plan with stages for specified contact channels. An escalation plan uses these stages to contact specified contacts.

" + } + }, + "Policy": { + "base": null, + "refs": { + "GetContactPolicyResult$Policy": "

Details about the resource policy attached to the contact or escalation plan.

", + "PutContactPolicyRequest$Policy": "

Details of the resource policy.

" + } + }, + "PublicContent": { + "base": null, + "refs": { + "DescribeEngagementResult$PublicContent": "

The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

", + "DescribePageResult$PublicContent": "

The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

", + "StartEngagementRequest$PublicContent": "

The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

" + } + }, + "PublicSubject": { + "base": null, + "refs": { + "DescribeEngagementResult$PublicSubject": "

The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

", + "DescribePageResult$PublicSubject": "

The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

", + "StartEngagementRequest$PublicSubject": "

The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

" + } + }, + "PutContactPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutContactPolicyResult": { + "base": null, + "refs": { + } + }, + "Receipt": { + "base": "

Records events during an engagement.

", + "refs": { + "ReceiptsList$member": null + } + }, + "ReceiptInfo": { + "base": null, + "refs": { + "AcceptPageRequest$Note": "

Information provided by the user when the user acknowledges the page.

", + "Receipt$ReceiptInfo": "

Information provided during the page acknowledgement.

" + } + }, + "ReceiptType": { + "base": null, + "refs": { + "Receipt$ReceiptType": "

The type follows the engagement cycle, SENT, DELIVERED, and READ.

" + } + }, + "ReceiptsList": { + "base": null, + "refs": { + "ListPageReceiptsResult$Receipts": "

A list of each acknowledgement.

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

Request references a resource that doesn't exist.

", + "refs": { + } + }, + "RetryAfterSeconds": { + "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" + } + }, + "RetryIntervalInMinutes": { + "base": null, + "refs": { + "ChannelTargetInfo$RetryIntervalInMinutes": "

The number of minutes to wait to retry sending engagement in the case the engagement initially fails.

" + } + }, + "SendActivationCodeRequest": { + "base": null, + "refs": { + } + }, + "SendActivationCodeResult": { + "base": null, + "refs": { + } + }, + "Sender": { + "base": null, + "refs": { + "DescribeEngagementResult$Sender": "

The user that started the engagement.

", + "DescribePageResult$Sender": "

The user that started the engagement.

", + "Engagement$Sender": "

The user that started the engagement.

", + "Page$Sender": "

The user that started the engagement.

", + "StartEngagementRequest$Sender": "

The user that started the engagement.

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

Request would cause a service quota to be exceeded.

", + "refs": { + } + }, + "SimpleAddress": { + "base": null, + "refs": { + "ContactChannelAddress$SimpleAddress": "

The format is dependent on the type of the contact channel. The following are the expected formats:

" + } + }, + "SsmContactsArn": { + "base": null, + "refs": { + "AcceptPageRequest$PageId": "

The Amazon Resource Name (ARN) of the engagement to a contact channel.

", + "AcceptPageRequest$ContactChannelId": "

The ARN of the contact channel.

", + "ActivateContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel.

", + "ChannelTargetInfo$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel.

", + "Contact$ContactArn": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", + "ContactChannel$ContactChannelArn": "

The Amazon Resource Name (ARN) of the contact channel.

", + "ContactChannel$ContactArn": "

The ARN of the contact that contains the contact channel.

", + "ContactTargetInfo$ContactId": "

The Amazon Resource Name (ARN) of the contact.

", + "CreateContactChannelRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact channel.

", + "CreateContactChannelResult$ContactChannelArn": "

The ARN of the contact channel.

", + "CreateContactResult$ContactArn": "

The Amazon Resource Name (ARN) of the created contact or escalation plan.

", + "DeactivateContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel you're deactivating.

", + "DeleteContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel.

", + "DeleteContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact that you're deleting.

", + "DescribeEngagementRequest$EngagementId": "

The Amazon Resource Name (ARN) of the engagement you want the details of.

", + "DescribeEngagementResult$ContactArn": "

The ARN of the escalation plan or contacts involved in the engagement.

", + "DescribeEngagementResult$EngagementArn": "

The ARN of the engagement.

", + "DescribePageRequest$PageId": "

The ID of the engagement to a contact channel.

", + "DescribePageResult$PageArn": "

The Amazon Resource Name (ARN) of the engagement to a contact channel.

", + "DescribePageResult$EngagementArn": "

The ARN of the engagement that engaged the contact channel.

", + "DescribePageResult$ContactArn": "

The ARN of the contact that was engaged.

", + "Engagement$EngagementArn": "

The Amazon Resource Name (ARN) of the engagement.

", + "Engagement$ContactArn": "

The ARN of the escalation plan or contact that Incident Manager is engaging.

", + "GetContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel you want information about.

", + "GetContactChannelResult$ContactArn": "

The ARN of the contact that the channel belongs to.

", + "GetContactChannelResult$ContactChannelArn": "

The ARN of the contact channel.

", + "GetContactPolicyRequest$ContactArn": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", + "GetContactPolicyResult$ContactArn": "

The ARN of the contact or escalation plan.

", + "GetContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", + "GetContactResult$ContactArn": "

The ARN of the contact or escalation plan.

", + "ListContactChannelsRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact.

", + "ListPageReceiptsRequest$PageId": "

The Amazon Resource Name (ARN) of the engagement to a specific contact channel.

", + "ListPagesByContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact you are retrieving engagements for.

", + "ListPagesByEngagementRequest$EngagementId": "

The Amazon Resource Name (ARN) of the engagement.

", + "Page$PageArn": "

The Amazon Resource Name (ARN) of the page to the contact channel.

", + "Page$EngagementArn": "

The ARN of the engagement that this page is part of.

", + "Page$ContactArn": "

The ARN of the contact that Incident Manager is engaging.

", + "PutContactPolicyRequest$ContactArn": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", + "Receipt$ContactChannelArn": "

The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged.

", + "SendActivationCodeRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel.

", + "StartEngagementRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact being engaged.

", + "StartEngagementResult$EngagementArn": "

The ARN of the engagement.

", + "StopEngagementRequest$EngagementId": "

The Amazon Resource Name (ARN) of the engagement.

", + "UpdateContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel you want to update.

", + "UpdateContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact or escalation plan you're updating.

" + } + }, + "Stage": { + "base": "

A set amount of time that an escalation plan or engagement plan engages the specified contacts or contact methods.

", + "refs": { + "StagesList$member": null + } + }, + "StageDurationInMins": { + "base": null, + "refs": { + "Stage$DurationInMinutes": "

The time to wait until beginning the next stage.

" + } + }, + "StagesList": { + "base": null, + "refs": { + "Plan$Stages": "

A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.

" + } + }, + "StartEngagementRequest": { + "base": null, + "refs": { + } + }, + "StartEngagementResult": { + "base": null, + "refs": { + } + }, + "StopEngagementRequest": { + "base": null, + "refs": { + } + }, + "StopEngagementResult": { + "base": null, + "refs": { + } + }, + "StopReason": { + "base": null, + "refs": { + "StopEngagementRequest$Reason": "

The reason that you're stopping the engagement.

" + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "ConflictException$Message": null, + "ConflictException$ResourceId": "Identifier of the resource in use", + "ConflictException$ResourceType": "ype of the resource in use", + "DataEncryptionException$Message": null, + "InternalServerException$Message": null, + "ResourceNotFoundException$Message": null, + "ResourceNotFoundException$ResourceId": "Hypothetical resource identifier that was not found", + "ResourceNotFoundException$ResourceType": "Hypothetical resource type that was not found", + "ServiceQuotaExceededException$Message": null, + "ServiceQuotaExceededException$ResourceId": "Identifier of the resource affected", + "ServiceQuotaExceededException$ResourceType": "Type of the resource affected", + "ServiceQuotaExceededException$QuotaCode": "Service Quotas requirement to identify originating service", + "ServiceQuotaExceededException$ServiceCode": "Service Quotas requirement to identify originating quota", + "ThrottlingException$Message": null, + "ThrottlingException$QuotaCode": "Service Quotas requirement to identify originating service", + "ThrottlingException$ServiceCode": "Service Quotas requirement to identify originating quota", + "ValidationException$Message": null, + "ValidationExceptionField$Name": "

The name of the field that caused the exception.

", + "ValidationExceptionField$Message": "

Information about what caused the field to cause an exception.

" + } + }, + "Subject": { + "base": null, + "refs": { + "DescribeEngagementResult$Subject": "

The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

", + "DescribePageResult$Subject": "

The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

", + "StartEngagementRequest$Subject": "

The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

" + } + }, + "Tag": { + "base": "

A container of a key-value name pair.

", + "refs": { + "TagsList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

Name of the object key.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The key of the tag that you want to remove.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResult": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

Value of the tag.

" + } + }, + "TagsList": { + "base": null, + "refs": { + "CreateContactRequest$Tags": "

Adds a tag to the target. You can only tag resources created in the first Region of your replication set.

", + "ListTagsForResourceResult$Tags": "

The tags related to the contact or escalation plan.

", + "TagResourceRequest$Tags": "

A list of tags that you are adding to the contact or escalation plan.

" + } + }, + "Target": { + "base": "

The contact or contact channel that is being engaged.

", + "refs": { + "TargetsList$member": null + } + }, + "TargetsList": { + "base": null, + "refs": { + "Stage$Targets": "

The contacts or contact methods that the escalation plan or engagement plan is engaging.

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

The request was denied due to request throttling.

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

A range of between two set times

", + "refs": { + "ListEngagementsRequest$TimeRangeValue": "

The time range to lists engagements for an incident.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResult": { + "base": null, + "refs": { + } + }, + "UpdateContactChannelRequest": { + "base": null, + "refs": { + } + }, + "UpdateContactChannelResult": { + "base": null, + "refs": { + } + }, + "UpdateContactRequest": { + "base": null, + "refs": { + } + }, + "UpdateContactResult": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

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

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

Provides information about which field caused the exception.

", + "refs": { + "ValidationExceptionFieldList$member": null + } + }, + "ValidationExceptionFieldList": { + "base": null, + "refs": { + "ValidationException$Fields": "The fields that caused the error" + } + }, + "ValidationExceptionReason": { + "base": null, + "refs": { + "ValidationException$Reason": "Reason the request failed validation" + } + } + } +} diff --git a/models/apis/ssm-contacts/2021-05-03/examples-1.json b/models/apis/ssm-contacts/2021-05-03/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/ssm-contacts/2021-05-03/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/ssm-contacts/2021-05-03/paginators-1.json b/models/apis/ssm-contacts/2021-05-03/paginators-1.json new file mode 100644 index 00000000000..cf5a75c7d86 --- /dev/null +++ b/models/apis/ssm-contacts/2021-05-03/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListContactChannels": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ContactChannels" + }, + "ListContacts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Contacts" + }, + "ListEngagements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Engagements" + }, + "ListPageReceipts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Receipts" + }, + "ListPagesByContact": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Pages" + }, + "ListPagesByEngagement": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Pages" + } + } +} \ No newline at end of file diff --git a/models/apis/ssm-incidents/2018-05-10/api-2.json b/models/apis/ssm-incidents/2018-05-10/api-2.json new file mode 100644 index 00000000000..b96ecc898c8 --- /dev/null +++ b/models/apis/ssm-incidents/2018-05-10/api-2.json @@ -0,0 +1,1905 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "endpointPrefix":"ssm-incidents", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"SSM Incidents", + "serviceFullName":"AWS Systems Manager Incident Manager", + "serviceId":"SSM Incidents", + "signatureVersion":"v4", + "signingName":"ssm-incidents", + "uid":"ssm-incidents-2018-05-10" + }, + "operations":{ + "CreateReplicationSet":{ + "name":"CreateReplicationSet", + "http":{ + "method":"POST", + "requestUri":"/createReplicationSet", + "responseCode":201 + }, + "input":{"shape":"CreateReplicationSetInput"}, + "output":{"shape":"CreateReplicationSetOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, + "CreateResponsePlan":{ + "name":"CreateResponsePlan", + "http":{ + "method":"POST", + "requestUri":"/createResponsePlan", + "responseCode":201 + }, + "input":{"shape":"CreateResponsePlanInput"}, + "output":{"shape":"CreateResponsePlanOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "CreateTimelineEvent":{ + "name":"CreateTimelineEvent", + "http":{ + "method":"POST", + "requestUri":"/createTimelineEvent", + "responseCode":201 + }, + "input":{"shape":"CreateTimelineEventInput"}, + "output":{"shape":"CreateTimelineEventOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "DeleteIncidentRecord":{ + "name":"DeleteIncidentRecord", + "http":{ + "method":"POST", + "requestUri":"/deleteIncidentRecord", + "responseCode":204 + }, + "input":{"shape":"DeleteIncidentRecordInput"}, + "output":{"shape":"DeleteIncidentRecordOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "DeleteReplicationSet":{ + "name":"DeleteReplicationSet", + "http":{ + "method":"POST", + "requestUri":"/deleteReplicationSet", + "responseCode":204 + }, + "input":{"shape":"DeleteReplicationSetInput"}, + "output":{"shape":"DeleteReplicationSetOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/deleteResourcePolicy", + "responseCode":200 + }, + "input":{"shape":"DeleteResourcePolicyInput"}, + "output":{"shape":"DeleteResourcePolicyOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteResponsePlan":{ + "name":"DeleteResponsePlan", + "http":{ + "method":"POST", + "requestUri":"/deleteResponsePlan", + "responseCode":204 + }, + "input":{"shape":"DeleteResponsePlanInput"}, + "output":{"shape":"DeleteResponsePlanOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "DeleteTimelineEvent":{ + "name":"DeleteTimelineEvent", + "http":{ + "method":"POST", + "requestUri":"/deleteTimelineEvent", + "responseCode":204 + }, + "input":{"shape":"DeleteTimelineEventInput"}, + "output":{"shape":"DeleteTimelineEventOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "GetIncidentRecord":{ + "name":"GetIncidentRecord", + "http":{ + "method":"GET", + "requestUri":"/getIncidentRecord", + "responseCode":200 + }, + "input":{"shape":"GetIncidentRecordInput"}, + "output":{"shape":"GetIncidentRecordOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "GetReplicationSet":{ + "name":"GetReplicationSet", + "http":{ + "method":"GET", + "requestUri":"/getReplicationSet", + "responseCode":200 + }, + "input":{"shape":"GetReplicationSetInput"}, + "output":{"shape":"GetReplicationSetOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "GetResourcePolicies":{ + "name":"GetResourcePolicies", + "http":{ + "method":"POST", + "requestUri":"/getResourcePolicies", + "responseCode":200 + }, + "input":{"shape":"GetResourcePoliciesInput"}, + "output":{"shape":"GetResourcePoliciesOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "GetResponsePlan":{ + "name":"GetResponsePlan", + "http":{ + "method":"GET", + "requestUri":"/getResponsePlan", + "responseCode":200 + }, + "input":{"shape":"GetResponsePlanInput"}, + "output":{"shape":"GetResponsePlanOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "GetTimelineEvent":{ + "name":"GetTimelineEvent", + "http":{ + "method":"GET", + "requestUri":"/getTimelineEvent", + "responseCode":200 + }, + "input":{"shape":"GetTimelineEventInput"}, + "output":{"shape":"GetTimelineEventOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListIncidentRecords":{ + "name":"ListIncidentRecords", + "http":{ + "method":"POST", + "requestUri":"/listIncidentRecords", + "responseCode":200 + }, + "input":{"shape":"ListIncidentRecordsInput"}, + "output":{"shape":"ListIncidentRecordsOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListRelatedItems":{ + "name":"ListRelatedItems", + "http":{ + "method":"POST", + "requestUri":"/listRelatedItems", + "responseCode":200 + }, + "input":{"shape":"ListRelatedItemsInput"}, + "output":{"shape":"ListRelatedItemsOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListReplicationSets":{ + "name":"ListReplicationSets", + "http":{ + "method":"POST", + "requestUri":"/listReplicationSets", + "responseCode":200 + }, + "input":{"shape":"ListReplicationSetsInput"}, + "output":{"shape":"ListReplicationSetsOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListResponsePlans":{ + "name":"ListResponsePlans", + "http":{ + "method":"POST", + "requestUri":"/listResponsePlans", + "responseCode":200 + }, + "input":{"shape":"ListResponsePlansInput"}, + "output":{"shape":"ListResponsePlansOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListTimelineEvents":{ + "name":"ListTimelineEvents", + "http":{ + "method":"POST", + "requestUri":"/listTimelineEvents", + "responseCode":200 + }, + "input":{"shape":"ListTimelineEventsInput"}, + "output":{"shape":"ListTimelineEventsOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/putResourcePolicy", + "responseCode":200 + }, + "input":{"shape":"PutResourcePolicyInput"}, + "output":{"shape":"PutResourcePolicyOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "StartIncident":{ + "name":"StartIncident", + "http":{ + "method":"POST", + "requestUri":"/startIncident", + "responseCode":200 + }, + "input":{"shape":"StartIncidentInput"}, + "output":{"shape":"StartIncidentOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "UpdateDeletionProtection":{ + "name":"UpdateDeletionProtection", + "http":{ + "method":"POST", + "requestUri":"/updateDeletionProtection", + "responseCode":204 + }, + "input":{"shape":"UpdateDeletionProtectionInput"}, + "output":{"shape":"UpdateDeletionProtectionOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateIncidentRecord":{ + "name":"UpdateIncidentRecord", + "http":{ + "method":"POST", + "requestUri":"/updateIncidentRecord", + "responseCode":204 + }, + "input":{"shape":"UpdateIncidentRecordInput"}, + "output":{"shape":"UpdateIncidentRecordOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "UpdateRelatedItems":{ + "name":"UpdateRelatedItems", + "http":{ + "method":"POST", + "requestUri":"/updateRelatedItems", + "responseCode":204 + }, + "input":{"shape":"UpdateRelatedItemsInput"}, + "output":{"shape":"UpdateRelatedItemsOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "UpdateReplicationSet":{ + "name":"UpdateReplicationSet", + "http":{ + "method":"POST", + "requestUri":"/updateReplicationSet", + "responseCode":204 + }, + "input":{"shape":"UpdateReplicationSetInput"}, + "output":{"shape":"UpdateReplicationSetOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateResponsePlan":{ + "name":"UpdateResponsePlan", + "http":{ + "method":"POST", + "requestUri":"/updateResponsePlan", + "responseCode":204 + }, + "input":{"shape":"UpdateResponsePlanInput"}, + "output":{"shape":"UpdateResponsePlanOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "UpdateTimelineEvent":{ + "name":"UpdateTimelineEvent", + "http":{ + "method":"POST", + "requestUri":"/updateTimelineEvent", + "responseCode":204 + }, + "input":{"shape":"UpdateTimelineEventInput"}, + "output":{"shape":"UpdateTimelineEventOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Action":{ + "type":"structure", + "members":{ + "ssmAutomation":{"shape":"SsmAutomation"} + }, + "union":true + }, + "ActionsList":{ + "type":"list", + "member":{"shape":"Action"}, + "max":1, + "min":0 + }, + "AddRegionAction":{ + "type":"structure", + "required":["regionName"], + "members":{ + "regionName":{"shape":"RegionName"}, + "sseKmsKeyId":{"shape":"SseKmsKey"} + } + }, + "Arn":{ + "type":"string", + "max":1000, + "min":0, + "pattern":"^arn:aws(-cn|-us-gov)?:[a-z0-9-]*:[a-z0-9-]*:([0-9]{12})?:.+$" + }, + "AttributeValueList":{ + "type":"structure", + "members":{ + "integerValues":{"shape":"IntegerList"}, + "stringValues":{"shape":"StringList"} + }, + "union":true + }, + "AutomationExecution":{ + "type":"structure", + "members":{ + "ssmExecutionArn":{"shape":"Arn"} + }, + "union":true + }, + "AutomationExecutionSet":{ + "type":"list", + "member":{"shape":"AutomationExecution"}, + "max":100, + "min":0 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ChatChannel":{ + "type":"structure", + "members":{ + "chatbotSns":{"shape":"ChatbotSnsConfigurationSet"}, + "empty":{"shape":"EmptyChatChannel"} + }, + "union":true + }, + "ChatbotSnsConfigurationSet":{ + "type":"list", + "member":{"shape":"SnsArn"}, + "max":5, + "min":1 + }, + "ClientToken":{ + "type":"string", + "max":128, + "min":0 + }, + "Condition":{ + "type":"structure", + "members":{ + "after":{"shape":"Timestamp"}, + "before":{"shape":"Timestamp"}, + "equals":{"shape":"AttributeValueList"} + }, + "union":true + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceIdentifier":{"shape":"String"}, + "resourceType":{"shape":"ResourceType"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateReplicationSetInput":{ + "type":"structure", + "required":["regions"], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "regions":{"shape":"RegionMapInput"} + } + }, + "CreateReplicationSetOutput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"Arn"} + } + }, + "CreateResponsePlanInput":{ + "type":"structure", + "required":[ + "incidentTemplate", + "name" + ], + "members":{ + "actions":{"shape":"ActionsList"}, + "chatChannel":{"shape":"ChatChannel"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "displayName":{"shape":"ResponsePlanDisplayName"}, + "engagements":{"shape":"EngagementSet"}, + "incidentTemplate":{"shape":"IncidentTemplate"}, + "name":{"shape":"ResponsePlanName"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateResponsePlanOutput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"Arn"} + } + }, + "CreateTimelineEventInput":{ + "type":"structure", + "required":[ + "clientToken", + "eventData", + "eventTime", + "eventType", + "incidentRecordArn" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "eventData":{"shape":"EventData"}, + "eventTime":{"shape":"Timestamp"}, + "eventType":{"shape":"TimelineEventType"}, + "incidentRecordArn":{"shape":"Arn"} + } + }, + "CreateTimelineEventOutput":{ + "type":"structure", + "required":[ + "eventId", + "incidentRecordArn" + ], + "members":{ + "eventId":{"shape":"UUID"}, + "incidentRecordArn":{"shape":"Arn"} + } + }, + "DedupeString":{ + "type":"string", + "max":1000, + "min":0 + }, + "DeleteIncidentRecordInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"Arn"} + } + }, + "DeleteIncidentRecordOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteRegionAction":{ + "type":"structure", + "required":["regionName"], + "members":{ + "regionName":{"shape":"RegionName"} + } + }, + "DeleteReplicationSetInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"Arn", + "location":"querystring", + "locationName":"arn" + } + } + }, + "DeleteReplicationSetOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteResourcePolicyInput":{ + "type":"structure", + "required":[ + "policyId", + "resourceArn" + ], + "members":{ + "policyId":{"shape":"PolicyId"}, + "resourceArn":{"shape":"Arn"} + } + }, + "DeleteResourcePolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteResponsePlanInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"Arn"} + } + }, + "DeleteResponsePlanOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteTimelineEventInput":{ + "type":"structure", + "required":[ + "eventId", + "incidentRecordArn" + ], + "members":{ + "eventId":{"shape":"UUID"}, + "incidentRecordArn":{"shape":"Arn"} + } + }, + "DeleteTimelineEventOutput":{ + "type":"structure", + "members":{ + } + }, + "EmptyChatChannel":{ + "type":"structure", + "members":{ + } + }, + "EngagementSet":{ + "type":"list", + "member":{"shape":"SsmContactsArn"}, + "max":5, + "min":0 + }, + "EventData":{ + "type":"string", + "max":6000, + "min":0 + }, + "EventSummary":{ + "type":"structure", + "required":[ + "eventId", + "eventTime", + "eventType", + "eventUpdatedTime", + "incidentRecordArn" + ], + "members":{ + "eventId":{"shape":"UUID"}, + "eventTime":{"shape":"Timestamp"}, + "eventType":{"shape":"TimelineEventType"}, + "eventUpdatedTime":{"shape":"Timestamp"}, + "incidentRecordArn":{"shape":"Arn"} + } + }, + "EventSummaryList":{ + "type":"list", + "member":{"shape":"EventSummary"}, + "max":100, + "min":0 + }, + "ExceptionMessage":{"type":"string"}, + "Filter":{ + "type":"structure", + "required":[ + "condition", + "key" + ], + "members":{ + "condition":{"shape":"Condition"}, + "key":{"shape":"FilterKeyString"} + } + }, + "FilterKeyString":{ + "type":"string", + "max":50, + "min":0 + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":5, + "min":0 + }, + "GetIncidentRecordInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"Arn", + "location":"querystring", + "locationName":"arn" + } + } + }, + "GetIncidentRecordOutput":{ + "type":"structure", + "required":["incidentRecord"], + "members":{ + "incidentRecord":{"shape":"IncidentRecord"} + } + }, + "GetReplicationSetInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"Arn", + "location":"querystring", + "locationName":"arn" + } + } + }, + "GetReplicationSetOutput":{ + "type":"structure", + "required":["replicationSet"], + "members":{ + "replicationSet":{"shape":"ReplicationSet"} + } + }, + "GetResourcePoliciesInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "resourceArn":{ + "shape":"Arn", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "GetResourcePoliciesOutput":{ + "type":"structure", + "required":["resourcePolicies"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "resourcePolicies":{"shape":"ResourcePolicyList"} + } + }, + "GetResponsePlanInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"Arn", + "location":"querystring", + "locationName":"arn" + } + } + }, + "GetResponsePlanOutput":{ + "type":"structure", + "required":[ + "arn", + "incidentTemplate", + "name" + ], + "members":{ + "actions":{"shape":"ActionsList"}, + "arn":{"shape":"Arn"}, + "chatChannel":{"shape":"ChatChannel"}, + "displayName":{"shape":"ResponsePlanDisplayName"}, + "engagements":{"shape":"EngagementSet"}, + "incidentTemplate":{"shape":"IncidentTemplate"}, + "name":{"shape":"ResponsePlanName"} + } + }, + "GetTimelineEventInput":{ + "type":"structure", + "required":[ + "eventId", + "incidentRecordArn" + ], + "members":{ + "eventId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"eventId" + }, + "incidentRecordArn":{ + "shape":"Arn", + "location":"querystring", + "locationName":"incidentRecordArn" + } + } + }, + "GetTimelineEventOutput":{ + "type":"structure", + "required":["event"], + "members":{ + "event":{"shape":"TimelineEvent"} + } + }, + "Impact":{ + "type":"integer", + "box":true, + "max":5, + "min":1 + }, + "IncidentRecord":{ + "type":"structure", + "required":[ + "arn", + "creationTime", + "dedupeString", + "impact", + "incidentRecordSource", + "lastModifiedBy", + "lastModifiedTime", + "status", + "title" + ], + "members":{ + "arn":{"shape":"Arn"}, + "automationExecutions":{"shape":"AutomationExecutionSet"}, + "chatChannel":{"shape":"ChatChannel"}, + "creationTime":{"shape":"Timestamp"}, + "dedupeString":{"shape":"DedupeString"}, + "impact":{"shape":"Impact"}, + "incidentRecordSource":{"shape":"IncidentRecordSource"}, + "lastModifiedBy":{"shape":"Arn"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "notificationTargets":{"shape":"NotificationTargetSet"}, + "resolvedTime":{"shape":"Timestamp"}, + "status":{"shape":"IncidentRecordStatus"}, + "summary":{"shape":"IncidentSummary"}, + "title":{"shape":"IncidentTitle"} + } + }, + "IncidentRecordSource":{ + "type":"structure", + "required":[ + "createdBy", + "source" + ], + "members":{ + "createdBy":{"shape":"Arn"}, + "invokedBy":{"shape":"Arn"}, + "resourceArn":{"shape":"Arn"}, + "source":{"shape":"IncidentSource"} + } + }, + "IncidentRecordStatus":{ + "type":"string", + "enum":[ + "OPEN", + "RESOLVED" + ] + }, + "IncidentRecordSummary":{ + "type":"structure", + "required":[ + "arn", + "creationTime", + "impact", + "incidentRecordSource", + "status", + "title" + ], + "members":{ + "arn":{"shape":"Arn"}, + "creationTime":{"shape":"Timestamp"}, + "impact":{"shape":"Impact"}, + "incidentRecordSource":{"shape":"IncidentRecordSource"}, + "resolvedTime":{"shape":"Timestamp"}, + "status":{"shape":"IncidentRecordStatus"}, + "title":{"shape":"IncidentTitle"} + } + }, + "IncidentRecordSummaryList":{ + "type":"list", + "member":{"shape":"IncidentRecordSummary"}, + "max":100, + "min":0 + }, + "IncidentSource":{ + "type":"string", + "max":50, + "min":0 + }, + "IncidentSummary":{ + "type":"string", + "max":4000, + "min":0 + }, + "IncidentTemplate":{ + "type":"structure", + "required":[ + "impact", + "title" + ], + "members":{ + "dedupeString":{"shape":"DedupeString"}, + "impact":{"shape":"Impact"}, + "notificationTargets":{"shape":"NotificationTargetSet"}, + "summary":{"shape":"IncidentSummary"}, + "title":{"shape":"IncidentTitle"} + } + }, + "IncidentTitle":{ + "type":"string", + "max":200, + "min":0 + }, + "Integer":{ + "type":"integer", + "box":true + }, + "IntegerList":{ + "type":"list", + "member":{"shape":"Integer"}, + "max":100, + "min":0 + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ItemIdentifier":{ + "type":"structure", + "required":[ + "type", + "value" + ], + "members":{ + "type":{"shape":"ItemType"}, + "value":{"shape":"ItemValue"} + } + }, + "ItemType":{ + "type":"string", + "enum":[ + "ANALYSIS", + "INCIDENT", + "METRIC", + "PARENT", + "ATTACHMENT", + "OTHER" + ] + }, + "ItemValue":{ + "type":"structure", + "members":{ + "arn":{"shape":"Arn"}, + "metricDefinition":{"shape":"MetricDefinition"}, + "url":{"shape":"Url"} + }, + "union":true + }, + "ListIncidentRecordsInput":{ + "type":"structure", + "members":{ + "filters":{"shape":"FilterList"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListIncidentRecordsOutput":{ + "type":"structure", + "required":["incidentRecordSummaries"], + "members":{ + "incidentRecordSummaries":{"shape":"IncidentRecordSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListRelatedItemsInput":{ + "type":"structure", + "required":["incidentRecordArn"], + "members":{ + "incidentRecordArn":{"shape":"Arn"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListRelatedItemsOutput":{ + "type":"structure", + "required":["relatedItems"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "relatedItems":{"shape":"RelatedItemList"} + } + }, + "ListReplicationSetsInput":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListReplicationSetsOutput":{ + "type":"structure", + "required":["replicationSetArns"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "replicationSetArns":{"shape":"ReplicationSetArnList"} + } + }, + "ListResponsePlansInput":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListResponsePlansOutput":{ + "type":"structure", + "required":["responsePlanSummaries"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "responsePlanSummaries":{"shape":"ResponsePlanSummaryList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["tags"], + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "ListTimelineEventsInput":{ + "type":"structure", + "required":["incidentRecordArn"], + "members":{ + "filters":{"shape":"FilterList"}, + "incidentRecordArn":{"shape":"Arn"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "sortBy":{"shape":"TimelineEventSort"}, + "sortOrder":{"shape":"SortOrder"} + } + }, + "ListTimelineEventsOutput":{ + "type":"structure", + "required":["eventSummaries"], + "members":{ + "eventSummaries":{"shape":"EventSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "MetricDefinition":{ + "type":"string", + "max":4000, + "min":0 + }, + "NextToken":{ + "type":"string", + "max":1000, + "min":0 + }, + "NotificationTargetItem":{ + "type":"structure", + "members":{ + "snsTopicArn":{"shape":"Arn"} + }, + "union":true + }, + "NotificationTargetSet":{ + "type":"list", + "member":{"shape":"NotificationTargetItem"}, + "max":10, + "min":0 + }, + "Policy":{ + "type":"string", + "max":4000, + "min":0 + }, + "PolicyId":{ + "type":"string", + "max":256, + "min":0 + }, + "PutResourcePolicyInput":{ + "type":"structure", + "required":[ + "policy", + "resourceArn" + ], + "members":{ + "policy":{"shape":"Policy"}, + "resourceArn":{"shape":"Arn"} + } + }, + "PutResourcePolicyOutput":{ + "type":"structure", + "required":["policyId"], + "members":{ + "policyId":{"shape":"PolicyId"} + } + }, + "RawData":{ + "type":"string", + "max":4000, + "min":0 + }, + "RegionInfo":{ + "type":"structure", + "required":[ + "status", + "statusUpdateDateTime" + ], + "members":{ + "sseKmsKeyId":{"shape":"SseKmsKey"}, + "status":{"shape":"RegionStatus"}, + "statusMessage":{"shape":"String"}, + "statusUpdateDateTime":{"shape":"Timestamp"} + } + }, + "RegionInfoMap":{ + "type":"map", + "key":{"shape":"RegionName"}, + "value":{"shape":"RegionInfo"} + }, + "RegionMapInput":{ + "type":"map", + "key":{"shape":"RegionName"}, + "value":{"shape":"RegionMapInputValue"}, + "max":3, + "min":1 + }, + "RegionMapInputValue":{ + "type":"structure", + "members":{ + "sseKmsKeyId":{"shape":"SseKmsKey"} + } + }, + "RegionName":{ + "type":"string", + "max":20, + "min":0 + }, + "RegionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "DELETING", + "FAILED" + ] + }, + "RelatedItem":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{"shape":"ItemIdentifier"}, + "title":{"shape":"RelatedItemTitleString"} + } + }, + "RelatedItemList":{ + "type":"list", + "member":{"shape":"RelatedItem"}, + "max":100, + "min":0 + }, + "RelatedItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "RelatedItemsUpdate":{ + "type":"structure", + "members":{ + "itemToAdd":{"shape":"RelatedItem"}, + "itemToRemove":{"shape":"ItemIdentifier"} + }, + "union":true + }, + "ReplicationSet":{ + "type":"structure", + "required":[ + "createdBy", + "createdTime", + "deletionProtected", + "lastModifiedBy", + "lastModifiedTime", + "regionMap", + "status" + ], + "members":{ + "createdBy":{"shape":"Arn"}, + "createdTime":{"shape":"Timestamp"}, + "deletionProtected":{"shape":"Boolean"}, + "lastModifiedBy":{"shape":"Arn"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "regionMap":{"shape":"RegionInfoMap"}, + "status":{"shape":"ReplicationSetStatus"} + } + }, + "ReplicationSetArnList":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "ReplicationSetStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "UPDATING", + "DELETING", + "FAILED" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceIdentifier":{"shape":"String"}, + "resourceType":{"shape":"ResourceType"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourcePolicy":{ + "type":"structure", + "required":[ + "policyDocument", + "policyId", + "ramResourceShareRegion" + ], + "members":{ + "policyDocument":{"shape":"Policy"}, + "policyId":{"shape":"PolicyId"}, + "ramResourceShareRegion":{"shape":"String"} + } + }, + "ResourcePolicyList":{ + "type":"list", + "member":{"shape":"ResourcePolicy"}, + "max":100, + "min":0 + }, + "ResourceType":{ + "type":"string", + "enum":[ + "RESPONSE_PLAN", + "INCIDENT_RECORD", + "TIMELINE_EVENT", + "REPLICATION_SET", + "RESOURCE_POLICY" + ] + }, + "ResponsePlanDisplayName":{ + "type":"string", + "max":200, + "min":0 + }, + "ResponsePlanName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^[a-zA-Z0-9-_]*$" + }, + "ResponsePlanSummary":{ + "type":"structure", + "required":[ + "arn", + "name" + ], + "members":{ + "arn":{"shape":"Arn"}, + "displayName":{"shape":"ResponsePlanDisplayName"}, + "name":{"shape":"ResponsePlanName"} + } + }, + "ResponsePlanSummaryList":{ + "type":"list", + "member":{"shape":"ResponsePlanSummary"}, + "max":100, + "min":0 + }, + "RoleArn":{ + "type":"string", + "max":1000, + "min":0, + "pattern":"^arn:aws(-cn|-us-gov)?:iam::([0-9]{12})?:role/.+$" + }, + "ServiceCode":{ + "type":"string", + "enum":["ssm-incidents"] + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "quotaCode", + "serviceCode" + ], + "members":{ + "message":{"shape":"ExceptionMessage"}, + "quotaCode":{"shape":"String"}, + "resourceIdentifier":{"shape":"String"}, + "resourceType":{"shape":"ResourceType"}, + "serviceCode":{"shape":"ServiceCode"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SnsArn":{ + "type":"string", + "max":1000, + "min":0 + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "SseKmsKey":{ + "type":"string", + "max":2048, + "min":0 + }, + "SsmAutomation":{ + "type":"structure", + "required":[ + "documentName", + "roleArn" + ], + "members":{ + "documentName":{"shape":"SsmAutomationDocumentNameString"}, + "documentVersion":{"shape":"SsmAutomationDocumentVersionString"}, + "parameters":{"shape":"SsmParameters"}, + "roleArn":{"shape":"RoleArn"}, + "targetAccount":{"shape":"SsmTargetAccount"} + } + }, + "SsmAutomationDocumentNameString":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.:/]{3,128}$" + }, + "SsmAutomationDocumentVersionString":{ + "type":"string", + "max":128, + "min":0 + }, + "SsmContactsArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^arn:[-\\w+=/,.@]+:ssm-contacts:[-\\w+=/,.@]*:[0-9]+:([\\w+=/,.@:-]+)*$" + }, + "SsmParameterValues":{ + "type":"list", + "member":{"shape":"SsmParameterValuesMemberString"}, + "max":100, + "min":0 + }, + "SsmParameterValuesMemberString":{ + "type":"string", + "max":512, + "min":0 + }, + "SsmParameters":{ + "type":"map", + "key":{"shape":"SsmParametersKeyString"}, + "value":{"shape":"SsmParameterValues"}, + "max":200, + "min":1 + }, + "SsmParametersKeyString":{ + "type":"string", + "max":50, + "min":1 + }, + "SsmTargetAccount":{ + "type":"string", + "enum":[ + "RESPONSE_PLAN_OWNER_ACCOUNT", + "IMPACTED_ACCOUNT" + ] + }, + "StartIncidentInput":{ + "type":"structure", + "required":["responsePlanArn"], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "impact":{"shape":"Impact"}, + "relatedItems":{"shape":"RelatedItemList"}, + "responsePlanArn":{"shape":"Arn"}, + "title":{"shape":"IncidentTitle"}, + "triggerDetails":{"shape":"TriggerDetails"} + } + }, + "StartIncidentOutput":{ + "type":"structure", + "required":["incidentRecordArn"], + "members":{ + "incidentRecordArn":{"shape":"Arn"} + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"StringListMemberString"}, + "max":100, + "min":0 + }, + "StringListMemberString":{ + "type":"string", + "max":1000, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[A-Za-z0-9 _=@:.+-/]+$" + }, + "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":"String", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[A-Za-z0-9 _=@:.+-/]*$" + }, + "ThrottlingException":{ + "type":"structure", + "required":[ + "message", + "quotaCode", + "serviceCode" + ], + "members":{ + "message":{"shape":"ExceptionMessage"}, + "quotaCode":{"shape":"String"}, + "serviceCode":{"shape":"ServiceCode"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "TimelineEvent":{ + "type":"structure", + "required":[ + "eventData", + "eventId", + "eventTime", + "eventType", + "eventUpdatedTime", + "incidentRecordArn" + ], + "members":{ + "eventData":{"shape":"EventData"}, + "eventId":{"shape":"UUID"}, + "eventTime":{"shape":"Timestamp"}, + "eventType":{"shape":"TimelineEventType"}, + "eventUpdatedTime":{"shape":"Timestamp"}, + "incidentRecordArn":{"shape":"Arn"} + } + }, + "TimelineEventSort":{ + "type":"string", + "enum":["EVENT_TIME"] + }, + "TimelineEventType":{ + "type":"string", + "max":100, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "TriggerDetails":{ + "type":"structure", + "required":[ + "source", + "timestamp" + ], + "members":{ + "rawData":{"shape":"RawData"}, + "source":{"shape":"IncidentSource"}, + "timestamp":{"shape":"Timestamp"}, + "triggerArn":{"shape":"Arn"} + } + }, + "UUID":{ + "type":"string", + "max":50, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDeletionProtectionInput":{ + "type":"structure", + "required":[ + "arn", + "deletionProtected" + ], + "members":{ + "arn":{"shape":"Arn"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "deletionProtected":{"shape":"Boolean"} + } + }, + "UpdateDeletionProtectionOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateIncidentRecordInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"Arn"}, + "chatChannel":{"shape":"ChatChannel"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "impact":{"shape":"Impact"}, + "notificationTargets":{"shape":"NotificationTargetSet"}, + "status":{"shape":"IncidentRecordStatus"}, + "summary":{"shape":"IncidentSummary"}, + "title":{"shape":"IncidentTitle"} + } + }, + "UpdateIncidentRecordOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateRelatedItemsInput":{ + "type":"structure", + "required":[ + "incidentRecordArn", + "relatedItemsUpdate" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "incidentRecordArn":{"shape":"Arn"}, + "relatedItemsUpdate":{"shape":"RelatedItemsUpdate"} + } + }, + "UpdateRelatedItemsOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateReplicationSetAction":{ + "type":"structure", + "members":{ + "addRegionAction":{"shape":"AddRegionAction"}, + "deleteRegionAction":{"shape":"DeleteRegionAction"} + }, + "union":true + }, + "UpdateReplicationSetInput":{ + "type":"structure", + "required":[ + "actions", + "arn" + ], + "members":{ + "actions":{"shape":"UpdateReplicationSetInputActionsList"}, + "arn":{"shape":"Arn"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "UpdateReplicationSetInputActionsList":{ + "type":"list", + "member":{"shape":"UpdateReplicationSetAction"}, + "max":1, + "min":1 + }, + "UpdateReplicationSetOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateResponsePlanInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "actions":{"shape":"ActionsList"}, + "arn":{"shape":"Arn"}, + "chatChannel":{"shape":"ChatChannel"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "displayName":{"shape":"ResponsePlanDisplayName"}, + "engagements":{"shape":"EngagementSet"}, + "incidentTemplateDedupeString":{"shape":"DedupeString"}, + "incidentTemplateImpact":{"shape":"Impact"}, + "incidentTemplateNotificationTargets":{"shape":"NotificationTargetSet"}, + "incidentTemplateSummary":{"shape":"IncidentSummary"}, + "incidentTemplateTitle":{"shape":"IncidentTitle"} + } + }, + "UpdateResponsePlanOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateTimelineEventInput":{ + "type":"structure", + "required":[ + "clientToken", + "eventId", + "incidentRecordArn" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "eventData":{"shape":"EventData"}, + "eventId":{"shape":"UUID"}, + "eventTime":{"shape":"Timestamp"}, + "eventType":{"shape":"TimelineEventType"}, + "incidentRecordArn":{"shape":"Arn"} + } + }, + "UpdateTimelineEventOutput":{ + "type":"structure", + "members":{ + } + }, + "Url":{ + "type":"string", + "max":1000, + "min":0 + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/ssm-incidents/2018-05-10/docs-2.json b/models/apis/ssm-incidents/2018-05-10/docs-2.json new file mode 100644 index 00000000000..7c24e49baef --- /dev/null +++ b/models/apis/ssm-incidents/2018-05-10/docs-2.json @@ -0,0 +1,1100 @@ +{ + "version": "2.0", + "service": "

AWS Systems Manager Incident Manager is an incident management console designed to help users mitigate and recover from incidents affecting their AWS-hosted applications. An incident is any unplanned interruption or reduction in quality of services.

Incident Manager increases incident resolution by notifying responders of impact, highlighting relevant troubleshooting data, and providing collaboration tools to get services back up and running. To achieve the primary goal of reducing the time-to-resolution of critical incidents, Incident Manager automates response plans and enables responder team escalation.

", + "operations": { + "CreateReplicationSet": "

A replication set replicates and encrypts your data to the provided Regions with the provided KMS key.

", + "CreateResponsePlan": "

Creates a response plan that automates the initial response to incidents. A response plan engages contacts, starts chat channel collaboration, and initiates runbooks at the beginning of an incident.

", + "CreateTimelineEvent": "

Creates a custom timeline event on the incident details page of an incident record. Timeline events are automatically created by Incident Manager, marking key moment during an incident. You can create custom timeline events to mark important events that are automatically detected by Incident Manager.

", + "DeleteIncidentRecord": "

Delete an incident record from Incident Manager.

", + "DeleteReplicationSet": "

Deletes all Regions in your replication set. Deleting the replication set deletes all Incident Manager data.

", + "DeleteResourcePolicy": "

Deletes the resource policy that AWS Resource Access Manager uses to share your Incident Manager resource.

", + "DeleteResponsePlan": "

Deletes the specified response plan. Deleting a response plan stops all linked CloudWatch alarms and EventBridge events from creating an incident with this response plan.

", + "DeleteTimelineEvent": "

Deletes a timeline event from an incident.

", + "GetIncidentRecord": "

Returns the details of the specified incident record.

", + "GetReplicationSet": "

Retrieve your Incident Manager replication set.

", + "GetResourcePolicies": "

Retrieves the resource policies attached to the specified response plan.

", + "GetResponsePlan": "

Retrieves the details of the specified response plan.

", + "GetTimelineEvent": "

Retrieves a timeline event based on its ID and incident record.

", + "ListIncidentRecords": "

Lists all incident records in your account. Use this command to retrieve the Amazon Resource Name (ARN) of the incident record you want to update.

", + "ListRelatedItems": "

List all related items for an incident record.

", + "ListReplicationSets": "

Lists details about the replication set configured in your account.

", + "ListResponsePlans": "

Lists all response plans in your account.

", + "ListTagsForResource": "

Lists the tags that are attached to the specified response plan.

", + "ListTimelineEvents": "

Lists timeline events of the specified incident record.

", + "PutResourcePolicy": "

Adds a resource policy to the specified response plan.

", + "StartIncident": "

Used to start an incident from CloudWatch alarms, EventBridge events, or manually.

", + "TagResource": "

Adds a tag to a response plan.

", + "UntagResource": "

Removes a tag from a resource.

", + "UpdateDeletionProtection": "

Update deletion protection to either allow or deny deletion of the final Region in a replication set.

", + "UpdateIncidentRecord": "

Update the details of an incident record. You can use this action to update an incident record from the defined chat channel. For more information about using actions in chat channels, see Interacting through chat.

", + "UpdateRelatedItems": "

Add or remove related items from the related items tab of an incident record.

", + "UpdateReplicationSet": "

Add or delete Regions from your replication set.

", + "UpdateResponsePlan": "

Updates the specified response plan.

", + "UpdateTimelineEvent": "

Updates a timeline event. You can update events of type Custom Event.

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

You don't have sufficient access to perform this action.

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

The action that starts at the beginning of an incident. The response plan defines the action.

", + "refs": { + "ActionsList$member": null + } + }, + "ActionsList": { + "base": null, + "refs": { + "CreateResponsePlanInput$actions": "

The actions that the response plan starts at the beginning of an incident.

", + "GetResponsePlanOutput$actions": "

The actions that this response plan takes at the beginning of the incident.

", + "UpdateResponsePlanInput$actions": "

The actions that this response plan takes at the beginning of an incident.

" + } + }, + "AddRegionAction": { + "base": "

Defines the Region and KMS key to add to the replication set.

", + "refs": { + "UpdateReplicationSetAction$addRegionAction": "

Details about the Region that you're adding to the replication set.

" + } + }, + "Arn": { + "base": null, + "refs": { + "AutomationExecution$ssmExecutionArn": "

The Amazon Resource Name (ARN) of the automation process.

", + "CreateReplicationSetOutput$arn": "

The Amazon Resource Name (ARN) of the replication set.

", + "CreateResponsePlanOutput$arn": "

The Amazon Resource Name (ARN) of the response plan.

", + "CreateTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record you are adding the event to.

", + "CreateTimelineEventOutput$incidentRecordArn": "

The ARN of the incident record that you added the event to.

", + "DeleteIncidentRecordInput$arn": "

The Amazon Resource Name (ARN) of the incident record you are deleting.

", + "DeleteReplicationSetInput$arn": "

The Amazon Resource Name (ARN) of the replication set you're deleting.

", + "DeleteResourcePolicyInput$resourceArn": "

The Amazon Resource Name (ARN) of the resource you're deleting the policy from.

", + "DeleteResponsePlanInput$arn": "

The Amazon Resource Name (ARN) of the response plan.

", + "DeleteTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that the event is part of.

", + "EventSummary$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that the event happened during.

", + "GetIncidentRecordInput$arn": "

The Amazon Resource Name (ARN) of the incident record.

", + "GetReplicationSetInput$arn": "

The Amazon Resource Name (ARN) of the replication set you want to retrieve.

", + "GetResourcePoliciesInput$resourceArn": "

The Amazon Resource Name (ARN) of the response plan with the attached resource policy.

", + "GetResponsePlanInput$arn": "

The Amazon Resource Name (ARN) of the response plan.

", + "GetResponsePlanOutput$arn": "

The ARN of the response plan.

", + "GetTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that the timeline event is part of.

", + "IncidentRecord$arn": "

The Amazon Resource Name (ARN) of the incident record.

", + "IncidentRecord$lastModifiedBy": "

Who modified the incident most recently.

", + "IncidentRecordSource$createdBy": "

The principal that started the incident.

", + "IncidentRecordSource$invokedBy": "

The principal the assumed the role specified of the createdBy.

", + "IncidentRecordSource$resourceArn": "

The resource that caused the incident to be created.

", + "IncidentRecordSummary$arn": "

The Amazon Resource Name (ARN) of the incident.

", + "ItemValue$arn": "

The Amazon Resource Name (ARN) of the related item, if the related item is an Amazon resource.

", + "ListRelatedItemsInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record that you are listing related items for.

", + "ListTimelineEventsInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that the event is part of.

", + "NotificationTargetItem$snsTopicArn": "

The Amazon Resource Name (ARN) of the SNS topic.

", + "PutResourcePolicyInput$resourceArn": "

The Amazon Resource Name (ARN) of the response plan you're adding the resource policy to.

", + "ReplicationSet$createdBy": "

Details about who created the replication set.

", + "ReplicationSet$lastModifiedBy": "

Who last modified the replication set.

", + "ReplicationSetArnList$member": null, + "ResponsePlanSummary$arn": "

The Amazon Resource Name (ARN) of the response plan.

", + "StartIncidentInput$responsePlanArn": "

The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat channels, SNS topics, runbooks, title, and impact of the incident.

", + "StartIncidentOutput$incidentRecordArn": "

The ARN of the newly created incident record.

", + "TimelineEvent$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that the event occurred during.

", + "TriggerDetails$triggerArn": "

The ARN of the source that detected the incident.

", + "UpdateDeletionProtectionInput$arn": "

The Amazon Resource Name (ARN) of the replication set you're updating.

", + "UpdateIncidentRecordInput$arn": "

The Amazon Resource Name (ARN) of the incident record you are updating.

", + "UpdateRelatedItemsInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record you are updating related items in.

", + "UpdateReplicationSetInput$arn": "

The Amazon Resource Name (ARN) of the replication set you're updating.

", + "UpdateResponsePlanInput$arn": "

The Amazon Resource Name (ARN) of the response plan.

", + "UpdateTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that the timeline event is part of.

" + } + }, + "AttributeValueList": { + "base": "

Use the AttributeValueList to filter by string or integer values.

", + "refs": { + "Condition$equals": "

The value is equal to the provided string or integer.

" + } + }, + "AutomationExecution": { + "base": "

The Systems Manager automation document process to start as the runbook at the beginning of the incident.

", + "refs": { + "AutomationExecutionSet$member": null + } + }, + "AutomationExecutionSet": { + "base": null, + "refs": { + "IncidentRecord$automationExecutions": "

The runbook, or automation document, that's run at the beginning of the incident.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "ReplicationSet$deletionProtected": "

Determines if the replication set deletion protection is enabled or not. If deletion protection is enabled, you can't delete the last Region in the replication set.

", + "UpdateDeletionProtectionInput$deletionProtected": "

Details if deletion protection is enabled or disabled in your account.

" + } + }, + "ChatChannel": { + "base": "

The AWS Chatbot chat channel used for collaboration during an incident.

", + "refs": { + "CreateResponsePlanInput$chatChannel": "

The AWS Chatbot chat channel used for collaboration during an incident.

", + "GetResponsePlanOutput$chatChannel": "

The AWS Chatbot chat channel used for collaboration during an incident.

", + "IncidentRecord$chatChannel": "

The chat channel used for collaboration during an incident.

", + "UpdateIncidentRecordInput$chatChannel": "

The AWS Chatbot chat channel for responders to collaborate in.

", + "UpdateResponsePlanInput$chatChannel": "

The AWS Chatbot chat channel used for collaboration during an incident.

" + } + }, + "ChatbotSnsConfigurationSet": { + "base": null, + "refs": { + "ChatChannel$chatbotSns": "

The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel by using the SNS topics.

" + } + }, + "ClientToken": { + "base": null, + "refs": { + "CreateReplicationSetInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "CreateResponsePlanInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "CreateTimelineEventInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "StartIncidentInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "UpdateDeletionProtectionInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "UpdateIncidentRecordInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "UpdateRelatedItemsInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "UpdateReplicationSetInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "UpdateResponsePlanInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "UpdateTimelineEventInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

" + } + }, + "Condition": { + "base": "

A conditional statement with which to compare a value, after a timestamp, before a timestamp, or equal to a string or integer. If multiple conditions are specified, the conditionals become an ANDed statement. If multiple values are specified for a conditional, the values are ORd.

", + "refs": { + "Filter$condition": "

The condition accepts before or after a specified time, equal to a string, or equal to an integer.

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

Updating or deleting a resource causes an inconsistent state.

", + "refs": { + } + }, + "CreateReplicationSetInput": { + "base": null, + "refs": { + } + }, + "CreateReplicationSetOutput": { + "base": null, + "refs": { + } + }, + "CreateResponsePlanInput": { + "base": null, + "refs": { + } + }, + "CreateResponsePlanOutput": { + "base": null, + "refs": { + } + }, + "CreateTimelineEventInput": { + "base": null, + "refs": { + } + }, + "CreateTimelineEventOutput": { + "base": null, + "refs": { + } + }, + "DedupeString": { + "base": null, + "refs": { + "IncidentRecord$dedupeString": "

The string Incident Manager uses to prevent duplicate incidents from being created by the same incident.

", + "IncidentTemplate$dedupeString": "

Used to stop Incident Manager from creating multiple incident records for the same incident.

", + "UpdateResponsePlanInput$incidentTemplateDedupeString": "

Used to create only one incident record for an incident.

" + } + }, + "DeleteIncidentRecordInput": { + "base": null, + "refs": { + } + }, + "DeleteIncidentRecordOutput": { + "base": null, + "refs": { + } + }, + "DeleteRegionAction": { + "base": "

Defines the information about the Region you're deleting from your replication set.

", + "refs": { + "UpdateReplicationSetAction$deleteRegionAction": "

Details about the Region that you're deleting to the replication set.

" + } + }, + "DeleteReplicationSetInput": { + "base": null, + "refs": { + } + }, + "DeleteReplicationSetOutput": { + "base": null, + "refs": { + } + }, + "DeleteResourcePolicyInput": { + "base": null, + "refs": { + } + }, + "DeleteResourcePolicyOutput": { + "base": null, + "refs": { + } + }, + "DeleteResponsePlanInput": { + "base": null, + "refs": { + } + }, + "DeleteResponsePlanOutput": { + "base": null, + "refs": { + } + }, + "DeleteTimelineEventInput": { + "base": null, + "refs": { + } + }, + "DeleteTimelineEventOutput": { + "base": null, + "refs": { + } + }, + "EmptyChatChannel": { + "base": "

Used to remove the chat channel from an incident record or response plan.

", + "refs": { + "ChatChannel$empty": "

Used to remove the chat channel from an incident record or response plan.

" + } + }, + "EngagementSet": { + "base": null, + "refs": { + "CreateResponsePlanInput$engagements": "

The contacts and escalation plans that the response plan engages during an incident.

", + "GetResponsePlanOutput$engagements": "

The contacts and escalation plans that the response plan engages during an incident.

", + "UpdateResponsePlanInput$engagements": "

The contacts and escalation plans that Incident Manager engages at the start of the incident.

" + } + }, + "EventData": { + "base": null, + "refs": { + "CreateTimelineEventInput$eventData": "

A short description of the event.

", + "TimelineEvent$eventData": "

A short description of the event.

", + "UpdateTimelineEventInput$eventData": "

A short description of the event.

" + } + }, + "EventSummary": { + "base": "

Details about a timeline event during an incident.

", + "refs": { + "EventSummaryList$member": null + } + }, + "EventSummaryList": { + "base": null, + "refs": { + "ListTimelineEventsOutput$eventSummaries": "

Details about each event that occurred during the incident.

" + } + }, + "ExceptionMessage": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "ThrottlingException$message": null, + "ValidationException$message": null + } + }, + "Filter": { + "base": "

Filter the selection by using a condition.

", + "refs": { + "FilterList$member": null + } + }, + "FilterKeyString": { + "base": null, + "refs": { + "Filter$key": "

The key that you're filtering on.

" + } + }, + "FilterList": { + "base": null, + "refs": { + "ListIncidentRecordsInput$filters": "

Filter the list of incident records you are searching through. You can filter on the following keys:

", + "ListTimelineEventsInput$filters": "

Filters the timeline events based on the provided conditional values. You can filter timeline events using the following keys:

" + } + }, + "GetIncidentRecordInput": { + "base": null, + "refs": { + } + }, + "GetIncidentRecordOutput": { + "base": null, + "refs": { + } + }, + "GetReplicationSetInput": { + "base": null, + "refs": { + } + }, + "GetReplicationSetOutput": { + "base": null, + "refs": { + } + }, + "GetResourcePoliciesInput": { + "base": null, + "refs": { + } + }, + "GetResourcePoliciesOutput": { + "base": null, + "refs": { + } + }, + "GetResponsePlanInput": { + "base": null, + "refs": { + } + }, + "GetResponsePlanOutput": { + "base": null, + "refs": { + } + }, + "GetTimelineEventInput": { + "base": null, + "refs": { + } + }, + "GetTimelineEventOutput": { + "base": null, + "refs": { + } + }, + "Impact": { + "base": null, + "refs": { + "IncidentRecord$impact": "

The impact of the incident on customers and applications.

", + "IncidentRecordSummary$impact": "

Defines the impact to customers and applications.

", + "IncidentTemplate$impact": "

The impact of the incident on your customers and applications.

", + "StartIncidentInput$impact": "

Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.

Possible impacts:

", + "UpdateIncidentRecordInput$impact": "

Defines the impact to customers and applications. Providing an impact overwrites the impact provided by the response plan.

Possible impacts:

", + "UpdateResponsePlanInput$incidentTemplateImpact": "

Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.

Possible impacts:

" + } + }, + "IncidentRecord": { + "base": "

The record of the incident that's created when an incident occurs.

", + "refs": { + "GetIncidentRecordOutput$incidentRecord": "

Details structure of the incident record.

" + } + }, + "IncidentRecordSource": { + "base": "

Details about how the incident record was created and when.

", + "refs": { + "IncidentRecord$incidentRecordSource": "

Details about the action that started the incident.

", + "IncidentRecordSummary$incidentRecordSource": "

What caused Incident Manager to create the incident.

" + } + }, + "IncidentRecordStatus": { + "base": null, + "refs": { + "IncidentRecord$status": "

The current status of the incident.

", + "IncidentRecordSummary$status": "

The current status of the incident.

", + "UpdateIncidentRecordInput$status": "

The status of the incident. An incident can be Open or Resolved.

" + } + }, + "IncidentRecordSummary": { + "base": "

Details describing an incident record.

", + "refs": { + "IncidentRecordSummaryList$member": null + } + }, + "IncidentRecordSummaryList": { + "base": null, + "refs": { + "ListIncidentRecordsOutput$incidentRecordSummaries": "

The details of each listed incident record.

" + } + }, + "IncidentSource": { + "base": null, + "refs": { + "IncidentRecordSource$source": "

The service that started the incident. This can be manually created from Incident Manager, automatically created using an AWS CloudWatch alarm, or Amazon EventBridge event.

", + "TriggerDetails$source": "

Identifies the service that sourced the event. All events sourced from within AWS begin with \"aws.\" Customer-generated events can have any value here, as long as it doesn't begin with \"aws.\" We recommend the use of Java package-name style reverse domain-name strings.

" + } + }, + "IncidentSummary": { + "base": null, + "refs": { + "IncidentRecord$summary": "

The summary of the incident. The summary is a brief synopsis of what occurred, what is currently happening, and context.

", + "IncidentTemplate$summary": "

The summary of the incident. The summary is a brief synopsis of what occurred, what's currently happening, and context.

", + "UpdateIncidentRecordInput$summary": "

The summary describes what has happened during the incident.

", + "UpdateResponsePlanInput$incidentTemplateSummary": "

A brief summary of the incident. This typically contains what has happened, what's currently happening, and next steps.

" + } + }, + "IncidentTemplate": { + "base": "

Basic details used in creating a response plan. The response plan is then used to create an incident record.

", + "refs": { + "CreateResponsePlanInput$incidentTemplate": "

Details used to create an incident when using this response plan.

", + "GetResponsePlanOutput$incidentTemplate": "

Details used to create the incident when using this response plan.

" + } + }, + "IncidentTitle": { + "base": null, + "refs": { + "IncidentRecord$title": "

The title of the incident.

", + "IncidentRecordSummary$title": "

The title of the incident. This value is either provided by the response plan or overwritten on creation.

", + "IncidentTemplate$title": "

The title of the incident.

", + "StartIncidentInput$title": "

Provide a title for the incident. Providing a title overwrites the title provided by the response plan.

", + "UpdateIncidentRecordInput$title": "

The title of the incident is a brief and easily recognizable.

", + "UpdateResponsePlanInput$incidentTemplateTitle": "

The short format name of the incident. Can't contain spaces.

" + } + }, + "Integer": { + "base": null, + "refs": { + "IntegerList$member": null + } + }, + "IntegerList": { + "base": null, + "refs": { + "AttributeValueList$integerValues": "

The list of integer values that the filter matches.

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

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

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

Details and type of a related item.

", + "refs": { + "RelatedItem$identifier": "

Details about the related item.

", + "RelatedItemsUpdate$itemToRemove": "

Details about the related item you're deleting.

" + } + }, + "ItemType": { + "base": null, + "refs": { + "ItemIdentifier$type": "

The type of related item. Incident Manager supports the following types:

" + } + }, + "ItemValue": { + "base": "

Describes a related item.

", + "refs": { + "ItemIdentifier$value": "

Details about the related item.

" + } + }, + "ListIncidentRecordsInput": { + "base": null, + "refs": { + } + }, + "ListIncidentRecordsOutput": { + "base": null, + "refs": { + } + }, + "ListRelatedItemsInput": { + "base": null, + "refs": { + } + }, + "ListRelatedItemsOutput": { + "base": null, + "refs": { + } + }, + "ListReplicationSetsInput": { + "base": null, + "refs": { + } + }, + "ListReplicationSetsOutput": { + "base": null, + "refs": { + } + }, + "ListResponsePlansInput": { + "base": null, + "refs": { + } + }, + "ListResponsePlansOutput": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTimelineEventsInput": { + "base": null, + "refs": { + } + }, + "ListTimelineEventsOutput": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "GetResourcePoliciesInput$maxResults": "

The maximum number of resource policies to display per page of results.

", + "ListIncidentRecordsInput$maxResults": "

The maximum number of results per page.

", + "ListRelatedItemsInput$maxResults": "

The maximum number of related items per page.

", + "ListReplicationSetsInput$maxResults": "

The maximum number of results per page.

", + "ListResponsePlansInput$maxResults": "

The maximum number of response plans per page.

", + "ListTimelineEventsInput$maxResults": "

The maximum number of results per page.

" + } + }, + "MetricDefinition": { + "base": null, + "refs": { + "ItemValue$metricDefinition": "

The metric definition, if the related item is a metric in CloudWatch.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "GetResourcePoliciesInput$nextToken": "

The pagination token to continue to the next page of results.

", + "GetResourcePoliciesOutput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListIncidentRecordsInput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListIncidentRecordsOutput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListRelatedItemsInput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListRelatedItemsOutput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListReplicationSetsInput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListReplicationSetsOutput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListResponsePlansInput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListResponsePlansOutput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListTimelineEventsInput$nextToken": "

The pagination token to continue to the next page of results.

", + "ListTimelineEventsOutput$nextToken": "

The pagination token to continue to the next page of results.

" + } + }, + "NotificationTargetItem": { + "base": "

The SNS topic that's used by AWS Chatbot to notify the incidents chat channel.

", + "refs": { + "NotificationTargetSet$member": null + } + }, + "NotificationTargetSet": { + "base": null, + "refs": { + "IncidentRecord$notificationTargets": "

The SNS targets that AWS Chatbot uses to notify the chat channels and perform actions on the incident record.

", + "IncidentTemplate$notificationTargets": "

The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel using the SNS topics.

", + "UpdateIncidentRecordInput$notificationTargets": "

The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel using the SNS topics.

Using multiple SNS topics creates redundancy in the case that a Region is down during the incident.

", + "UpdateResponsePlanInput$incidentTemplateNotificationTargets": "

The SNS targets that AWS Chatbot uses to notify the chat channels and perform actions on the incident record.

" + } + }, + "Policy": { + "base": null, + "refs": { + "PutResourcePolicyInput$policy": "

Details of the resource policy.

", + "ResourcePolicy$policyDocument": "

The JSON blob that describes the policy.

" + } + }, + "PolicyId": { + "base": null, + "refs": { + "DeleteResourcePolicyInput$policyId": "

The ID of the resource policy you're deleting.

", + "PutResourcePolicyOutput$policyId": "

The ID of the resource policy.

", + "ResourcePolicy$policyId": "

The ID of the resource policy.

" + } + }, + "PutResourcePolicyInput": { + "base": null, + "refs": { + } + }, + "PutResourcePolicyOutput": { + "base": null, + "refs": { + } + }, + "RawData": { + "base": null, + "refs": { + "TriggerDetails$rawData": "

Raw data passed from either EventBridge, CloudWatch, or Incident Manager when an incident is created.

" + } + }, + "RegionInfo": { + "base": "

Information about a Region in your replication set.

", + "refs": { + "RegionInfoMap$value": null + } + }, + "RegionInfoMap": { + "base": null, + "refs": { + "ReplicationSet$regionMap": "

The map between each Region in your replication set and the KMS key that is used to encrypt the data in that Region.

" + } + }, + "RegionMapInput": { + "base": null, + "refs": { + "CreateReplicationSetInput$regions": "

The Regions that Incident Manager replicates your data to. You can have up to three Regions in your replication set.

" + } + }, + "RegionMapInputValue": { + "base": "

The mapping between a Region and the key that's used to encrypt the data.

", + "refs": { + "RegionMapInput$value": null + } + }, + "RegionName": { + "base": null, + "refs": { + "AddRegionAction$regionName": "

The Region name to add to the replication set.

", + "DeleteRegionAction$regionName": "

The name of the Region you're deleting from the replication set.

", + "RegionInfoMap$key": null, + "RegionMapInput$key": null + } + }, + "RegionStatus": { + "base": null, + "refs": { + "RegionInfo$status": "

The status of the Region in the replication set.

" + } + }, + "RelatedItem": { + "base": "

Resources that responders use to triage and mitigate the incident.

", + "refs": { + "RelatedItemList$member": null, + "RelatedItemsUpdate$itemToAdd": "

Details about the related item you're adding.

" + } + }, + "RelatedItemList": { + "base": null, + "refs": { + "ListRelatedItemsOutput$relatedItems": "

Details about each related item.

", + "StartIncidentInput$relatedItems": "

Add related items to the incident for other responders to use. Related items are AWS resources, external links, or files uploaded to an S3 bucket.

" + } + }, + "RelatedItemTitleString": { + "base": null, + "refs": { + "RelatedItem$title": "

The title of the related item.

" + } + }, + "RelatedItemsUpdate": { + "base": "

Details about the related item you're adding.

", + "refs": { + "UpdateRelatedItemsInput$relatedItemsUpdate": "

Details about the item you are adding or deleting.

" + } + }, + "ReplicationSet": { + "base": "

The set of Regions that your Incident Manager data will be replicated to and the KMS key used to encrypt the data.

", + "refs": { + "GetReplicationSetOutput$replicationSet": "

Details of the replication set.

" + } + }, + "ReplicationSetArnList": { + "base": null, + "refs": { + "ListReplicationSetsOutput$replicationSetArns": "

The Amazon Resource Name (ARN) of the list replication set.

" + } + }, + "ReplicationSetStatus": { + "base": null, + "refs": { + "ReplicationSet$status": "

The status of the replication set. If the replication set is still pending, you can't use Incident Manager functionality.

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

Request references a resource which does not exist.

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

The resource policy that allows Incident Manager to perform actions on resources on your behalf.

", + "refs": { + "ResourcePolicyList$member": null + } + }, + "ResourcePolicyList": { + "base": null, + "refs": { + "GetResourcePoliciesOutput$resourcePolicies": "

Details about the resource policy attached to the response plan.

" + } + }, + "ResourceType": { + "base": null, + "refs": { + "ConflictException$resourceType": "

The resource type

", + "ResourceNotFoundException$resourceType": "

The resource type

", + "ServiceQuotaExceededException$resourceType": "

The resource type

" + } + }, + "ResponsePlanDisplayName": { + "base": null, + "refs": { + "CreateResponsePlanInput$displayName": "

The long format of the response plan name. This field can contain spaces.

", + "GetResponsePlanOutput$displayName": "

The long format name of the response plan. Can contain spaces.

", + "ResponsePlanSummary$displayName": "

The human readable name of the response plan. This can include spaces.

", + "UpdateResponsePlanInput$displayName": "

The long format name of the response plan. Can't contain spaces.

" + } + }, + "ResponsePlanName": { + "base": null, + "refs": { + "CreateResponsePlanInput$name": "

The short format name of the response plan. Can't include spaces.

", + "GetResponsePlanOutput$name": "

The short format name of the response plan. Can't contain spaces.

", + "ResponsePlanSummary$name": "

The name of the response plan. This can't include spaces.

" + } + }, + "ResponsePlanSummary": { + "base": "

Details of the response plan that are used when creating an incident.

", + "refs": { + "ResponsePlanSummaryList$member": null + } + }, + "ResponsePlanSummaryList": { + "base": null, + "refs": { + "ListResponsePlansOutput$responsePlanSummaries": "

Details of each response plan.

" + } + }, + "RoleArn": { + "base": null, + "refs": { + "SsmAutomation$roleArn": "

The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.

" + } + }, + "ServiceCode": { + "base": null, + "refs": { + "ServiceQuotaExceededException$serviceCode": "

Originating service code

", + "ThrottlingException$serviceCode": "

Originating service code

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

Request would cause a service quota to be exceeded.

", + "refs": { + } + }, + "SnsArn": { + "base": null, + "refs": { + "ChatbotSnsConfigurationSet$member": null + } + }, + "SortOrder": { + "base": null, + "refs": { + "ListTimelineEventsInput$sortOrder": "

Sorts the order of timeline events by the value specified in the sortBy field.

" + } + }, + "SseKmsKey": { + "base": null, + "refs": { + "AddRegionAction$sseKmsKeyId": "

The KMS key ID to use to encrypt your replication set.

", + "RegionInfo$sseKmsKeyId": "

The ID of the KMS key used to encrypt the data in this Region.

", + "RegionMapInputValue$sseKmsKeyId": "

The KMS key used to encrypt the data in your replication set.

" + } + }, + "SsmAutomation": { + "base": "

Details about the Systems Manager automation document that will be used as a runbook during an incident.

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

The Systems Manager automation document to start as the runbook at the beginning of the incident.

" + } + }, + "SsmAutomationDocumentNameString": { + "base": null, + "refs": { + "SsmAutomation$documentName": "

The automation document's name.

" + } + }, + "SsmAutomationDocumentVersionString": { + "base": null, + "refs": { + "SsmAutomation$documentVersion": "

The automation document's version to use when running.

" + } + }, + "SsmContactsArn": { + "base": null, + "refs": { + "EngagementSet$member": null + } + }, + "SsmParameterValues": { + "base": null, + "refs": { + "SsmParameters$value": null + } + }, + "SsmParameterValuesMemberString": { + "base": null, + "refs": { + "SsmParameterValues$member": null + } + }, + "SsmParameters": { + "base": null, + "refs": { + "SsmAutomation$parameters": "

The key-value pair parameters to use when running the automation document.

" + } + }, + "SsmParametersKeyString": { + "base": null, + "refs": { + "SsmParameters$key": null + } + }, + "SsmTargetAccount": { + "base": null, + "refs": { + "SsmAutomation$targetAccount": "

The account that the automation document will be run in. This can be in either the management account or an application account.

" + } + }, + "StartIncidentInput": { + "base": null, + "refs": { + } + }, + "StartIncidentOutput": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "ConflictException$resourceIdentifier": "

The identifier of the requested resource

", + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the response plan.

", + "RegionInfo$statusMessage": "

Information displayed about the status of the Region.

", + "ResourceNotFoundException$resourceIdentifier": "

The identifier for the requested resource

", + "ResourcePolicy$ramResourceShareRegion": "

The Region that policy allows resources to be used in.

", + "ServiceQuotaExceededException$quotaCode": "

Originating quota code

", + "ServiceQuotaExceededException$resourceIdentifier": "

The identifier for the requested resource

", + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the response plan you're adding the tags to.

", + "ThrottlingException$quotaCode": "

Originating quota code

", + "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the response plan you're removing a tag from.

" + } + }, + "StringList": { + "base": null, + "refs": { + "AttributeValueList$stringValues": "

The list of string values that the filter matches.

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

The name of the tag you're removing from the response plan.

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

A list of tags that you are adding to the response plan.

", + "ListTagsForResourceResponse$tags": "

A list of tags for the response plan.

", + "TagResourceRequest$tags": "

A list of tags that you are adding to the response plan.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "ThrottlingException": { + "base": "

The request was denied due to request throttling.

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

A significant event that happened during the incident.

", + "refs": { + "GetTimelineEventOutput$event": "

Details about the timeline event.

" + } + }, + "TimelineEventSort": { + "base": null, + "refs": { + "ListTimelineEventsInput$sortBy": "

Sort by the specified key value pair.

" + } + }, + "TimelineEventType": { + "base": null, + "refs": { + "CreateTimelineEventInput$eventType": "

The type of the event. You can create timeline events of type Custom Event.

", + "EventSummary$eventType": "

The type of event. The timeline event must be Custom Event.

", + "TimelineEvent$eventType": "

The type of event that occurred. Currently Incident Manager supports only the Custom Event type.

", + "UpdateTimelineEventInput$eventType": "

The type of the event. You can update events of type Custom Event.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "Condition$after": "

After the specified timestamp.

", + "Condition$before": "

Before the specified timestamp

", + "CreateTimelineEventInput$eventTime": "

The time that the event occurred.

", + "EventSummary$eventTime": "

The time that the event occurred.

", + "EventSummary$eventUpdatedTime": "

The time that the timeline event was last updated.

", + "IncidentRecord$creationTime": "

The time that Incident Manager created the incident record.

", + "IncidentRecord$lastModifiedTime": "

The time at which the incident was most recently modified.

", + "IncidentRecord$resolvedTime": "

The time at which the incident was resolved. This appears as a timeline event.

", + "IncidentRecordSummary$creationTime": "

The time the incident was created.

", + "IncidentRecordSummary$resolvedTime": "

The time the incident was resolved.

", + "RegionInfo$statusUpdateDateTime": "

The most recent date and time that the Region's status was updated.

", + "ReplicationSet$createdTime": "

When the replication set was created.

", + "ReplicationSet$lastModifiedTime": "

When the replication set was last updated.

", + "TimelineEvent$eventTime": "

The time that the event occurred.

", + "TimelineEvent$eventUpdatedTime": "

The time that the timeline event was last updated.

", + "TriggerDetails$timestamp": "

The time that the incident was detected.

", + "UpdateTimelineEventInput$eventTime": "

The time that the event occurred.

" + } + }, + "TriggerDetails": { + "base": "

Details about what caused the incident to be created in Incident Manager.

", + "refs": { + "StartIncidentInput$triggerDetails": "

Details of what created the incident record in Incident Manager.

" + } + }, + "UUID": { + "base": null, + "refs": { + "CreateTimelineEventOutput$eventId": "

The ID of the event for easy reference later.

", + "DeleteTimelineEventInput$eventId": "

The ID of the event you are updating. You can find this by using ListTimelineEvents.

", + "EventSummary$eventId": "

The timeline event ID.

", + "GetTimelineEventInput$eventId": "

The ID of the event. You can get an event's ID when you create it or by using ListTimelineEvents.

", + "TimelineEvent$eventId": "

The ID of the timeline event.

", + "UpdateTimelineEventInput$eventId": "

The ID of the event you are updating. You can find this by using ListTimelineEvents.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateDeletionProtectionInput": { + "base": null, + "refs": { + } + }, + "UpdateDeletionProtectionOutput": { + "base": null, + "refs": { + } + }, + "UpdateIncidentRecordInput": { + "base": null, + "refs": { + } + }, + "UpdateIncidentRecordOutput": { + "base": null, + "refs": { + } + }, + "UpdateRelatedItemsInput": { + "base": null, + "refs": { + } + }, + "UpdateRelatedItemsOutput": { + "base": null, + "refs": { + } + }, + "UpdateReplicationSetAction": { + "base": "

Details used when updating the replication set.

", + "refs": { + "UpdateReplicationSetInputActionsList$member": null + } + }, + "UpdateReplicationSetInput": { + "base": null, + "refs": { + } + }, + "UpdateReplicationSetInputActionsList": { + "base": null, + "refs": { + "UpdateReplicationSetInput$actions": "

An action to add or delete a Region.

" + } + }, + "UpdateReplicationSetOutput": { + "base": null, + "refs": { + } + }, + "UpdateResponsePlanInput": { + "base": null, + "refs": { + } + }, + "UpdateResponsePlanOutput": { + "base": null, + "refs": { + } + }, + "UpdateTimelineEventInput": { + "base": null, + "refs": { + } + }, + "UpdateTimelineEventOutput": { + "base": null, + "refs": { + } + }, + "Url": { + "base": null, + "refs": { + "ItemValue$url": "

The URL, if the related item is a non-AWS resource.

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

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

", + "refs": { + } + } + } +} diff --git a/models/apis/ssm-incidents/2018-05-10/examples-1.json b/models/apis/ssm-incidents/2018-05-10/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/ssm-incidents/2018-05-10/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/ssm-incidents/2018-05-10/paginators-1.json b/models/apis/ssm-incidents/2018-05-10/paginators-1.json new file mode 100644 index 00000000000..9a2433c8926 --- /dev/null +++ b/models/apis/ssm-incidents/2018-05-10/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "GetResourcePolicies": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "resourcePolicies" + }, + "ListIncidentRecords": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "incidentRecordSummaries" + }, + "ListRelatedItems": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "relatedItems" + }, + "ListReplicationSets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "replicationSetArns" + }, + "ListResponsePlans": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "responsePlanSummaries" + }, + "ListTimelineEvents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "eventSummaries" + } + } +} diff --git a/models/apis/ssm-incidents/2018-05-10/waiters-2.json b/models/apis/ssm-incidents/2018-05-10/waiters-2.json new file mode 100644 index 00000000000..47c19b3a70c --- /dev/null +++ b/models/apis/ssm-incidents/2018-05-10/waiters-2.json @@ -0,0 +1,53 @@ +{ + "version" : 2, + "waiters" : { + "WaitForReplicationSetActive" : { + "description" : "Wait for a replication set to become ACTIVE", + "delay" : 30, + "maxAttempts" : 5, + "operation" : "GetReplicationSet", + "acceptors" : [ { + "matcher" : "path", + "argument" : "replicationSet.status", + "state" : "success", + "expected" : "ACTIVE" + }, { + "matcher" : "path", + "argument" : "replicationSet.status", + "state" : "retry", + "expected" : "CREATING" + }, { + "matcher" : "path", + "argument" : "replicationSet.status", + "state" : "retry", + "expected" : "UPDATING" + }, { + "matcher" : "path", + "argument" : "replicationSet.status", + "state" : "failure", + "expected" : "FAILED" + } ] + }, + "WaitForReplicationSetDeleted" : { + "description" : "Wait for a replication set to be deleted", + "delay" : 30, + "maxAttempts" : 5, + "operation" : "GetReplicationSet", + "acceptors" : [ { + "matcher" : "error", + "state" : "success", + "expected" : "ResourceNotFoundException" + }, { + "matcher" : "path", + "argument" : "replicationSet.status", + "state" : "retry", + "expected" : "DELETING" + }, { + "matcher" : "path", + "argument" : "replicationSet.status", + "state" : "failure", + "expected" : "FAILED" + } ] + } + } +} \ No newline at end of file diff --git a/models/apis/transcribe-streaming/2017-10-26/api-2.json b/models/apis/transcribe-streaming/2017-10-26/api-2.json index a31cc22c368..c291286c42e 100755 --- a/models/apis/transcribe-streaming/2017-10-26/api-2.json +++ b/models/apis/transcribe-streaming/2017-10-26/api-2.json @@ -112,7 +112,8 @@ "Content":{"shape":"String"}, "VocabularyFilterMatch":{"shape":"Boolean"}, "Speaker":{"shape":"String"}, - "Confidence":{"shape":"Confidence"} + "Confidence":{"shape":"Confidence"}, + "Stable":{"shape":"Stable"} } }, "ItemList":{ @@ -253,6 +254,14 @@ "type":"integer", "min":2 }, + "PartialResultsStability":{ + "type":"string", + "enum":[ + "high", + "medium", + "low" + ] + }, "RequestId":{"type":"string"}, "Result":{ "type":"structure", @@ -294,6 +303,7 @@ "UROLOGY" ] }, + "Stable":{"type":"boolean"}, "StartMedicalStreamTranscriptionRequest":{ "type":"structure", "required":[ @@ -490,6 +500,16 @@ "shape":"NumberOfChannels", "location":"header", "locationName":"x-amzn-transcribe-number-of-channels" + }, + "EnablePartialResultsStabilization":{ + "shape":"Boolean", + "location":"header", + "locationName":"x-amzn-transcribe-enable-partial-results-stabilization" + }, + "PartialResultsStability":{ + "shape":"PartialResultsStability", + "location":"header", + "locationName":"x-amzn-transcribe-partial-results-stability" } }, "payload":"AudioStream" @@ -552,6 +572,16 @@ "shape":"NumberOfChannels", "location":"header", "locationName":"x-amzn-transcribe-number-of-channels" + }, + "EnablePartialResultsStabilization":{ + "shape":"Boolean", + "location":"header", + "locationName":"x-amzn-transcribe-enable-partial-results-stabilization" + }, + "PartialResultsStability":{ + "shape":"PartialResultsStability", + "location":"header", + "locationName":"x-amzn-transcribe-partial-results-stability" } }, "payload":"TranscriptResultStream" diff --git a/models/apis/transcribe-streaming/2017-10-26/docs-2.json b/models/apis/transcribe-streaming/2017-10-26/docs-2.json index dac6d17791f..11bbd4d81d5 100755 --- a/models/apis/transcribe-streaming/2017-10-26/docs-2.json +++ b/models/apis/transcribe-streaming/2017-10-26/docs-2.json @@ -56,8 +56,10 @@ "StartMedicalStreamTranscriptionResponse$EnableChannelIdentification": "

Shows whether channel identification has been enabled in the stream.

", "StartStreamTranscriptionRequest$ShowSpeakerLabel": "

When true, enables speaker identification in your real-time stream.

", "StartStreamTranscriptionRequest$EnableChannelIdentification": "

When true, instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

Amazon Transcribe also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.

You can't set both ShowSpeakerLabel and EnableChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

", + "StartStreamTranscriptionRequest$EnablePartialResultsStabilization": "

When true, instructs Amazon Transcribe to present transcription results that have the partial results stabilized. Normally, any word or phrase from one partial result can change in a subsequent partial result. With partial results stabilization enabled, only the last few words of one partial result can change in another partial result.

", "StartStreamTranscriptionResponse$ShowSpeakerLabel": "

Shows whether speaker identification was enabled in the stream.

", - "StartStreamTranscriptionResponse$EnableChannelIdentification": "

Shows whether channel identification has been enabled in the stream.

" + "StartStreamTranscriptionResponse$EnableChannelIdentification": "

Shows whether channel identification has been enabled in the stream.

", + "StartStreamTranscriptionResponse$EnablePartialResultsStabilization": "

Shows whether partial results stabilization has been enabled in the stream.

" } }, "Confidence": { @@ -232,6 +234,13 @@ "StartStreamTranscriptionResponse$NumberOfChannels": "

The number of channels identified in the stream.

" } }, + "PartialResultsStability": { + "base": null, + "refs": { + "StartStreamTranscriptionRequest$PartialResultsStability": "

You can use this field to set the stability level of the transcription results. A higher stability level means that the transcription results are less likely to change. Higher stability levels can come with lower overall transcription accuracy.

", + "StartStreamTranscriptionResponse$PartialResultsStability": "

If partial results stabilization has been enabled in the stream, shows the stability level.

" + } + }, "RequestId": { "base": null, "refs": { @@ -274,6 +283,12 @@ "StartMedicalStreamTranscriptionResponse$Specialty": "

The specialty in the medical domain.

" } }, + "Stable": { + "base": null, + "refs": { + "Item$Stable": "

If partial result stabilization has been enabled, indicates whether the word or phrase in the item is stable. If Stable is true, the result is stable.

" + } + }, "StartMedicalStreamTranscriptionRequest": { "base": null, "refs": { diff --git a/service/s3control/api.go b/service/s3control/api.go index 3b8b714a0af..009cbc28219 100644 --- a/service/s3control/api.go +++ b/service/s3control/api.go @@ -66,13 +66,13 @@ func (c *S3Control) CreateAccessPointRequest(input *CreateAccessPointInput) (req // // Creates an access point and associates it with the specified bucket. For // more information, see Managing Data Access with Amazon S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // -// S3 on Outposts only supports VPC-style Access Points. +// S3 on Outposts only supports VPC-style access points. // // For more information, see Accessing Amazon S3 on Outposts using virtual private -// cloud (VPC) only Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// cloud (VPC) only access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) +// in the Amazon S3 User Guide. // // All Amazon S3 on Outposts REST API requests for this action require an additional // parameter of x-amz-outpost-id to be passed with the request and an S3 on @@ -166,7 +166,7 @@ func (c *S3Control) CreateAccessPointForObjectLambdaRequest(input *CreateAccessP // // Creates an Object Lambda Access Point. For more information, see Transforming // objects with Object Lambda Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // The following actions are related to CreateAccessPointForObjectLambda: // @@ -255,12 +255,12 @@ func (c *S3Control) CreateBucketRequest(input *CreateBucketInput) (req *request. // // This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, // see Create Bucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Creates a new Outposts bucket. By creating the bucket, you become the bucket // owner. To create an Outposts bucket, you must have S3 on Outposts. For more // information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in Amazon Simple Storage Service User Guide. +// in Amazon S3 User Guide. // // Not every string is an acceptable bucket name. For information on bucket // naming restrictions, see Working with Amazon S3 Buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules). @@ -378,7 +378,7 @@ func (c *S3Control) CreateJobRequest(input *CreateJobInput) (req *request.Reques // You can use S3 Batch Operations to perform large-scale batch actions on Amazon // S3 objects. Batch Operations can run a single action on lists of Amazon S3 // objects that you specify. For more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // This action creates a S3 Batch Operations job. // @@ -843,13 +843,13 @@ func (c *S3Control) DeleteBucketRequest(input *DeleteBucketInput) (req *request. // // This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, // see DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Deletes the Amazon S3 on Outposts bucket. All objects (including all object // versions and delete markers) in the bucket must be deleted before the bucket // itself can be deleted. For more information, see Using Amazon S3 on Outposts // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in Amazon Simple Storage Service User Guide. +// in Amazon S3 User Guide. // // All Amazon S3 on Outposts REST API requests for this action require an additional // parameter of x-amz-outpost-id to be passed with the request and an S3 on @@ -949,7 +949,7 @@ func (c *S3Control) DeleteBucketLifecycleConfigurationRequest(input *DeleteBucke // This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. // To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Deletes the lifecycle configuration from the specified Outposts bucket. Amazon // S3 on Outposts removes all the lifecycle configuration rules in the lifecycle @@ -957,7 +957,7 @@ func (c *S3Control) DeleteBucketLifecycleConfigurationRequest(input *DeleteBucke // S3 on Outposts no longer automatically deletes any objects on the basis of // rules contained in the deleted lifecycle configuration. For more information, // see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in Amazon Simple Storage Service User Guide. +// in Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3-outposts:DeleteLifecycleConfiguration // action. By default, the bucket owner has this permission and the Outposts @@ -1061,7 +1061,7 @@ func (c *S3Control) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (r // // This action deletes an Amazon S3 on Outposts bucket policy. To delete an // S3 bucket policy, see DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // This implementation of the DELETE action uses the policy subresource to delete // the policy of a specified Amazon S3 on Outposts bucket. If you are using @@ -1070,7 +1070,7 @@ func (c *S3Control) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (r // on the specified Outposts bucket and belong to the bucket owner's account // to use this action. For more information, see Using Amazon S3 on Outposts // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in Amazon Simple Storage Service User Guide. +// in Amazon S3 User Guide. // // If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 // Access Denied error. If you have the correct permissions, but you're not @@ -1179,11 +1179,11 @@ func (c *S3Control) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) // // This action deletes an Amazon S3 on Outposts bucket's tags. To delete an // S3 bucket tags, see DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Deletes the tags from the Outposts bucket. For more information, see Using // Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in Amazon Simple Storage Service User Guide. +// in Amazon S3 User Guide. // // To use this action, you must have permission to perform the PutBucketTagging // action. By default, the bucket owner has this permission and can grant this @@ -1282,7 +1282,7 @@ func (c *S3Control) DeleteJobTaggingRequest(input *DeleteJobTaggingInput) (req * // use this operation, you must have permission to perform the s3:DeleteJobTagging // action. For more information, see Controlling access and labeling jobs using // tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Related actions include: // @@ -1462,12 +1462,12 @@ func (c *S3Control) DeleteStorageLensConfigurationRequest(input *DeleteStorageLe // Deletes the Amazon S3 Storage Lens configuration. For more information about // S3 Storage Lens, see Assessing your storage activity and usage with Amazon // S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1547,12 +1547,12 @@ func (c *S3Control) DeleteStorageLensConfigurationTaggingRequest(input *DeleteSt // Deletes the Amazon S3 Storage Lens configuration tags. For more information // about S3 Storage Lens, see Assessing your storage activity and usage with // Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:DeleteStorageLensConfigurationTagging // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1630,7 +1630,7 @@ func (c *S3Control) DescribeJobRequest(input *DescribeJobInput) (req *request.Re // // Retrieves the configuration parameters and status for a Batch Operations // job. For more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Related actions include: // @@ -2155,8 +2155,8 @@ func (c *S3Control) GetAccessPointPolicyStatusRequest(input *GetAccessPointPolic // // Indicates whether the specified access point currently has a policy that // allows public access. For more information about public access through access -// points, see Managing Data Access with Amazon S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) -// in the Amazon Simple Storage Service Developer Guide. +// points, see Managing Data Access with Amazon S3 access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2314,7 +2314,7 @@ func (c *S3Control) GetBucketRequest(input *GetBucketInput) (req *request.Reques // // Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon // S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // If you are using an identity other than the root user of the AWS account // that owns the Outposts bucket, the calling identity must have the s3-outposts:GetBucket @@ -2424,13 +2424,13 @@ func (c *S3Control) GetBucketLifecycleConfigurationRequest(input *GetBucketLifec // This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. // To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Returns the lifecycle configuration information set on the Outposts bucket. // For more information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) // and for information about lifecycle configuration, see Object Lifecycle Management // (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) -// in Amazon Simple Storage Service User Guide. +// in Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration // action. The Outposts bucket owner has this permission, by default. The bucket @@ -2538,11 +2538,11 @@ func (c *S3Control) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *re // // This action gets a bucket policy for an Amazon S3 on Outposts bucket. To // get a policy for an S3 bucket, see GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Returns the policy of a specified Outposts bucket. For more information, // see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // If you are using an identity other than the root user of the AWS account // that owns the bucket, the calling identity must have the GetBucketPolicy @@ -2657,11 +2657,11 @@ func (c *S3Control) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req * // // This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket // tags, see GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Returns the tag set associated with the Outposts bucket. For more information, // see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the GetBucketTagging // action. By default, the bucket owner has this permission and can grant this @@ -2763,7 +2763,7 @@ func (c *S3Control) GetJobTaggingRequest(input *GetJobTaggingInput) (req *reques // Returns the tags on an S3 Batch Operations job. To use this operation, you // must have permission to perform the s3:GetJobTagging action. For more information, // see Controlling access and labeling jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Related actions include: // @@ -2946,12 +2946,12 @@ func (c *S3Control) GetStorageLensConfigurationRequest(input *GetStorageLensConf // // Gets the Amazon S3 Storage Lens configuration. For more information, see // Assessing your storage activity and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:GetStorageLensConfiguration // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3030,12 +3030,12 @@ func (c *S3Control) GetStorageLensConfigurationTaggingRequest(input *GetStorageL // Gets the tags of Amazon S3 Storage Lens configuration. For more information // about S3 Storage Lens, see Assessing your storage activity and usage with // Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3423,7 +3423,7 @@ func (c *S3Control) ListJobsRequest(input *ListJobsInput) (req *request.Request, // Lists current S3 Batch Operations jobs and jobs that have ended within the // last 30 days for the AWS account making the request. For more information, // see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Related actions include: // @@ -3578,7 +3578,7 @@ func (c *S3Control) ListRegionalBucketsRequest(input *ListRegionalBucketsInput) // Returns a list of all Outposts buckets in an Outpost that are owned by the // authenticated sender of the request. For more information, see Using Amazon // S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // For an example of the request syntax for Amazon S3 on Outposts that uses // the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your @@ -3720,12 +3720,12 @@ func (c *S3Control) ListStorageLensConfigurationsRequest(input *ListStorageLensC // Gets a list of Amazon S3 Storage Lens configurations. For more information // about S3 Storage Lens, see Assessing your storage activity and usage with // Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:ListStorageLensConfigurations // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4033,7 +4033,7 @@ func (c *S3Control) PutAccessPointPolicyForObjectLambdaRequest(input *PutAccessP // // Creates or replaces resource policy for an Object Lambda Access Point. For // an example policy, see Creating Object Lambda Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-create.html#olap-create-cli) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // The following actions are related to PutAccessPointPolicyForObjectLambda: // @@ -4127,7 +4127,7 @@ func (c *S3Control) PutBucketLifecycleConfigurationRequest(input *PutBucketLifec // This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. // To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces // an existing lifecycle configuration. Outposts buckets only support lifecycle @@ -4233,11 +4233,11 @@ func (c *S3Control) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *re // // This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put // a policy on an S3 bucket, see PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, // see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // If you are using an identity other than the root user of the AWS account // that owns the Outposts bucket, the calling identity must have the PutBucketPolicy @@ -4355,11 +4355,11 @@ func (c *S3Control) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req * // // This action puts tags on an Amazon S3 on Outposts bucket. To put tags on // an S3 bucket, see PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) -// in the Amazon Simple Storage Service API. +// in the Amazon S3 API Reference. // // Sets the tags for an S3 on Outposts bucket. For more information, see Using // Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Use tags to organize your AWS bill to reflect your own cost structure. To // do this, sign up to get your AWS account bill with tag key values included. @@ -4495,7 +4495,7 @@ func (c *S3Control) PutJobTaggingRequest(input *PutJobTaggingInput) (req *reques // modify that tag set, and use this action to replace the tag set with the // one you modified. For more information, see Controlling access and labeling // jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // * If you send this request with an empty tag set, Amazon S3 deletes the // existing tag set on the Batch Operations job. If you use this method, @@ -4699,12 +4699,12 @@ func (c *S3Control) PutStorageLensConfigurationRequest(input *PutStorageLensConf // // Puts an Amazon S3 Storage Lens configuration. For more information about // S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:PutStorageLensConfiguration // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4784,12 +4784,12 @@ func (c *S3Control) PutStorageLensConfigurationTaggingRequest(input *PutStorageL // Put or replace tags on an existing Amazon S3 Storage Lens configuration. // For more information about S3 Storage Lens, see Assessing your storage activity // and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging // action. For more information, see Setting permissions to use Amazon S3 Storage // Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4867,7 +4867,7 @@ func (c *S3Control) UpdateJobPriorityRequest(input *UpdateJobPriorityInput) (req // // Updates an existing S3 Batch Operations job's priority. For more information, // see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Related actions include: // @@ -4966,7 +4966,7 @@ func (c *S3Control) UpdateJobStatusRequest(input *UpdateJobStatusInput) (req *re // Updates the status for the specified job. Use this action to confirm that // you want to run a job or to cancel an existing job. For more information, // see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. // // Related actions include: // @@ -5071,6 +5071,9 @@ type AccessPoint struct { // The virtual private cloud (VPC) configuration for this access point, if one // exists. + // + // This element is empty if this access point is an Amazon S3 on Outposts access + // point that is used by other AWS services. VpcConfiguration *VpcConfiguration `type:"structure"` } @@ -5839,7 +5842,7 @@ type CreateJobInput struct { // The action that you want this job to perform on every object listed in the // manifest. For more information about the available actions, see Operations // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html) - // in the Amazon Simple Storage Service User Guide. + // in the Amazon S3 User Guide. // // Operation is a required field Operation *JobOperation `type:"structure" required:"true"` @@ -7714,13 +7717,16 @@ type GetAccessPointOutput struct { // S3 account. You can enable the configuration options in any combination. // For more information about when Amazon S3 considers a bucket or object public, // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) - // in the Amazon Simple Storage Service Developer Guide. + // in the Amazon S3 User Guide. // // This is not supported for Amazon S3 on Outposts. PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` // Contains the virtual private cloud (VPC) configuration for the specified // access point. + // + // This element is empty if this access point is an Amazon S3 on Outposts access + // point that is used by other AWS services. VpcConfiguration *VpcConfiguration `type:"structure"` } @@ -8067,7 +8073,7 @@ type GetAccessPointPolicyStatusForObjectLambdaOutput struct { // Indicates whether this access point policy is public. For more information // about how Amazon S3 evaluates policies to determine whether they are public, // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) - // in the Amazon Simple Storage Service User Guide. + // in the Amazon S3 User Guide. PolicyStatus *PolicyStatus `type:"structure"` } @@ -9604,7 +9610,7 @@ func (s *JobManifestSpec) SetFormat(v string) *JobManifestSpec { // The operation that you want this job to perform on every object listed in // the manifest. For more information about the available operations, see Operations // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. type JobOperation struct { _ struct{} `type:"structure"` @@ -9632,14 +9638,14 @@ type JobOperation struct { // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold // API. For more information, see Using S3 Object Lock legal hold with S3 Batch // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) - // in the Amazon Simple Storage Service User Guide. + // in the Amazon S3 User Guide. S3PutObjectLegalHold *S3SetObjectLegalHoldOperation `type:"structure"` // Contains the configuration parameters for the Object Lock retention action // for an S3 Batch Operations job. Batch Operations passes every object to the // underlying PutObjectRetention API. For more information, see Using S3 Object // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) - // in the Amazon Simple Storage Service User Guide. + // in the Amazon S3 User Guide. S3PutObjectRetention *S3SetObjectRetentionOperation `type:"structure"` // Directs the specified job to run a PUT Object tagging call on every object @@ -10006,7 +10012,7 @@ type LifecycleRule struct { // that Amazon S3 waits before permanently removing all parts of the upload. // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) - // in the Amazon Simple Storage Service Developer Guide. + // in the Amazon S3 User Guide. AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` // Specifies the expiration for the lifecycle of the object in the form of date, @@ -10921,7 +10927,7 @@ type NoncurrentVersionExpiration struct { // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) - // in the Amazon Simple Storage Service Developer Guide. + // in the Amazon S3 User Guide. NoncurrentDays *int64 `type:"integer"` } @@ -10949,7 +10955,7 @@ type NoncurrentVersionTransition struct { // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) - // in the Amazon Simple Storage Service Developer Guide. + // in the Amazon S3 User Guide. NoncurrentDays *int64 `type:"integer"` // The class of storage used to store the object. @@ -11201,7 +11207,7 @@ func (s *ObjectLambdaTransformationConfiguration) SetContentTransformation(v *Ob // Indicates whether this access point policy is public. For more information // about how Amazon S3 evaluates policies to determine whether they are public, // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. type PolicyStatus struct { _ struct{} `type:"structure"` @@ -11319,7 +11325,7 @@ func (s *PrefixLevelStorageMetrics) SetSelectionCriteria(v *SelectionCriteria) * // S3 account. You can enable the configuration options in any combination. // For more information about when Amazon S3 considers a bucket or object public, // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) -// in the Amazon Simple Storage Service Developer Guide. +// in the Amazon S3 User Guide. // // This is not supported for Amazon S3 on Outposts. type PublicAccessBlockConfiguration struct { @@ -11625,8 +11631,8 @@ type PutAccessPointPolicyInput struct { // The policy that you want to apply to the specified access point. For more // information about access point policies, see Managing data access with Amazon - // S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) - // in the Amazon Simple Storage Service User Guide. + // S3 access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) + // in the Amazon S3 User Guide. // // Policy is a required field Policy *string `type:"string" required:"true"` @@ -13448,7 +13454,7 @@ func (s *S3ObjectOwner) SetID(v string) *S3ObjectOwner { // data types in your operation, you will remove the retention from your objects. // For more information, see Using S3 Object Lock retention with S3 Batch Operations // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. type S3Retention struct { _ struct{} `type:"structure"` @@ -13528,7 +13534,7 @@ func (s *S3SetObjectAclOperation) SetAccessControlPolicy(v *S3AccessControlPolic // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold // API. For more information, see Using S3 Object Lock legal hold with S3 Batch // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. type S3SetObjectLegalHoldOperation struct { _ struct{} `type:"structure"` @@ -13577,7 +13583,7 @@ func (s *S3SetObjectLegalHoldOperation) SetLegalHold(v *S3ObjectLockLegalHold) * // for an S3 Batch Operations job. Batch Operations passes every object to the // underlying PutObjectRetention API. For more information, see Using S3 Object // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. type S3SetObjectRetentionOperation struct { _ struct{} `type:"structure"` @@ -13588,7 +13594,7 @@ type S3SetObjectRetentionOperation struct { // Contains the Object Lock retention mode to be applied to all objects in the // Batch Operations job. For more information, see Using S3 Object Lock retention // with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) - // in the Amazon Simple Storage Service User Guide. + // in the Amazon S3 User Guide. // // Retention is a required field Retention *S3Retention `type:"structure" required:"true"` @@ -14215,7 +14221,7 @@ func (s *Tagging) SetTagSet(v []*S3Tag) *Tagging { // Specifies when an object transitions to a specified storage class. For more // information about Amazon S3 Lifecycle configuration rules, see Transitioning // objects using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) -// in the Amazon Simple Storage Service User Guide. +// in the Amazon S3 User Guide. type Transition struct { _ struct{} `type:"structure"` diff --git a/service/ssmcontacts/api.go b/service/ssmcontacts/api.go new file mode 100644 index 00000000000..3e936e3548e --- /dev/null +++ b/service/ssmcontacts/api.go @@ -0,0 +1,6886 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmcontacts + +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/jsonrpc" +) + +const opAcceptPage = "AcceptPage" + +// AcceptPageRequest generates a "aws/request.Request" representing the +// client's request for the AcceptPage 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 AcceptPage for more information on using the AcceptPage +// 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 AcceptPageRequest method. +// req, resp := client.AcceptPageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/AcceptPage +func (c *SSMContacts) AcceptPageRequest(input *AcceptPageInput) (req *request.Request, output *AcceptPageOutput) { + op := &request.Operation{ + Name: opAcceptPage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AcceptPageInput{} + } + + output = &AcceptPageOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AcceptPage API operation for AWS Systems Manager Incident Manager Contacts. +// +// Used to acknowledge an engagement to a contact channel during an incident. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation AcceptPage for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/AcceptPage +func (c *SSMContacts) AcceptPage(input *AcceptPageInput) (*AcceptPageOutput, error) { + req, out := c.AcceptPageRequest(input) + return out, req.Send() +} + +// AcceptPageWithContext is the same as AcceptPage with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptPage 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 *SSMContacts) AcceptPageWithContext(ctx aws.Context, input *AcceptPageInput, opts ...request.Option) (*AcceptPageOutput, error) { + req, out := c.AcceptPageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opActivateContactChannel = "ActivateContactChannel" + +// ActivateContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the ActivateContactChannel 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 ActivateContactChannel for more information on using the ActivateContactChannel +// 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 ActivateContactChannelRequest method. +// req, resp := client.ActivateContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ActivateContactChannel +func (c *SSMContacts) ActivateContactChannelRequest(input *ActivateContactChannelInput) (req *request.Request, output *ActivateContactChannelOutput) { + op := &request.Operation{ + Name: opActivateContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ActivateContactChannelInput{} + } + + output = &ActivateContactChannelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ActivateContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// Activates a contact's contact channel. Incident Manager can't engage a contact +// until the contact channel has been activated. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ActivateContactChannel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ActivateContactChannel +func (c *SSMContacts) ActivateContactChannel(input *ActivateContactChannelInput) (*ActivateContactChannelOutput, error) { + req, out := c.ActivateContactChannelRequest(input) + return out, req.Send() +} + +// ActivateContactChannelWithContext is the same as ActivateContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See ActivateContactChannel 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 *SSMContacts) ActivateContactChannelWithContext(ctx aws.Context, input *ActivateContactChannelInput, opts ...request.Option) (*ActivateContactChannelOutput, error) { + req, out := c.ActivateContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateContact = "CreateContact" + +// CreateContactRequest generates a "aws/request.Request" representing the +// client's request for the CreateContact 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 CreateContact for more information on using the CreateContact +// 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 CreateContactRequest method. +// req, resp := client.CreateContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateContact +func (c *SSMContacts) CreateContactRequest(input *CreateContactInput) (req *request.Request, output *CreateContactOutput) { + op := &request.Operation{ + Name: opCreateContact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateContactInput{} + } + + output = &CreateContactOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateContact API operation for AWS Systems Manager Incident Manager Contacts. +// +// Contacts are either the contacts that Incident Manager engages during an +// incident or the escalation plans that Incident Manager uses to engage contacts +// in phases during an incident. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation CreateContact for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateContact +func (c *SSMContacts) CreateContact(input *CreateContactInput) (*CreateContactOutput, error) { + req, out := c.CreateContactRequest(input) + return out, req.Send() +} + +// CreateContactWithContext is the same as CreateContact with the addition of +// the ability to pass a context and additional request options. +// +// See CreateContact 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 *SSMContacts) CreateContactWithContext(ctx aws.Context, input *CreateContactInput, opts ...request.Option) (*CreateContactOutput, error) { + req, out := c.CreateContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateContactChannel = "CreateContactChannel" + +// CreateContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the CreateContactChannel 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 CreateContactChannel for more information on using the CreateContactChannel +// 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 CreateContactChannelRequest method. +// req, resp := client.CreateContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateContactChannel +func (c *SSMContacts) CreateContactChannelRequest(input *CreateContactChannelInput) (req *request.Request, output *CreateContactChannelOutput) { + op := &request.Operation{ + Name: opCreateContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateContactChannelInput{} + } + + output = &CreateContactChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// A contact channel is the method that Incident Manager uses to engage your +// contact. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation CreateContactChannel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateContactChannel +func (c *SSMContacts) CreateContactChannel(input *CreateContactChannelInput) (*CreateContactChannelOutput, error) { + req, out := c.CreateContactChannelRequest(input) + return out, req.Send() +} + +// CreateContactChannelWithContext is the same as CreateContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateContactChannel 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 *SSMContacts) CreateContactChannelWithContext(ctx aws.Context, input *CreateContactChannelInput, opts ...request.Option) (*CreateContactChannelOutput, error) { + req, out := c.CreateContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeactivateContactChannel = "DeactivateContactChannel" + +// DeactivateContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the DeactivateContactChannel 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 DeactivateContactChannel for more information on using the DeactivateContactChannel +// 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 DeactivateContactChannelRequest method. +// req, resp := client.DeactivateContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeactivateContactChannel +func (c *SSMContacts) DeactivateContactChannelRequest(input *DeactivateContactChannelInput) (req *request.Request, output *DeactivateContactChannelOutput) { + op := &request.Operation{ + Name: opDeactivateContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeactivateContactChannelInput{} + } + + output = &DeactivateContactChannelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeactivateContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// To no longer receive Incident Manager engagements to a contact channel, you +// can deactivate the channel. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation DeactivateContactChannel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeactivateContactChannel +func (c *SSMContacts) DeactivateContactChannel(input *DeactivateContactChannelInput) (*DeactivateContactChannelOutput, error) { + req, out := c.DeactivateContactChannelRequest(input) + return out, req.Send() +} + +// DeactivateContactChannelWithContext is the same as DeactivateContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DeactivateContactChannel 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 *SSMContacts) DeactivateContactChannelWithContext(ctx aws.Context, input *DeactivateContactChannelInput, opts ...request.Option) (*DeactivateContactChannelOutput, error) { + req, out := c.DeactivateContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteContact = "DeleteContact" + +// DeleteContactRequest generates a "aws/request.Request" representing the +// client's request for the DeleteContact 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 DeleteContact for more information on using the DeleteContact +// 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 DeleteContactRequest method. +// req, resp := client.DeleteContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteContact +func (c *SSMContacts) DeleteContactRequest(input *DeleteContactInput) (req *request.Request, output *DeleteContactOutput) { + op := &request.Operation{ + Name: opDeleteContact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteContactInput{} + } + + output = &DeleteContactOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteContact API operation for AWS Systems Manager Incident Manager Contacts. +// +// To remove a contact from Incident Manager, you can delete the contact. Deleting +// a contact removes them from all escalation plans and related response plans. +// Deleting an escalation plan removes it from all related response plans. You +// will have to recreate the contact and its contact channels before you can +// use it again. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation DeleteContact for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteContact +func (c *SSMContacts) DeleteContact(input *DeleteContactInput) (*DeleteContactOutput, error) { + req, out := c.DeleteContactRequest(input) + return out, req.Send() +} + +// DeleteContactWithContext is the same as DeleteContact with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteContact 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 *SSMContacts) DeleteContactWithContext(ctx aws.Context, input *DeleteContactInput, opts ...request.Option) (*DeleteContactOutput, error) { + req, out := c.DeleteContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteContactChannel = "DeleteContactChannel" + +// DeleteContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteContactChannel 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 DeleteContactChannel for more information on using the DeleteContactChannel +// 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 DeleteContactChannelRequest method. +// req, resp := client.DeleteContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteContactChannel +func (c *SSMContacts) DeleteContactChannelRequest(input *DeleteContactChannelInput) (req *request.Request, output *DeleteContactChannelOutput) { + op := &request.Operation{ + Name: opDeleteContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteContactChannelInput{} + } + + output = &DeleteContactChannelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// To no longer receive engagements on a contact channel, you can delete the +// channel from a contact. Deleting the contact channel removes it from the +// contact's engagement plan. If you delete the only contact channel for a contact, +// you won't be able to engage that contact during an incident. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation DeleteContactChannel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteContactChannel +func (c *SSMContacts) DeleteContactChannel(input *DeleteContactChannelInput) (*DeleteContactChannelOutput, error) { + req, out := c.DeleteContactChannelRequest(input) + return out, req.Send() +} + +// DeleteContactChannelWithContext is the same as DeleteContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteContactChannel 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 *SSMContacts) DeleteContactChannelWithContext(ctx aws.Context, input *DeleteContactChannelInput, opts ...request.Option) (*DeleteContactChannelOutput, error) { + req, out := c.DeleteContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEngagement = "DescribeEngagement" + +// DescribeEngagementRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngagement 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 DescribeEngagement for more information on using the DescribeEngagement +// 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 DescribeEngagementRequest method. +// req, resp := client.DescribeEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribeEngagement +func (c *SSMContacts) DescribeEngagementRequest(input *DescribeEngagementInput) (req *request.Request, output *DescribeEngagementOutput) { + op := &request.Operation{ + Name: opDescribeEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEngagementInput{} + } + + output = &DescribeEngagementOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// +// Incident Manager uses engagements to engage contacts and escalation plans +// during an incident. Use this command to describe the engagement that occurred +// during an incident. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation DescribeEngagement for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribeEngagement +func (c *SSMContacts) DescribeEngagement(input *DescribeEngagementInput) (*DescribeEngagementOutput, error) { + req, out := c.DescribeEngagementRequest(input) + return out, req.Send() +} + +// DescribeEngagementWithContext is the same as DescribeEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEngagement 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 *SSMContacts) DescribeEngagementWithContext(ctx aws.Context, input *DescribeEngagementInput, opts ...request.Option) (*DescribeEngagementOutput, error) { + req, out := c.DescribeEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribePage = "DescribePage" + +// DescribePageRequest generates a "aws/request.Request" representing the +// client's request for the DescribePage 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 DescribePage for more information on using the DescribePage +// 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 DescribePageRequest method. +// req, resp := client.DescribePageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribePage +func (c *SSMContacts) DescribePageRequest(input *DescribePageInput) (req *request.Request, output *DescribePageOutput) { + op := &request.Operation{ + Name: opDescribePage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribePageInput{} + } + + output = &DescribePageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePage API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists details of the engagement to a contact channel. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation DescribePage for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribePage +func (c *SSMContacts) DescribePage(input *DescribePageInput) (*DescribePageOutput, error) { + req, out := c.DescribePageRequest(input) + return out, req.Send() +} + +// DescribePageWithContext is the same as DescribePage with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePage 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 *SSMContacts) DescribePageWithContext(ctx aws.Context, input *DescribePageInput, opts ...request.Option) (*DescribePageOutput, error) { + req, out := c.DescribePageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetContact = "GetContact" + +// GetContactRequest generates a "aws/request.Request" representing the +// client's request for the GetContact 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 GetContact for more information on using the GetContact +// 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 GetContactRequest method. +// req, resp := client.GetContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact +func (c *SSMContacts) GetContactRequest(input *GetContactInput) (req *request.Request, output *GetContactOutput) { + op := &request.Operation{ + Name: opGetContact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetContactInput{} + } + + output = &GetContactOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetContact API operation for AWS Systems Manager Incident Manager Contacts. +// +// Retrieves information about the specified contact or escalation plan. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation GetContact for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact +func (c *SSMContacts) GetContact(input *GetContactInput) (*GetContactOutput, error) { + req, out := c.GetContactRequest(input) + return out, req.Send() +} + +// GetContactWithContext is the same as GetContact with the addition of +// the ability to pass a context and additional request options. +// +// See GetContact 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 *SSMContacts) GetContactWithContext(ctx aws.Context, input *GetContactInput, opts ...request.Option) (*GetContactOutput, error) { + req, out := c.GetContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetContactChannel = "GetContactChannel" + +// GetContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetContactChannel 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 GetContactChannel for more information on using the GetContactChannel +// 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 GetContactChannelRequest method. +// req, resp := client.GetContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactChannel +func (c *SSMContacts) GetContactChannelRequest(input *GetContactChannelInput) (req *request.Request, output *GetContactChannelOutput) { + op := &request.Operation{ + Name: opGetContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetContactChannelInput{} + } + + output = &GetContactChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// List details about a specific contact channel. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation GetContactChannel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactChannel +func (c *SSMContacts) GetContactChannel(input *GetContactChannelInput) (*GetContactChannelOutput, error) { + req, out := c.GetContactChannelRequest(input) + return out, req.Send() +} + +// GetContactChannelWithContext is the same as GetContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See GetContactChannel 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 *SSMContacts) GetContactChannelWithContext(ctx aws.Context, input *GetContactChannelInput, opts ...request.Option) (*GetContactChannelOutput, error) { + req, out := c.GetContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetContactPolicy = "GetContactPolicy" + +// GetContactPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetContactPolicy 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 GetContactPolicy for more information on using the GetContactPolicy +// 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 GetContactPolicyRequest method. +// req, resp := client.GetContactPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactPolicy +func (c *SSMContacts) GetContactPolicyRequest(input *GetContactPolicyInput) (req *request.Request, output *GetContactPolicyOutput) { + op := &request.Operation{ + Name: opGetContactPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetContactPolicyInput{} + } + + output = &GetContactPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetContactPolicy API operation for AWS Systems Manager Incident Manager Contacts. +// +// Retrieves the resource policies attached to the specified contact or escalation +// plan. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation GetContactPolicy for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactPolicy +func (c *SSMContacts) GetContactPolicy(input *GetContactPolicyInput) (*GetContactPolicyOutput, error) { + req, out := c.GetContactPolicyRequest(input) + return out, req.Send() +} + +// GetContactPolicyWithContext is the same as GetContactPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetContactPolicy 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 *SSMContacts) GetContactPolicyWithContext(ctx aws.Context, input *GetContactPolicyInput, opts ...request.Option) (*GetContactPolicyOutput, error) { + req, out := c.GetContactPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListContactChannels = "ListContactChannels" + +// ListContactChannelsRequest generates a "aws/request.Request" representing the +// client's request for the ListContactChannels 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 ListContactChannels for more information on using the ListContactChannels +// 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 ListContactChannelsRequest method. +// req, resp := client.ListContactChannelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContactChannels +func (c *SSMContacts) ListContactChannelsRequest(input *ListContactChannelsInput) (req *request.Request, output *ListContactChannelsOutput) { + op := &request.Operation{ + Name: opListContactChannels, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListContactChannelsInput{} + } + + output = &ListContactChannelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListContactChannels API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists all contact channels for the specified contact. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ListContactChannels for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContactChannels +func (c *SSMContacts) ListContactChannels(input *ListContactChannelsInput) (*ListContactChannelsOutput, error) { + req, out := c.ListContactChannelsRequest(input) + return out, req.Send() +} + +// ListContactChannelsWithContext is the same as ListContactChannels with the addition of +// the ability to pass a context and additional request options. +// +// See ListContactChannels 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 *SSMContacts) ListContactChannelsWithContext(ctx aws.Context, input *ListContactChannelsInput, opts ...request.Option) (*ListContactChannelsOutput, error) { + req, out := c.ListContactChannelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListContactChannelsPages iterates over the pages of a ListContactChannels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListContactChannels 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 ListContactChannels operation. +// pageNum := 0 +// err := client.ListContactChannelsPages(params, +// func(page *ssmcontacts.ListContactChannelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMContacts) ListContactChannelsPages(input *ListContactChannelsInput, fn func(*ListContactChannelsOutput, bool) bool) error { + return c.ListContactChannelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListContactChannelsPagesWithContext same as ListContactChannelsPages 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 *SSMContacts) ListContactChannelsPagesWithContext(ctx aws.Context, input *ListContactChannelsInput, fn func(*ListContactChannelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListContactChannelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListContactChannelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListContactChannelsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListContacts = "ListContacts" + +// ListContactsRequest generates a "aws/request.Request" representing the +// client's request for the ListContacts 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 ListContacts for more information on using the ListContacts +// 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 ListContactsRequest method. +// req, resp := client.ListContactsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts +func (c *SSMContacts) ListContactsRequest(input *ListContactsInput) (req *request.Request, output *ListContactsOutput) { + op := &request.Operation{ + Name: opListContacts, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListContactsInput{} + } + + output = &ListContactsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListContacts API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists all contacts and escalation plans in Incident 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 +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation ListContacts for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts +func (c *SSMContacts) ListContacts(input *ListContactsInput) (*ListContactsOutput, error) { + req, out := c.ListContactsRequest(input) + return out, req.Send() +} + +// ListContactsWithContext is the same as ListContacts with the addition of +// the ability to pass a context and additional request options. +// +// See ListContacts 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 *SSMContacts) ListContactsWithContext(ctx aws.Context, input *ListContactsInput, opts ...request.Option) (*ListContactsOutput, error) { + req, out := c.ListContactsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListContactsPages iterates over the pages of a ListContacts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListContacts 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 ListContacts operation. +// pageNum := 0 +// err := client.ListContactsPages(params, +// func(page *ssmcontacts.ListContactsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMContacts) ListContactsPages(input *ListContactsInput, fn func(*ListContactsOutput, bool) bool) error { + return c.ListContactsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListContactsPagesWithContext same as ListContactsPages 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 *SSMContacts) ListContactsPagesWithContext(ctx aws.Context, input *ListContactsInput, fn func(*ListContactsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListContactsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListContactsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListContactsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEngagements = "ListEngagements" + +// ListEngagementsRequest generates a "aws/request.Request" representing the +// client's request for the ListEngagements 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 ListEngagements for more information on using the ListEngagements +// 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 ListEngagementsRequest method. +// req, resp := client.ListEngagementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListEngagements +func (c *SSMContacts) ListEngagementsRequest(input *ListEngagementsInput) (req *request.Request, output *ListEngagementsOutput) { + op := &request.Operation{ + Name: opListEngagements, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEngagementsInput{} + } + + output = &ListEngagementsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEngagements API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists all engagements that have happened in an incident. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ListEngagements for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListEngagements +func (c *SSMContacts) ListEngagements(input *ListEngagementsInput) (*ListEngagementsOutput, error) { + req, out := c.ListEngagementsRequest(input) + return out, req.Send() +} + +// ListEngagementsWithContext is the same as ListEngagements with the addition of +// the ability to pass a context and additional request options. +// +// See ListEngagements 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 *SSMContacts) ListEngagementsWithContext(ctx aws.Context, input *ListEngagementsInput, opts ...request.Option) (*ListEngagementsOutput, error) { + req, out := c.ListEngagementsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEngagementsPages iterates over the pages of a ListEngagements operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEngagements 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 ListEngagements operation. +// pageNum := 0 +// err := client.ListEngagementsPages(params, +// func(page *ssmcontacts.ListEngagementsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMContacts) ListEngagementsPages(input *ListEngagementsInput, fn func(*ListEngagementsOutput, bool) bool) error { + return c.ListEngagementsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEngagementsPagesWithContext same as ListEngagementsPages 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 *SSMContacts) ListEngagementsPagesWithContext(ctx aws.Context, input *ListEngagementsInput, fn func(*ListEngagementsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEngagementsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEngagementsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEngagementsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPageReceipts = "ListPageReceipts" + +// ListPageReceiptsRequest generates a "aws/request.Request" representing the +// client's request for the ListPageReceipts 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 ListPageReceipts for more information on using the ListPageReceipts +// 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 ListPageReceiptsRequest method. +// req, resp := client.ListPageReceiptsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageReceipts +func (c *SSMContacts) ListPageReceiptsRequest(input *ListPageReceiptsInput) (req *request.Request, output *ListPageReceiptsOutput) { + op := &request.Operation{ + Name: opListPageReceipts, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPageReceiptsInput{} + } + + output = &ListPageReceiptsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPageReceipts API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists all of the engagements to contact channels that have been acknowledged. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ListPageReceipts for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageReceipts +func (c *SSMContacts) ListPageReceipts(input *ListPageReceiptsInput) (*ListPageReceiptsOutput, error) { + req, out := c.ListPageReceiptsRequest(input) + return out, req.Send() +} + +// ListPageReceiptsWithContext is the same as ListPageReceipts with the addition of +// the ability to pass a context and additional request options. +// +// See ListPageReceipts 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 *SSMContacts) ListPageReceiptsWithContext(ctx aws.Context, input *ListPageReceiptsInput, opts ...request.Option) (*ListPageReceiptsOutput, error) { + req, out := c.ListPageReceiptsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPageReceiptsPages iterates over the pages of a ListPageReceipts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPageReceipts 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 ListPageReceipts operation. +// pageNum := 0 +// err := client.ListPageReceiptsPages(params, +// func(page *ssmcontacts.ListPageReceiptsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMContacts) ListPageReceiptsPages(input *ListPageReceiptsInput, fn func(*ListPageReceiptsOutput, bool) bool) error { + return c.ListPageReceiptsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPageReceiptsPagesWithContext same as ListPageReceiptsPages 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 *SSMContacts) ListPageReceiptsPagesWithContext(ctx aws.Context, input *ListPageReceiptsInput, fn func(*ListPageReceiptsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPageReceiptsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPageReceiptsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPageReceiptsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPagesByContact = "ListPagesByContact" + +// ListPagesByContactRequest generates a "aws/request.Request" representing the +// client's request for the ListPagesByContact 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 ListPagesByContact for more information on using the ListPagesByContact +// 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 ListPagesByContactRequest method. +// req, resp := client.ListPagesByContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByContact +func (c *SSMContacts) ListPagesByContactRequest(input *ListPagesByContactInput) (req *request.Request, output *ListPagesByContactOutput) { + op := &request.Operation{ + Name: opListPagesByContact, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPagesByContactInput{} + } + + output = &ListPagesByContactOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPagesByContact API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists the engagements to a contact's contact channels. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ListPagesByContact for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByContact +func (c *SSMContacts) ListPagesByContact(input *ListPagesByContactInput) (*ListPagesByContactOutput, error) { + req, out := c.ListPagesByContactRequest(input) + return out, req.Send() +} + +// ListPagesByContactWithContext is the same as ListPagesByContact with the addition of +// the ability to pass a context and additional request options. +// +// See ListPagesByContact 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 *SSMContacts) ListPagesByContactWithContext(ctx aws.Context, input *ListPagesByContactInput, opts ...request.Option) (*ListPagesByContactOutput, error) { + req, out := c.ListPagesByContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPagesByContactPages iterates over the pages of a ListPagesByContact operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPagesByContact 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 ListPagesByContact operation. +// pageNum := 0 +// err := client.ListPagesByContactPages(params, +// func(page *ssmcontacts.ListPagesByContactOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMContacts) ListPagesByContactPages(input *ListPagesByContactInput, fn func(*ListPagesByContactOutput, bool) bool) error { + return c.ListPagesByContactPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPagesByContactPagesWithContext same as ListPagesByContactPages 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 *SSMContacts) ListPagesByContactPagesWithContext(ctx aws.Context, input *ListPagesByContactInput, fn func(*ListPagesByContactOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPagesByContactInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPagesByContactRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPagesByContactOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPagesByEngagement = "ListPagesByEngagement" + +// ListPagesByEngagementRequest generates a "aws/request.Request" representing the +// client's request for the ListPagesByEngagement 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 ListPagesByEngagement for more information on using the ListPagesByEngagement +// 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 ListPagesByEngagementRequest method. +// req, resp := client.ListPagesByEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByEngagement +func (c *SSMContacts) ListPagesByEngagementRequest(input *ListPagesByEngagementInput) (req *request.Request, output *ListPagesByEngagementOutput) { + op := &request.Operation{ + Name: opListPagesByEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPagesByEngagementInput{} + } + + output = &ListPagesByEngagementOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPagesByEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists the engagements to contact channels that occurred by engaging a contact. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ListPagesByEngagement for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByEngagement +func (c *SSMContacts) ListPagesByEngagement(input *ListPagesByEngagementInput) (*ListPagesByEngagementOutput, error) { + req, out := c.ListPagesByEngagementRequest(input) + return out, req.Send() +} + +// ListPagesByEngagementWithContext is the same as ListPagesByEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See ListPagesByEngagement 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 *SSMContacts) ListPagesByEngagementWithContext(ctx aws.Context, input *ListPagesByEngagementInput, opts ...request.Option) (*ListPagesByEngagementOutput, error) { + req, out := c.ListPagesByEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPagesByEngagementPages iterates over the pages of a ListPagesByEngagement operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPagesByEngagement 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 ListPagesByEngagement operation. +// pageNum := 0 +// err := client.ListPagesByEngagementPages(params, +// func(page *ssmcontacts.ListPagesByEngagementOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMContacts) ListPagesByEngagementPages(input *ListPagesByEngagementInput, fn func(*ListPagesByEngagementOutput, bool) bool) error { + return c.ListPagesByEngagementPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPagesByEngagementPagesWithContext same as ListPagesByEngagementPages 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 *SSMContacts) ListPagesByEngagementPagesWithContext(ctx aws.Context, input *ListPagesByEngagementInput, fn func(*ListPagesByEngagementOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPagesByEngagementInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPagesByEngagementRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPagesByEngagementOutput), !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/ssm-contacts-2021-05-03/ListTagsForResource +func (c *SSMContacts) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists the tags of an escalation plan or contact. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListTagsForResource +func (c *SSMContacts) 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 *SSMContacts) 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 opPutContactPolicy = "PutContactPolicy" + +// PutContactPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutContactPolicy 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 PutContactPolicy for more information on using the PutContactPolicy +// 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 PutContactPolicyRequest method. +// req, resp := client.PutContactPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/PutContactPolicy +func (c *SSMContacts) PutContactPolicyRequest(input *PutContactPolicyInput) (req *request.Request, output *PutContactPolicyOutput) { + op := &request.Operation{ + Name: opPutContactPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutContactPolicyInput{} + } + + output = &PutContactPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutContactPolicy API operation for AWS Systems Manager Incident Manager Contacts. +// +// Adds a resource to the specified contact or escalation plan. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation PutContactPolicy for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/PutContactPolicy +func (c *SSMContacts) PutContactPolicy(input *PutContactPolicyInput) (*PutContactPolicyOutput, error) { + req, out := c.PutContactPolicyRequest(input) + return out, req.Send() +} + +// PutContactPolicyWithContext is the same as PutContactPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutContactPolicy 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 *SSMContacts) PutContactPolicyWithContext(ctx aws.Context, input *PutContactPolicyInput, opts ...request.Option) (*PutContactPolicyOutput, error) { + req, out := c.PutContactPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSendActivationCode = "SendActivationCode" + +// SendActivationCodeRequest generates a "aws/request.Request" representing the +// client's request for the SendActivationCode 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 SendActivationCode for more information on using the SendActivationCode +// 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 SendActivationCodeRequest method. +// req, resp := client.SendActivationCodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/SendActivationCode +func (c *SSMContacts) SendActivationCodeRequest(input *SendActivationCodeInput) (req *request.Request, output *SendActivationCodeOutput) { + op := &request.Operation{ + Name: opSendActivationCode, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendActivationCodeInput{} + } + + output = &SendActivationCodeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SendActivationCode API operation for AWS Systems Manager Incident Manager Contacts. +// +// Sends an activation code to a contact channel. The contact can use this code +// to activate the contact channel in the console or with the ActivateChannel +// action. Incident Manager can't engage a contact channel until it has been +// activated. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation SendActivationCode for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/SendActivationCode +func (c *SSMContacts) SendActivationCode(input *SendActivationCodeInput) (*SendActivationCodeOutput, error) { + req, out := c.SendActivationCodeRequest(input) + return out, req.Send() +} + +// SendActivationCodeWithContext is the same as SendActivationCode with the addition of +// the ability to pass a context and additional request options. +// +// See SendActivationCode 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 *SSMContacts) SendActivationCodeWithContext(ctx aws.Context, input *SendActivationCodeInput, opts ...request.Option) (*SendActivationCodeOutput, error) { + req, out := c.SendActivationCodeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartEngagement = "StartEngagement" + +// StartEngagementRequest generates a "aws/request.Request" representing the +// client's request for the StartEngagement 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 StartEngagement for more information on using the StartEngagement +// 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 StartEngagementRequest method. +// req, resp := client.StartEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StartEngagement +func (c *SSMContacts) StartEngagementRequest(input *StartEngagementInput) (req *request.Request, output *StartEngagementOutput) { + op := &request.Operation{ + Name: opStartEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartEngagementInput{} + } + + output = &StartEngagementOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// +// Starts an engagement to a contact or escalation plan. The engagement engages +// each contact specified in the incident. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation StartEngagement for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StartEngagement +func (c *SSMContacts) StartEngagement(input *StartEngagementInput) (*StartEngagementOutput, error) { + req, out := c.StartEngagementRequest(input) + return out, req.Send() +} + +// StartEngagementWithContext is the same as StartEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See StartEngagement 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 *SSMContacts) StartEngagementWithContext(ctx aws.Context, input *StartEngagementInput, opts ...request.Option) (*StartEngagementOutput, error) { + req, out := c.StartEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopEngagement = "StopEngagement" + +// StopEngagementRequest generates a "aws/request.Request" representing the +// client's request for the StopEngagement 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 StopEngagement for more information on using the StopEngagement +// 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 StopEngagementRequest method. +// req, resp := client.StopEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StopEngagement +func (c *SSMContacts) StopEngagementRequest(input *StopEngagementInput) (req *request.Request, output *StopEngagementOutput) { + op := &request.Operation{ + Name: opStopEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopEngagementInput{} + } + + output = &StopEngagementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// +// Stops an engagement before it finishes the final stage of the escalation +// plan or engagement plan. Further contacts aren't engaged. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation StopEngagement for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StopEngagement +func (c *SSMContacts) StopEngagement(input *StopEngagementInput) (*StopEngagementOutput, error) { + req, out := c.StopEngagementRequest(input) + return out, req.Send() +} + +// StopEngagementWithContext is the same as StopEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See StopEngagement 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 *SSMContacts) StopEngagementWithContext(ctx aws.Context, input *StopEngagementInput, opts ...request.Option) (*StopEngagementOutput, error) { + req, out := c.StopEngagementRequest(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/ssm-contacts-2021-05-03/TagResource +func (c *SSMContacts) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Systems Manager Incident Manager Contacts. +// +// Tags a contact or escalation plan. You can tag only contacts and escalation +// plans in the first region of your replication set. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/TagResource +func (c *SSMContacts) 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 *SSMContacts) 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/ssm-contacts-2021-05-03/UntagResource +func (c *SSMContacts) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Systems Manager Incident Manager Contacts. +// +// Removes tags from the specified 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 Systems Manager Incident Manager Contacts's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UntagResource +func (c *SSMContacts) 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 *SSMContacts) 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 opUpdateContact = "UpdateContact" + +// UpdateContactRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContact 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 UpdateContact for more information on using the UpdateContact +// 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 UpdateContactRequest method. +// req, resp := client.UpdateContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContact +func (c *SSMContacts) UpdateContactRequest(input *UpdateContactInput) (req *request.Request, output *UpdateContactOutput) { + op := &request.Operation{ + Name: opUpdateContact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateContactInput{} + } + + output = &UpdateContactOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateContact API operation for AWS Systems Manager Incident Manager Contacts. +// +// Updates the contact or escalation plan specified. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation UpdateContact for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContact +func (c *SSMContacts) UpdateContact(input *UpdateContactInput) (*UpdateContactOutput, error) { + req, out := c.UpdateContactRequest(input) + return out, req.Send() +} + +// UpdateContactWithContext is the same as UpdateContact with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateContact 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 *SSMContacts) UpdateContactWithContext(ctx aws.Context, input *UpdateContactInput, opts ...request.Option) (*UpdateContactOutput, error) { + req, out := c.UpdateContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateContactChannel = "UpdateContactChannel" + +// UpdateContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContactChannel 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 UpdateContactChannel for more information on using the UpdateContactChannel +// 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 UpdateContactChannelRequest method. +// req, resp := client.UpdateContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContactChannel +func (c *SSMContacts) UpdateContactChannelRequest(input *UpdateContactChannelInput) (req *request.Request, output *UpdateContactChannelOutput) { + op := &request.Operation{ + Name: opUpdateContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateContactChannelInput{} + } + + output = &UpdateContactChannelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// Updates a contact's contact channel. +// +// 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 Systems Manager Incident Manager Contacts's +// API operation UpdateContactChannel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * DataEncryptionException +// The action failed to due an encryption key error. +// +// * InternalServerException +// Unexpected error occurred while processing the request. +// +// * ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContactChannel +func (c *SSMContacts) UpdateContactChannel(input *UpdateContactChannelInput) (*UpdateContactChannelOutput, error) { + req, out := c.UpdateContactChannelRequest(input) + return out, req.Send() +} + +// UpdateContactChannelWithContext is the same as UpdateContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateContactChannel 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 *SSMContacts) UpdateContactChannelWithContext(ctx aws.Context, input *UpdateContactChannelInput, opts ...request.Option) (*UpdateContactChannelOutput, error) { + req, out := c.UpdateContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AcceptPageInput struct { + _ struct{} `type:"structure"` + + // The accept code is a 6-digit code used to acknowledge the page. + // + // AcceptCode is a required field + AcceptCode *string `min:"6" type:"string" required:"true"` + + // The type indicates if the page was DELIVERED or READ. + // + // AcceptType is a required field + AcceptType *string `type:"string" required:"true" enum:"AcceptType"` + + // The ARN of the contact channel. + ContactChannelId *string `min:"1" type:"string"` + + // Information provided by the user when the user acknowledges the page. + Note *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the engagement to a contact channel. + // + // PageId is a required field + PageId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptPageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptPageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptPageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptPageInput"} + if s.AcceptCode == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptCode")) + } + if s.AcceptCode != nil && len(*s.AcceptCode) < 6 { + invalidParams.Add(request.NewErrParamMinLen("AcceptCode", 6)) + } + if s.AcceptType == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptType")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + if s.Note != nil && len(*s.Note) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Note", 1)) + } + if s.PageId == nil { + invalidParams.Add(request.NewErrParamRequired("PageId")) + } + if s.PageId != nil && len(*s.PageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptCode sets the AcceptCode field's value. +func (s *AcceptPageInput) SetAcceptCode(v string) *AcceptPageInput { + s.AcceptCode = &v + return s +} + +// SetAcceptType sets the AcceptType field's value. +func (s *AcceptPageInput) SetAcceptType(v string) *AcceptPageInput { + s.AcceptType = &v + return s +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *AcceptPageInput) SetContactChannelId(v string) *AcceptPageInput { + s.ContactChannelId = &v + return s +} + +// SetNote sets the Note field's value. +func (s *AcceptPageInput) SetNote(v string) *AcceptPageInput { + s.Note = &v + return s +} + +// SetPageId sets the PageId field's value. +func (s *AcceptPageInput) SetPageId(v string) *AcceptPageInput { + s.PageId = &v + return s +} + +type AcceptPageOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AcceptPageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptPageOutput) GoString() string { + return s.String() +} + +// You don't have sufficient access 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 ActivateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The code sent to the contact channel when it was created in the contact. + // + // ActivationCode is a required field + ActivationCode *string `min:"6" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ActivateContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActivateContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActivateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActivateContactChannelInput"} + if s.ActivationCode == nil { + invalidParams.Add(request.NewErrParamRequired("ActivationCode")) + } + if s.ActivationCode != nil && len(*s.ActivationCode) < 6 { + invalidParams.Add(request.NewErrParamMinLen("ActivationCode", 6)) + } + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActivationCode sets the ActivationCode field's value. +func (s *ActivateContactChannelInput) SetActivationCode(v string) *ActivateContactChannelInput { + s.ActivationCode = &v + return s +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *ActivateContactChannelInput) SetContactChannelId(v string) *ActivateContactChannelInput { + s.ContactChannelId = &v + return s +} + +type ActivateContactChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ActivateContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActivateContactChannelOutput) GoString() string { + return s.String() +} + +// Information about the contact channel that Incident Manager uses to engage +// the contact. +type ChannelTargetInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` + + // The number of minutes to wait to retry sending engagement in the case the + // engagement initially fails. + RetryIntervalInMinutes *int64 `type:"integer"` +} + +// String returns the string representation +func (s ChannelTargetInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChannelTargetInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChannelTargetInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChannelTargetInfo"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *ChannelTargetInfo) SetContactChannelId(v string) *ChannelTargetInfo { + s.ContactChannelId = &v + return s +} + +// SetRetryIntervalInMinutes sets the RetryIntervalInMinutes field's value. +func (s *ChannelTargetInfo) SetRetryIntervalInMinutes(v int64) *ChannelTargetInfo { + s.RetryIntervalInMinutes = &v + return s +} + +// Updating or deleting a resource causes an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // Identifier of the resource in use + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // ype of the resource in use + // + // ResourceType is a required field + ResourceType *string `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 +} + +// A personal contact or escalation plan that Incident Manager engages during +// an incident. +type Contact struct { + _ struct{} `type:"structure"` + + // The unique and identifiable alias of the contact or escalation plan. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The full name of the contact or escalation plan. + DisplayName *string `min:"1" type:"string"` + + // Refers to the type of contact. A single contact is type PERSONAL and an escalation + // plan is type ESCALATION. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` +} + +// String returns the string representation +func (s Contact) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Contact) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *Contact) SetAlias(v string) *Contact { + s.Alias = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *Contact) SetContactArn(v string) *Contact { + s.ContactArn = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *Contact) SetDisplayName(v string) *Contact { + s.DisplayName = &v + return s +} + +// SetType sets the Type field's value. +func (s *Contact) SetType(v string) *Contact { + s.Type = &v + return s +} + +// The method that Incident Manager uses to engage a contact. +type ContactChannel struct { + _ struct{} `type:"structure"` + + // A Boolean value describing if the contact channel has been activated or not. + // If the contact channel isn't activated, Incident Manager can't engage the + // contact through it. + // + // ActivationStatus is a required field + ActivationStatus *string `type:"string" required:"true" enum:"ActivationStatus"` + + // The ARN of the contact that contains the contact channel. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelArn is a required field + ContactChannelArn *string `min:"1" type:"string" required:"true"` + + // The details that Incident Manager uses when trying to engage the contact + // channel. + // + // DeliveryAddress is a required field + DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` + + // The name of the contact channel. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The type of the contact channel. Incident Manager supports three contact + // methods: + // + // * SMS + // + // * VOICE + // + // * EMAIL + Type *string `type:"string" enum:"ChannelType"` +} + +// String returns the string representation +func (s ContactChannel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContactChannel) GoString() string { + return s.String() +} + +// SetActivationStatus sets the ActivationStatus field's value. +func (s *ContactChannel) SetActivationStatus(v string) *ContactChannel { + s.ActivationStatus = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *ContactChannel) SetContactArn(v string) *ContactChannel { + s.ContactArn = &v + return s +} + +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *ContactChannel) SetContactChannelArn(v string) *ContactChannel { + s.ContactChannelArn = &v + return s +} + +// SetDeliveryAddress sets the DeliveryAddress field's value. +func (s *ContactChannel) SetDeliveryAddress(v *ContactChannelAddress) *ContactChannel { + s.DeliveryAddress = v + return s +} + +// SetName sets the Name field's value. +func (s *ContactChannel) SetName(v string) *ContactChannel { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ContactChannel) SetType(v string) *ContactChannel { + s.Type = &v + return s +} + +// The details that Incident Manager uses when trying to engage the contact +// channel. +type ContactChannelAddress struct { + _ struct{} `type:"structure"` + + // The format is dependent on the type of the contact channel. The following + // are the expected formats: + // + // * SMS - '+' followed by the country code and phone number + // + // * VOICE - '+' followed by the country code and phone number + // + // * EMAIL - any standard email format + SimpleAddress *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ContactChannelAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContactChannelAddress) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContactChannelAddress) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContactChannelAddress"} + if s.SimpleAddress != nil && len(*s.SimpleAddress) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SimpleAddress", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSimpleAddress sets the SimpleAddress field's value. +func (s *ContactChannelAddress) SetSimpleAddress(v string) *ContactChannelAddress { + s.SimpleAddress = &v + return s +} + +// The contact that Incident Manager is engaging during an incident. +type ContactTargetInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact. + ContactId *string `min:"1" type:"string"` + + // A Boolean value determining if the contact's acknowledgement stops the progress + // of stages in the plan. + // + // IsEssential is a required field + IsEssential *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ContactTargetInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContactTargetInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContactTargetInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContactTargetInfo"} + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.IsEssential == nil { + invalidParams.Add(request.NewErrParamRequired("IsEssential")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *ContactTargetInfo) SetContactId(v string) *ContactTargetInfo { + s.ContactId = &v + return s +} + +// SetIsEssential sets the IsEssential field's value. +func (s *ContactTargetInfo) SetIsEssential(v bool) *ContactTargetInfo { + s.IsEssential = &v + return s +} + +type CreateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // If you want to activate the channel at a later time, you can choose to defer + // activation. Incident Manager can't engage your contact channel until it has + // been activated. + DeferActivation *bool `type:"boolean"` + + // The details that Incident Manager uses when trying to engage the contact + // channel. The format is dependent on the type of the contact channel. The + // following are the expected formats: + // + // * SMS - '+' followed by the country code and phone number + // + // * VOICE - '+' followed by the country code and phone number + // + // * EMAIL - any standard email format + // + // DeliveryAddress is a required field + DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` + + // A token ensuring that the action is called only once with the specified details. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The name of the contact channel. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Incident Manager supports three types of contact channels: + // + // * SMS + // + // * VOICE + // + // * EMAIL + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ChannelType"` +} + +// String returns the string representation +func (s CreateContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContactChannelInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.DeliveryAddress == nil { + invalidParams.Add(request.NewErrParamRequired("DeliveryAddress")) + } + 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.DeliveryAddress != nil { + if err := s.DeliveryAddress.Validate(); err != nil { + invalidParams.AddNested("DeliveryAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *CreateContactChannelInput) SetContactId(v string) *CreateContactChannelInput { + s.ContactId = &v + return s +} + +// SetDeferActivation sets the DeferActivation field's value. +func (s *CreateContactChannelInput) SetDeferActivation(v bool) *CreateContactChannelInput { + s.DeferActivation = &v + return s +} + +// SetDeliveryAddress sets the DeliveryAddress field's value. +func (s *CreateContactChannelInput) SetDeliveryAddress(v *ContactChannelAddress) *CreateContactChannelInput { + s.DeliveryAddress = v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateContactChannelInput) SetIdempotencyToken(v string) *CreateContactChannelInput { + s.IdempotencyToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateContactChannelInput) SetName(v string) *CreateContactChannelInput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateContactChannelInput) SetType(v string) *CreateContactChannelInput { + s.Type = &v + return s +} + +type CreateContactChannelOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the contact channel. + // + // ContactChannelArn is a required field + ContactChannelArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateContactChannelOutput) GoString() string { + return s.String() +} + +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *CreateContactChannelOutput) SetContactChannelArn(v string) *CreateContactChannelOutput { + s.ContactChannelArn = &v + return s +} + +type CreateContactInput struct { + _ struct{} `type:"structure"` + + // The short name to quickly identify a contact or escalation plan. The contact + // alias must be unique and identifiable. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // The full name of the contact or escalation plan. + DisplayName *string `min:"1" type:"string"` + + // A token ensuring that the action is called only once with the specified details. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // A list of stages. A contact has an engagement plan with stages that contact + // specified contact channels. An escalation plan uses stages that contact specified + // contacts. + // + // Plan is a required field + Plan *Plan `type:"structure" required:"true"` + + // Adds a tag to the target. You can only tag resources created in the first + // Region of your replication set. + Tags []*Tag `type:"list"` + + // To create an escalation plan use ESCALATION. To create a contact use PERSONAL. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` +} + +// String returns the string representation +func (s CreateContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContactInput"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) + } + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.DisplayName != nil && len(*s.DisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) + } + if s.Plan == nil { + invalidParams.Add(request.NewErrParamRequired("Plan")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Plan != nil { + if err := s.Plan.Validate(); err != nil { + invalidParams.AddNested("Plan", 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 +} + +// SetAlias sets the Alias field's value. +func (s *CreateContactInput) SetAlias(v string) *CreateContactInput { + s.Alias = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateContactInput) SetDisplayName(v string) *CreateContactInput { + s.DisplayName = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateContactInput) SetIdempotencyToken(v string) *CreateContactInput { + s.IdempotencyToken = &v + return s +} + +// SetPlan sets the Plan field's value. +func (s *CreateContactInput) SetPlan(v *Plan) *CreateContactInput { + s.Plan = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateContactInput) SetTags(v []*Tag) *CreateContactInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateContactInput) SetType(v string) *CreateContactInput { + s.Type = &v + return s +} + +type CreateContactOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the created contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateContactOutput) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *CreateContactOutput) SetContactArn(v string) *CreateContactOutput { + s.ContactArn = &v + return s +} + +// The action failed to due an encryption key error. +type DataEncryptionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s DataEncryptionException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataEncryptionException) GoString() string { + return s.String() +} + +func newErrorDataEncryptionException(v protocol.ResponseMetadata) error { + return &DataEncryptionException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DataEncryptionException) Code() string { + return "DataEncryptionException" +} + +// Message returns the exception's message. +func (s *DataEncryptionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataEncryptionException) OrigErr() error { + return nil +} + +func (s *DataEncryptionException) 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 *DataEncryptionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DataEncryptionException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeactivateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel you're deactivating. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeactivateContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeactivateContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeactivateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeactivateContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *DeactivateContactChannelInput) SetContactChannelId(v string) *DeactivateContactChannelInput { + s.ContactChannelId = &v + return s +} + +type DeactivateContactChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeactivateContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeactivateContactChannelOutput) GoString() string { + return s.String() +} + +type DeleteContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *DeleteContactChannelInput) SetContactChannelId(v string) *DeleteContactChannelInput { + s.ContactChannelId = &v + return s +} + +type DeleteContactChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteContactChannelOutput) GoString() string { + return s.String() +} + +type DeleteContactInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact that you're deleting. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *DeleteContactInput) SetContactId(v string) *DeleteContactInput { + s.ContactId = &v + return s +} + +type DeleteContactOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteContactOutput) GoString() string { + return s.String() +} + +type DescribeEngagementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the engagement you want the details of. + // + // EngagementId is a required field + EngagementId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngagementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEngagementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEngagementInput"} + if s.EngagementId == nil { + invalidParams.Add(request.NewErrParamRequired("EngagementId")) + } + if s.EngagementId != nil && len(*s.EngagementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEngagementId sets the EngagementId field's value. +func (s *DescribeEngagementInput) SetEngagementId(v string) *DescribeEngagementInput { + s.EngagementId = &v + return s +} + +type DescribeEngagementOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the escalation plan or contacts involved in the engagement. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The secure content of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // The ARN of the engagement. + // + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident in which the engagement occurred. + IncidentId *string `type:"string"` + + // The insecure content of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicContent *string `min:"1" type:"string"` + + // The insecure subject of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicSubject *string `min:"1" type:"string"` + + // The user that started the engagement. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time that the engagement started. + StartTime *time.Time `type:"timestamp"` + + // The time that the engagement ended. + StopTime *time.Time `type:"timestamp"` + + // The secure subject of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. + // + // Subject is a required field + Subject *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEngagementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngagementOutput) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *DescribeEngagementOutput) SetContactArn(v string) *DescribeEngagementOutput { + s.ContactArn = &v + return s +} + +// SetContent sets the Content field's value. +func (s *DescribeEngagementOutput) SetContent(v string) *DescribeEngagementOutput { + s.Content = &v + return s +} + +// SetEngagementArn sets the EngagementArn field's value. +func (s *DescribeEngagementOutput) SetEngagementArn(v string) *DescribeEngagementOutput { + s.EngagementArn = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *DescribeEngagementOutput) SetIncidentId(v string) *DescribeEngagementOutput { + s.IncidentId = &v + return s +} + +// SetPublicContent sets the PublicContent field's value. +func (s *DescribeEngagementOutput) SetPublicContent(v string) *DescribeEngagementOutput { + s.PublicContent = &v + return s +} + +// SetPublicSubject sets the PublicSubject field's value. +func (s *DescribeEngagementOutput) SetPublicSubject(v string) *DescribeEngagementOutput { + s.PublicSubject = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *DescribeEngagementOutput) SetSender(v string) *DescribeEngagementOutput { + s.Sender = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeEngagementOutput) SetStartTime(v time.Time) *DescribeEngagementOutput { + s.StartTime = &v + return s +} + +// SetStopTime sets the StopTime field's value. +func (s *DescribeEngagementOutput) SetStopTime(v time.Time) *DescribeEngagementOutput { + s.StopTime = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *DescribeEngagementOutput) SetSubject(v string) *DescribeEngagementOutput { + s.Subject = &v + return s +} + +type DescribePageInput struct { + _ struct{} `type:"structure"` + + // The ID of the engagement to a contact channel. + // + // PageId is a required field + PageId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribePageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePageInput"} + if s.PageId == nil { + invalidParams.Add(request.NewErrParamRequired("PageId")) + } + if s.PageId != nil && len(*s.PageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPageId sets the PageId field's value. +func (s *DescribePageInput) SetPageId(v string) *DescribePageInput { + s.PageId = &v + return s +} + +type DescribePageOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the contact that was engaged. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The secure content of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // The time that the contact channel received the engagement. + DeliveryTime *time.Time `type:"timestamp"` + + // The ARN of the engagement that engaged the contact channel. + // + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident that engaged the contact channel. + IncidentId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the engagement to a contact channel. + // + // PageArn is a required field + PageArn *string `min:"1" type:"string" required:"true"` + + // The insecure content of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicContent *string `min:"1" type:"string"` + + // The insecure subject of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicSubject *string `min:"1" type:"string"` + + // The time that the contact channel acknowledged the engagement. + ReadTime *time.Time `type:"timestamp"` + + // The user that started the engagement. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time the engagement was sent to the contact channel. + SentTime *time.Time `type:"timestamp"` + + // The secure subject of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. + // + // Subject is a required field + Subject *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribePageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePageOutput) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *DescribePageOutput) SetContactArn(v string) *DescribePageOutput { + s.ContactArn = &v + return s +} + +// SetContent sets the Content field's value. +func (s *DescribePageOutput) SetContent(v string) *DescribePageOutput { + s.Content = &v + return s +} + +// SetDeliveryTime sets the DeliveryTime field's value. +func (s *DescribePageOutput) SetDeliveryTime(v time.Time) *DescribePageOutput { + s.DeliveryTime = &v + return s +} + +// SetEngagementArn sets the EngagementArn field's value. +func (s *DescribePageOutput) SetEngagementArn(v string) *DescribePageOutput { + s.EngagementArn = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *DescribePageOutput) SetIncidentId(v string) *DescribePageOutput { + s.IncidentId = &v + return s +} + +// SetPageArn sets the PageArn field's value. +func (s *DescribePageOutput) SetPageArn(v string) *DescribePageOutput { + s.PageArn = &v + return s +} + +// SetPublicContent sets the PublicContent field's value. +func (s *DescribePageOutput) SetPublicContent(v string) *DescribePageOutput { + s.PublicContent = &v + return s +} + +// SetPublicSubject sets the PublicSubject field's value. +func (s *DescribePageOutput) SetPublicSubject(v string) *DescribePageOutput { + s.PublicSubject = &v + return s +} + +// SetReadTime sets the ReadTime field's value. +func (s *DescribePageOutput) SetReadTime(v time.Time) *DescribePageOutput { + s.ReadTime = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *DescribePageOutput) SetSender(v string) *DescribePageOutput { + s.Sender = &v + return s +} + +// SetSentTime sets the SentTime field's value. +func (s *DescribePageOutput) SetSentTime(v time.Time) *DescribePageOutput { + s.SentTime = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *DescribePageOutput) SetSubject(v string) *DescribePageOutput { + s.Subject = &v + return s +} + +// Incident Manager reaching out to a contact or escalation plan to engage contact +// during an incident. +type Engagement struct { + _ struct{} `type:"structure"` + + // The ARN of the escalation plan or contact that Incident Manager is engaging. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the engagement. + // + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident that's engaging the contact. + IncidentId *string `type:"string"` + + // The user that started the engagement. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time that the engagement began. + StartTime *time.Time `type:"timestamp"` + + // The time that the engagement ended. + StopTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s Engagement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Engagement) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *Engagement) SetContactArn(v string) *Engagement { + s.ContactArn = &v + return s +} + +// SetEngagementArn sets the EngagementArn field's value. +func (s *Engagement) SetEngagementArn(v string) *Engagement { + s.EngagementArn = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *Engagement) SetIncidentId(v string) *Engagement { + s.IncidentId = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *Engagement) SetSender(v string) *Engagement { + s.Sender = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *Engagement) SetStartTime(v time.Time) *Engagement { + s.StartTime = &v + return s +} + +// SetStopTime sets the StopTime field's value. +func (s *Engagement) SetStopTime(v time.Time) *Engagement { + s.StopTime = &v + return s +} + +type GetContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel you want information + // about. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *GetContactChannelInput) SetContactChannelId(v string) *GetContactChannelInput { + s.ContactChannelId = &v + return s +} + +type GetContactChannelOutput struct { + _ struct{} `type:"structure"` + + // A Boolean value indicating if the contact channel has been activated or not. + ActivationStatus *string `type:"string" enum:"ActivationStatus"` + + // The ARN of the contact that the channel belongs to. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the contact channel. + // + // ContactChannelArn is a required field + ContactChannelArn *string `min:"1" type:"string" required:"true"` + + // The details that Incident Manager uses when trying to engage the contact + // channel. + // + // DeliveryAddress is a required field + DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` + + // The name of the contact channel + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The type of contact channel. The type is SMS, VOICE, or EMAIL. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ChannelType"` +} + +// String returns the string representation +func (s GetContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetContactChannelOutput) GoString() string { + return s.String() +} + +// SetActivationStatus sets the ActivationStatus field's value. +func (s *GetContactChannelOutput) SetActivationStatus(v string) *GetContactChannelOutput { + s.ActivationStatus = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *GetContactChannelOutput) SetContactArn(v string) *GetContactChannelOutput { + s.ContactArn = &v + return s +} + +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *GetContactChannelOutput) SetContactChannelArn(v string) *GetContactChannelOutput { + s.ContactChannelArn = &v + return s +} + +// SetDeliveryAddress sets the DeliveryAddress field's value. +func (s *GetContactChannelOutput) SetDeliveryAddress(v *ContactChannelAddress) *GetContactChannelOutput { + s.DeliveryAddress = v + return s +} + +// SetName sets the Name field's value. +func (s *GetContactChannelOutput) SetName(v string) *GetContactChannelOutput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *GetContactChannelOutput) SetType(v string) *GetContactChannelOutput { + s.Type = &v + return s +} + +type GetContactInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *GetContactInput) SetContactId(v string) *GetContactInput { + s.ContactId = &v + return s +} + +type GetContactOutput struct { + _ struct{} `type:"structure"` + + // The alias of the contact or escalation plan. The alias is unique and identifiable. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // The ARN of the contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The full name of the contact or escalation plan. + DisplayName *string `min:"1" type:"string"` + + // Details about the specific timing or stages and targets of the escalation + // plan or engagement plan. + // + // Plan is a required field + Plan *Plan `type:"structure" required:"true"` + + // The type of contact, either PERSONAL or ESCALATION. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` +} + +// String returns the string representation +func (s GetContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetContactOutput) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *GetContactOutput) SetAlias(v string) *GetContactOutput { + s.Alias = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *GetContactOutput) SetContactArn(v string) *GetContactOutput { + s.ContactArn = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *GetContactOutput) SetDisplayName(v string) *GetContactOutput { + s.DisplayName = &v + return s +} + +// SetPlan sets the Plan field's value. +func (s *GetContactOutput) SetPlan(v *Plan) *GetContactOutput { + s.Plan = v + return s +} + +// SetType sets the Type field's value. +func (s *GetContactOutput) SetType(v string) *GetContactOutput { + s.Type = &v + return s +} + +type GetContactPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetContactPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetContactPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetContactPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContactPolicyInput"} + if s.ContactArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContactArn")) + } + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactArn sets the ContactArn field's value. +func (s *GetContactPolicyInput) SetContactArn(v string) *GetContactPolicyInput { + s.ContactArn = &v + return s +} + +type GetContactPolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the contact or escalation plan. + ContactArn *string `min:"1" type:"string"` + + // Details about the resource policy attached to the contact or escalation plan. + Policy *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetContactPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetContactPolicyOutput) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *GetContactPolicyOutput) SetContactArn(v string) *GetContactPolicyOutput { + s.ContactArn = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *GetContactPolicyOutput) SetPolicy(v string) *GetContactPolicyOutput { + s.Policy = &v + return s +} + +// Unexpected error occurred while processing the request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // Advice to clients on when the call can be safely retried + RetryAfterSeconds *int64 `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 +} + +type ListContactChannelsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // The maximum number of contact channels per page. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListContactChannelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListContactChannelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListContactChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContactChannelsInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *ListContactChannelsInput) SetContactId(v string) *ListContactChannelsInput { + s.ContactId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListContactChannelsInput) SetMaxResults(v int64) *ListContactChannelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactChannelsInput) SetNextToken(v string) *ListContactChannelsInput { + s.NextToken = &v + return s +} + +type ListContactChannelsOutput struct { + _ struct{} `type:"structure"` + + // A list of contact channels related to the specified contact. + // + // ContactChannels is a required field + ContactChannels []*ContactChannel `type:"list" required:"true"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListContactChannelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListContactChannelsOutput) GoString() string { + return s.String() +} + +// SetContactChannels sets the ContactChannels field's value. +func (s *ListContactChannelsOutput) SetContactChannels(v []*ContactChannel) *ListContactChannelsOutput { + s.ContactChannels = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactChannelsOutput) SetNextToken(v string) *ListContactChannelsOutput { + s.NextToken = &v + return s +} + +type ListContactsInput struct { + _ struct{} `type:"structure"` + + // Used to list only contacts who's aliases start with the specified prefix. + AliasPrefix *string `min:"1" type:"string"` + + // The maximum number of contacts and escalation plans per page of results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The type of contact. A contact is type PERSONAL and an escalation plan is + // type ESCALATION. + Type *string `type:"string" enum:"ContactType"` +} + +// String returns the string representation +func (s ListContactsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListContactsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListContactsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContactsInput"} + if s.AliasPrefix != nil && len(*s.AliasPrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasPrefix", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasPrefix sets the AliasPrefix field's value. +func (s *ListContactsInput) SetAliasPrefix(v string) *ListContactsInput { + s.AliasPrefix = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListContactsInput) SetMaxResults(v int64) *ListContactsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactsInput) SetNextToken(v string) *ListContactsInput { + s.NextToken = &v + return s +} + +// SetType sets the Type field's value. +func (s *ListContactsInput) SetType(v string) *ListContactsInput { + s.Type = &v + return s +} + +type ListContactsOutput struct { + _ struct{} `type:"structure"` + + // A list of the contacts and escalation plans in your Incident Manager account. + Contacts []*Contact `type:"list"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListContactsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListContactsOutput) GoString() string { + return s.String() +} + +// SetContacts sets the Contacts field's value. +func (s *ListContactsOutput) SetContacts(v []*Contact) *ListContactsOutput { + s.Contacts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactsOutput) SetNextToken(v string) *ListContactsOutput { + s.NextToken = &v + return s +} + +type ListEngagementsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident you're listing engagements + // for. + IncidentId *string `type:"string"` + + // The maximum number of engagements per page of results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The time range to lists engagements for an incident. + TimeRangeValue *TimeRange `type:"structure"` +} + +// String returns the string representation +func (s ListEngagementsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEngagementsInput) GoString() string { + return s.String() +} + +// SetIncidentId sets the IncidentId field's value. +func (s *ListEngagementsInput) SetIncidentId(v string) *ListEngagementsInput { + s.IncidentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEngagementsInput) SetMaxResults(v int64) *ListEngagementsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEngagementsInput) SetNextToken(v string) *ListEngagementsInput { + s.NextToken = &v + return s +} + +// SetTimeRangeValue sets the TimeRangeValue field's value. +func (s *ListEngagementsInput) SetTimeRangeValue(v *TimeRange) *ListEngagementsInput { + s.TimeRangeValue = v + return s +} + +type ListEngagementsOutput struct { + _ struct{} `type:"structure"` + + // A list of each engagement that occurred during the specified time range of + // an incident. + // + // Engagements is a required field + Engagements []*Engagement `type:"list" required:"true"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListEngagementsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEngagementsOutput) GoString() string { + return s.String() +} + +// SetEngagements sets the Engagements field's value. +func (s *ListEngagementsOutput) SetEngagements(v []*Engagement) *ListEngagementsOutput { + s.Engagements = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEngagementsOutput) SetNextToken(v string) *ListEngagementsOutput { + s.NextToken = &v + return s +} + +type ListPageReceiptsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of acknowledgements per page of results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The Amazon Resource Name (ARN) of the engagement to a specific contact channel. + // + // PageId is a required field + PageId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListPageReceiptsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPageReceiptsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPageReceiptsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPageReceiptsInput"} + if s.PageId == nil { + invalidParams.Add(request.NewErrParamRequired("PageId")) + } + if s.PageId != nil && len(*s.PageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPageReceiptsInput) SetMaxResults(v int64) *ListPageReceiptsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPageReceiptsInput) SetNextToken(v string) *ListPageReceiptsInput { + s.NextToken = &v + return s +} + +// SetPageId sets the PageId field's value. +func (s *ListPageReceiptsInput) SetPageId(v string) *ListPageReceiptsInput { + s.PageId = &v + return s +} + +type ListPageReceiptsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // A list of each acknowledgement. + Receipts []*Receipt `type:"list"` +} + +// String returns the string representation +func (s ListPageReceiptsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPageReceiptsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPageReceiptsOutput) SetNextToken(v string) *ListPageReceiptsOutput { + s.NextToken = &v + return s +} + +// SetReceipts sets the Receipts field's value. +func (s *ListPageReceiptsOutput) SetReceipts(v []*Receipt) *ListPageReceiptsOutput { + s.Receipts = v + return s +} + +type ListPagesByContactInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact you are retrieving engagements + // for. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // The maximum number of engagements to contact channels to list per page of + // results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListPagesByContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPagesByContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPagesByContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPagesByContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *ListPagesByContactInput) SetContactId(v string) *ListPagesByContactInput { + s.ContactId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPagesByContactInput) SetMaxResults(v int64) *ListPagesByContactInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByContactInput) SetNextToken(v string) *ListPagesByContactInput { + s.NextToken = &v + return s +} + +type ListPagesByContactOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The list of engagements to a contact's contact channel. + // + // Pages is a required field + Pages []*Page `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListPagesByContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPagesByContactOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByContactOutput) SetNextToken(v string) *ListPagesByContactOutput { + s.NextToken = &v + return s +} + +// SetPages sets the Pages field's value. +func (s *ListPagesByContactOutput) SetPages(v []*Page) *ListPagesByContactOutput { + s.Pages = v + return s +} + +type ListPagesByEngagementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the engagement. + // + // EngagementId is a required field + EngagementId *string `min:"1" type:"string" required:"true"` + + // The maximum number of engagements to contact channels to list per page of + // results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListPagesByEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPagesByEngagementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPagesByEngagementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPagesByEngagementInput"} + if s.EngagementId == nil { + invalidParams.Add(request.NewErrParamRequired("EngagementId")) + } + if s.EngagementId != nil && len(*s.EngagementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEngagementId sets the EngagementId field's value. +func (s *ListPagesByEngagementInput) SetEngagementId(v string) *ListPagesByEngagementInput { + s.EngagementId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPagesByEngagementInput) SetMaxResults(v int64) *ListPagesByEngagementInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByEngagementInput) SetNextToken(v string) *ListPagesByEngagementInput { + s.NextToken = &v + return s +} + +type ListPagesByEngagementOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The list of engagements to contact channels. + // + // Pages is a required field + Pages []*Page `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListPagesByEngagementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPagesByEngagementOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByEngagementOutput) SetNextToken(v string) *ListPagesByEngagementOutput { + s.NextToken = &v + return s +} + +// SetPages sets the Pages field's value. +func (s *ListPagesByEngagementOutput) SetPages(v []*Page) *ListPagesByEngagementOutput { + s.Pages = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ResourceARN is a required field + ResourceARN *string `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 related to the contact or escalation plan. + 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 +} + +// Incident Manager engaging a contact's contact channel. +type Page struct { + _ struct{} `type:"structure"` + + // The ARN of the contact that Incident Manager is engaging. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The time the message was delivered to the contact channel. + DeliveryTime *time.Time `type:"timestamp"` + + // The ARN of the engagement that this page is part of. + // + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident that's engaging the contact channel. + IncidentId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the page to the contact channel. + // + // PageArn is a required field + PageArn *string `min:"1" type:"string" required:"true"` + + // The time that the contact channel acknowledged engagement. + ReadTime *time.Time `type:"timestamp"` + + // The user that started the engagement. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time that Incident Manager engaged the contact channel. + SentTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s Page) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Page) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *Page) SetContactArn(v string) *Page { + s.ContactArn = &v + return s +} + +// SetDeliveryTime sets the DeliveryTime field's value. +func (s *Page) SetDeliveryTime(v time.Time) *Page { + s.DeliveryTime = &v + return s +} + +// SetEngagementArn sets the EngagementArn field's value. +func (s *Page) SetEngagementArn(v string) *Page { + s.EngagementArn = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *Page) SetIncidentId(v string) *Page { + s.IncidentId = &v + return s +} + +// SetPageArn sets the PageArn field's value. +func (s *Page) SetPageArn(v string) *Page { + s.PageArn = &v + return s +} + +// SetReadTime sets the ReadTime field's value. +func (s *Page) SetReadTime(v time.Time) *Page { + s.ReadTime = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *Page) SetSender(v string) *Page { + s.Sender = &v + return s +} + +// SetSentTime sets the SentTime field's value. +func (s *Page) SetSentTime(v time.Time) *Page { + s.SentTime = &v + return s +} + +// The stages that an escalation plan or engagement plan engages contacts and +// contact methods in. +type Plan struct { + _ struct{} `type:"structure"` + + // A list of stages that the escalation plan or engagement plan uses to engage + // contacts and contact methods. + // + // Stages is a required field + Stages []*Stage `type:"list" required:"true"` +} + +// String returns the string representation +func (s Plan) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Plan) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Plan) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Plan"} + if s.Stages == nil { + invalidParams.Add(request.NewErrParamRequired("Stages")) + } + if s.Stages != nil { + for i, v := range s.Stages { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Stages", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStages sets the Stages field's value. +func (s *Plan) SetStages(v []*Stage) *Plan { + s.Stages = v + return s +} + +type PutContactPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // Details of the resource policy. + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutContactPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutContactPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutContactPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutContactPolicyInput"} + if s.ContactArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContactArn")) + } + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactArn sets the ContactArn field's value. +func (s *PutContactPolicyInput) SetContactArn(v string) *PutContactPolicyInput { + s.ContactArn = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *PutContactPolicyInput) SetPolicy(v string) *PutContactPolicyInput { + s.Policy = &v + return s +} + +type PutContactPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutContactPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutContactPolicyOutput) GoString() string { + return s.String() +} + +// Records events during an engagement. +type Receipt struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged. + ContactChannelArn *string `min:"1" type:"string"` + + // Information provided during the page acknowledgement. + ReceiptInfo *string `min:"1" type:"string"` + + // The time receipt was SENT, DELIVERED, or READ. + // + // ReceiptTime is a required field + ReceiptTime *time.Time `type:"timestamp" required:"true"` + + // The type follows the engagement cycle, SENT, DELIVERED, and READ. + // + // ReceiptType is a required field + ReceiptType *string `type:"string" required:"true" enum:"ReceiptType"` +} + +// String returns the string representation +func (s Receipt) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Receipt) GoString() string { + return s.String() +} + +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *Receipt) SetContactChannelArn(v string) *Receipt { + s.ContactChannelArn = &v + return s +} + +// SetReceiptInfo sets the ReceiptInfo field's value. +func (s *Receipt) SetReceiptInfo(v string) *Receipt { + s.ReceiptInfo = &v + return s +} + +// SetReceiptTime sets the ReceiptTime field's value. +func (s *Receipt) SetReceiptTime(v time.Time) *Receipt { + s.ReceiptTime = &v + return s +} + +// SetReceiptType sets the ReceiptType field's value. +func (s *Receipt) SetReceiptType(v string) *Receipt { + s.ReceiptType = &v + return s +} + +// Request references a resource that doesn't exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // Hypothetical resource identifier that was not found + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // Hypothetical resource type that was not found + // + // ResourceType is a required field + ResourceType *string `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 +} + +type SendActivationCodeInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SendActivationCodeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendActivationCodeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendActivationCodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendActivationCodeInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *SendActivationCodeInput) SetContactChannelId(v string) *SendActivationCodeInput { + s.ContactChannelId = &v + return s +} + +type SendActivationCodeOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SendActivationCodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendActivationCodeOutput) GoString() string { + return s.String() +} + +// Request would cause a service quota to be exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // Service Quotas requirement to identify originating service + // + // QuotaCode is a required field + QuotaCode *string `type:"string" required:"true"` + + // Identifier of the resource affected + ResourceId *string `type:"string"` + + // Type of the resource affected + ResourceType *string `type:"string"` + + // Service Quotas requirement to identify originating quota + // + // ServiceCode is a required field + ServiceCode *string `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 +} + +// A set amount of time that an escalation plan or engagement plan engages the +// specified contacts or contact methods. +type Stage struct { + _ struct{} `type:"structure"` + + // The time to wait until beginning the next stage. + // + // DurationInMinutes is a required field + DurationInMinutes *int64 `type:"integer" required:"true"` + + // The contacts or contact methods that the escalation plan or engagement plan + // is engaging. + // + // Targets is a required field + Targets []*Target `type:"list" required:"true"` +} + +// String returns the string representation +func (s Stage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Stage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Stage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Stage"} + if s.DurationInMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("DurationInMinutes")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + 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 +} + +// SetDurationInMinutes sets the DurationInMinutes field's value. +func (s *Stage) SetDurationInMinutes(v int64) *Stage { + s.DurationInMinutes = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *Stage) SetTargets(v []*Target) *Stage { + s.Targets = v + return s +} + +type StartEngagementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact being engaged. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // The secure content of the message that was sent to the contact. Use this + // field for engagements to VOICE or EMAIL. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // A token ensuring that the action is called only once with the specified details. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The ARN of the incident that the engagement is part of. + IncidentId *string `type:"string"` + + // The insecure content of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicContent *string `min:"1" type:"string"` + + // The insecure subject of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicSubject *string `min:"1" type:"string"` + + // The user that started the engagement. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The secure subject of the message that was sent to the contact. Use this + // field for engagements to VOICE or EMAIL. + // + // Subject is a required field + Subject *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartEngagementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartEngagementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartEngagementInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.PublicContent != nil && len(*s.PublicContent) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PublicContent", 1)) + } + if s.PublicSubject != nil && len(*s.PublicSubject) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PublicSubject", 1)) + } + if s.Sender == nil { + invalidParams.Add(request.NewErrParamRequired("Sender")) + } + if s.Subject == nil { + invalidParams.Add(request.NewErrParamRequired("Subject")) + } + if s.Subject != nil && len(*s.Subject) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Subject", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *StartEngagementInput) SetContactId(v string) *StartEngagementInput { + s.ContactId = &v + return s +} + +// SetContent sets the Content field's value. +func (s *StartEngagementInput) SetContent(v string) *StartEngagementInput { + s.Content = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *StartEngagementInput) SetIdempotencyToken(v string) *StartEngagementInput { + s.IdempotencyToken = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *StartEngagementInput) SetIncidentId(v string) *StartEngagementInput { + s.IncidentId = &v + return s +} + +// SetPublicContent sets the PublicContent field's value. +func (s *StartEngagementInput) SetPublicContent(v string) *StartEngagementInput { + s.PublicContent = &v + return s +} + +// SetPublicSubject sets the PublicSubject field's value. +func (s *StartEngagementInput) SetPublicSubject(v string) *StartEngagementInput { + s.PublicSubject = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *StartEngagementInput) SetSender(v string) *StartEngagementInput { + s.Sender = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *StartEngagementInput) SetSubject(v string) *StartEngagementInput { + s.Subject = &v + return s +} + +type StartEngagementOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the engagement. + // + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartEngagementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartEngagementOutput) GoString() string { + return s.String() +} + +// SetEngagementArn sets the EngagementArn field's value. +func (s *StartEngagementOutput) SetEngagementArn(v string) *StartEngagementOutput { + s.EngagementArn = &v + return s +} + +type StopEngagementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the engagement. + // + // EngagementId is a required field + EngagementId *string `min:"1" type:"string" required:"true"` + + // The reason that you're stopping the engagement. + Reason *string `type:"string"` +} + +// String returns the string representation +func (s StopEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopEngagementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopEngagementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopEngagementInput"} + if s.EngagementId == nil { + invalidParams.Add(request.NewErrParamRequired("EngagementId")) + } + if s.EngagementId != nil && len(*s.EngagementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEngagementId sets the EngagementId field's value. +func (s *StopEngagementInput) SetEngagementId(v string) *StopEngagementInput { + s.EngagementId = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *StopEngagementInput) SetReason(v string) *StopEngagementInput { + s.Reason = &v + return s +} + +type StopEngagementOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopEngagementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopEngagementOutput) GoString() string { + return s.String() +} + +// A container of a key-value name pair. +type Tag struct { + _ struct{} `type:"structure"` + + // Name of the object key. + Key *string `min:"1" type:"string"` + + // Value of the tag. + Value *string `min:"1" type:"string"` +} + +// 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 && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + 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 Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // A list of tags that you are adding to the contact or escalation plan. + // + // 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() +} + +// The contact or contact channel that is being engaged. +type Target struct { + _ struct{} `type:"structure"` + + // Information about the contact channel Incident Manager is engaging. + ChannelTargetInfo *ChannelTargetInfo `type:"structure"` + + // Information about the contact that Incident Manager is engaging. + ContactTargetInfo *ContactTargetInfo `type:"structure"` +} + +// String returns the string representation +func (s Target) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Target) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Target) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Target"} + if s.ChannelTargetInfo != nil { + if err := s.ChannelTargetInfo.Validate(); err != nil { + invalidParams.AddNested("ChannelTargetInfo", err.(request.ErrInvalidParams)) + } + } + if s.ContactTargetInfo != nil { + if err := s.ContactTargetInfo.Validate(); err != nil { + invalidParams.AddNested("ContactTargetInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelTargetInfo sets the ChannelTargetInfo field's value. +func (s *Target) SetChannelTargetInfo(v *ChannelTargetInfo) *Target { + s.ChannelTargetInfo = v + return s +} + +// SetContactTargetInfo sets the ContactTargetInfo field's value. +func (s *Target) SetContactTargetInfo(v *ContactTargetInfo) *Target { + s.ContactTargetInfo = v + return s +} + +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // Service Quotas requirement to identify originating service + QuotaCode *string `type:"string"` + + // Advice to clients on when the call can be safely retried + RetryAfterSeconds *int64 `type:"integer"` + + // Service Quotas requirement to identify originating quota + ServiceCode *string `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 +} + +// A range of between two set times +type TimeRange struct { + _ struct{} `type:"structure"` + + // The end of the time range. + EndTime *time.Time `type:"timestamp"` + + // The start of the time range. + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TimeRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimeRange) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *TimeRange) SetEndTime(v time.Time) *TimeRange { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *TimeRange) SetStartTime(v time.Time) *TimeRange { + s.StartTime = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The key of the tag that you want to remove. + // + // TagKeys is a required field + TagKeys []*string `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 UpdateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel you want to update. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` + + // The details that Incident Manager uses when trying to engage the contact + // channel. + DeliveryAddress *ContactChannelAddress `type:"structure"` + + // The name of the contact channel + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.DeliveryAddress != nil { + if err := s.DeliveryAddress.Validate(); err != nil { + invalidParams.AddNested("DeliveryAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *UpdateContactChannelInput) SetContactChannelId(v string) *UpdateContactChannelInput { + s.ContactChannelId = &v + return s +} + +// SetDeliveryAddress sets the DeliveryAddress field's value. +func (s *UpdateContactChannelInput) SetDeliveryAddress(v *ContactChannelAddress) *UpdateContactChannelInput { + s.DeliveryAddress = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateContactChannelInput) SetName(v string) *UpdateContactChannelInput { + s.Name = &v + return s +} + +type UpdateContactChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateContactChannelOutput) GoString() string { + return s.String() +} + +type UpdateContactInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan you're updating. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // The full name of the contact or escalation plan. + DisplayName *string `min:"1" type:"string"` + + // A list of stages. A contact has an engagement plan with stages for specified + // contact channels. An escalation plan uses these stages to contact specified + // contacts. + Plan *Plan `type:"structure"` +} + +// String returns the string representation +func (s UpdateContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.DisplayName != nil && len(*s.DisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) + } + if s.Plan != nil { + if err := s.Plan.Validate(); err != nil { + invalidParams.AddNested("Plan", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *UpdateContactInput) SetContactId(v string) *UpdateContactInput { + s.ContactId = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdateContactInput) SetDisplayName(v string) *UpdateContactInput { + s.DisplayName = &v + return s +} + +// SetPlan sets the Plan field's value. +func (s *UpdateContactInput) SetPlan(v *Plan) *UpdateContactInput { + s.Plan = v + return s +} + +type UpdateContactOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateContactOutput) 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 fields that caused the error + Fields []*ValidationExceptionField `type:"list"` + + Message_ *string `locationName:"Message" type:"string"` + + // Reason the request failed validation + Reason *string `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 +} + +// Provides information about which field caused the exception. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // Information about what caused the field to cause an exception. + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // The name of the field that caused the exception. + // + // Name is a required field + Name *string `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 ( + // AcceptTypeDelivered is a AcceptType enum value + AcceptTypeDelivered = "DELIVERED" + + // AcceptTypeRead is a AcceptType enum value + AcceptTypeRead = "READ" +) + +// AcceptType_Values returns all elements of the AcceptType enum +func AcceptType_Values() []string { + return []string{ + AcceptTypeDelivered, + AcceptTypeRead, + } +} + +const ( + // ActivationStatusActivated is a ActivationStatus enum value + ActivationStatusActivated = "ACTIVATED" + + // ActivationStatusNotActivated is a ActivationStatus enum value + ActivationStatusNotActivated = "NOT_ACTIVATED" +) + +// ActivationStatus_Values returns all elements of the ActivationStatus enum +func ActivationStatus_Values() []string { + return []string{ + ActivationStatusActivated, + ActivationStatusNotActivated, + } +} + +const ( + // ChannelTypeSms is a ChannelType enum value + ChannelTypeSms = "SMS" + + // ChannelTypeVoice is a ChannelType enum value + ChannelTypeVoice = "VOICE" + + // ChannelTypeEmail is a ChannelType enum value + ChannelTypeEmail = "EMAIL" +) + +// ChannelType_Values returns all elements of the ChannelType enum +func ChannelType_Values() []string { + return []string{ + ChannelTypeSms, + ChannelTypeVoice, + ChannelTypeEmail, + } +} + +const ( + // ContactTypePersonal is a ContactType enum value + ContactTypePersonal = "PERSONAL" + + // ContactTypeEscalation is a ContactType enum value + ContactTypeEscalation = "ESCALATION" +) + +// ContactType_Values returns all elements of the ContactType enum +func ContactType_Values() []string { + return []string{ + ContactTypePersonal, + ContactTypeEscalation, + } +} + +const ( + // ReceiptTypeDelivered is a ReceiptType enum value + ReceiptTypeDelivered = "DELIVERED" + + // ReceiptTypeError is a ReceiptType enum value + ReceiptTypeError = "ERROR" + + // ReceiptTypeRead is a ReceiptType enum value + ReceiptTypeRead = "READ" + + // ReceiptTypeSent is a ReceiptType enum value + ReceiptTypeSent = "SENT" + + // ReceiptTypeStop is a ReceiptType enum value + ReceiptTypeStop = "STOP" +) + +// ReceiptType_Values returns all elements of the ReceiptType enum +func ReceiptType_Values() []string { + return []string{ + ReceiptTypeDelivered, + ReceiptTypeError, + ReceiptTypeRead, + ReceiptTypeSent, + ReceiptTypeStop, + } +} + +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/ssmcontacts/doc.go b/service/ssmcontacts/doc.go new file mode 100644 index 00000000000..f77fbdb7345 --- /dev/null +++ b/service/ssmcontacts/doc.go @@ -0,0 +1,26 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package ssmcontacts provides the client and types for making API +// requests to AWS Systems Manager Incident Manager Contacts. +// +// See https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03 for more information on this service. +// +// See ssmcontacts package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/ssmcontacts/ +// +// Using the Client +// +// To contact AWS Systems Manager Incident Manager Contacts 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 Systems Manager Incident Manager Contacts client SSMContacts for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/ssmcontacts/#New +package ssmcontacts diff --git a/service/ssmcontacts/errors.go b/service/ssmcontacts/errors.go new file mode 100644 index 00000000000..40182f15019 --- /dev/null +++ b/service/ssmcontacts/errors.go @@ -0,0 +1,69 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmcontacts + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You don't have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Updating or deleting a resource causes an inconsistent state. + ErrCodeConflictException = "ConflictException" + + // ErrCodeDataEncryptionException for service response error code + // "DataEncryptionException". + // + // The action failed to due an encryption key error. + ErrCodeDataEncryptionException = "DataEncryptionException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Unexpected error occurred while processing the request. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Request references a resource that doesn't 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". + // + // The 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, + "DataEncryptionException": newErrorDataEncryptionException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/ssmcontacts/service.go b/service/ssmcontacts/service.go new file mode 100644 index 00000000000..2f869281479 --- /dev/null +++ b/service/ssmcontacts/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmcontacts + +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/jsonrpc" +) + +// SSMContacts provides the API operation methods for making requests to +// AWS Systems Manager Incident Manager Contacts. See this package's package overview docs +// for details on the service. +// +// SSMContacts methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type SSMContacts 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 = "SSM Contacts" // Name of service. + EndpointsID = "ssm-contacts" // ID to lookup a service endpoint with. + ServiceID = "SSM Contacts" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the SSMContacts 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 SSMContacts client from just a session. +// svc := ssmcontacts.New(mySession) +// +// // Create a SSMContacts client with additional configuration +// svc := ssmcontacts.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *SSMContacts { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "ssm-contacts" + } + 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) *SSMContacts { + svc := &SSMContacts{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-05-03", + JSONVersion: "1.1", + TargetPrefix: "SSMContacts", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a SSMContacts operation and runs any +// custom request initialization. +func (c *SSMContacts) 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/ssmcontacts/ssmcontactsiface/interface.go b/service/ssmcontacts/ssmcontactsiface/interface.go new file mode 100644 index 00000000000..24f4bc00494 --- /dev/null +++ b/service/ssmcontacts/ssmcontactsiface/interface.go @@ -0,0 +1,190 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package ssmcontactsiface provides an interface to enable mocking the AWS Systems Manager Incident Manager Contacts 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 ssmcontactsiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/ssmcontacts" +) + +// SSMContactsAPI provides an interface to enable mocking the +// ssmcontacts.SSMContacts 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 Systems Manager Incident Manager Contacts. +// func myFunc(svc ssmcontactsiface.SSMContactsAPI) bool { +// // Make svc.AcceptPage request +// } +// +// func main() { +// sess := session.New() +// svc := ssmcontacts.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockSSMContactsClient struct { +// ssmcontactsiface.SSMContactsAPI +// } +// func (m *mockSSMContactsClient) AcceptPage(input *ssmcontacts.AcceptPageInput) (*ssmcontacts.AcceptPageOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockSSMContactsClient{} +// +// 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 SSMContactsAPI interface { + AcceptPage(*ssmcontacts.AcceptPageInput) (*ssmcontacts.AcceptPageOutput, error) + AcceptPageWithContext(aws.Context, *ssmcontacts.AcceptPageInput, ...request.Option) (*ssmcontacts.AcceptPageOutput, error) + AcceptPageRequest(*ssmcontacts.AcceptPageInput) (*request.Request, *ssmcontacts.AcceptPageOutput) + + ActivateContactChannel(*ssmcontacts.ActivateContactChannelInput) (*ssmcontacts.ActivateContactChannelOutput, error) + ActivateContactChannelWithContext(aws.Context, *ssmcontacts.ActivateContactChannelInput, ...request.Option) (*ssmcontacts.ActivateContactChannelOutput, error) + ActivateContactChannelRequest(*ssmcontacts.ActivateContactChannelInput) (*request.Request, *ssmcontacts.ActivateContactChannelOutput) + + CreateContact(*ssmcontacts.CreateContactInput) (*ssmcontacts.CreateContactOutput, error) + CreateContactWithContext(aws.Context, *ssmcontacts.CreateContactInput, ...request.Option) (*ssmcontacts.CreateContactOutput, error) + CreateContactRequest(*ssmcontacts.CreateContactInput) (*request.Request, *ssmcontacts.CreateContactOutput) + + CreateContactChannel(*ssmcontacts.CreateContactChannelInput) (*ssmcontacts.CreateContactChannelOutput, error) + CreateContactChannelWithContext(aws.Context, *ssmcontacts.CreateContactChannelInput, ...request.Option) (*ssmcontacts.CreateContactChannelOutput, error) + CreateContactChannelRequest(*ssmcontacts.CreateContactChannelInput) (*request.Request, *ssmcontacts.CreateContactChannelOutput) + + DeactivateContactChannel(*ssmcontacts.DeactivateContactChannelInput) (*ssmcontacts.DeactivateContactChannelOutput, error) + DeactivateContactChannelWithContext(aws.Context, *ssmcontacts.DeactivateContactChannelInput, ...request.Option) (*ssmcontacts.DeactivateContactChannelOutput, error) + DeactivateContactChannelRequest(*ssmcontacts.DeactivateContactChannelInput) (*request.Request, *ssmcontacts.DeactivateContactChannelOutput) + + DeleteContact(*ssmcontacts.DeleteContactInput) (*ssmcontacts.DeleteContactOutput, error) + DeleteContactWithContext(aws.Context, *ssmcontacts.DeleteContactInput, ...request.Option) (*ssmcontacts.DeleteContactOutput, error) + DeleteContactRequest(*ssmcontacts.DeleteContactInput) (*request.Request, *ssmcontacts.DeleteContactOutput) + + DeleteContactChannel(*ssmcontacts.DeleteContactChannelInput) (*ssmcontacts.DeleteContactChannelOutput, error) + DeleteContactChannelWithContext(aws.Context, *ssmcontacts.DeleteContactChannelInput, ...request.Option) (*ssmcontacts.DeleteContactChannelOutput, error) + DeleteContactChannelRequest(*ssmcontacts.DeleteContactChannelInput) (*request.Request, *ssmcontacts.DeleteContactChannelOutput) + + DescribeEngagement(*ssmcontacts.DescribeEngagementInput) (*ssmcontacts.DescribeEngagementOutput, error) + DescribeEngagementWithContext(aws.Context, *ssmcontacts.DescribeEngagementInput, ...request.Option) (*ssmcontacts.DescribeEngagementOutput, error) + DescribeEngagementRequest(*ssmcontacts.DescribeEngagementInput) (*request.Request, *ssmcontacts.DescribeEngagementOutput) + + DescribePage(*ssmcontacts.DescribePageInput) (*ssmcontacts.DescribePageOutput, error) + DescribePageWithContext(aws.Context, *ssmcontacts.DescribePageInput, ...request.Option) (*ssmcontacts.DescribePageOutput, error) + DescribePageRequest(*ssmcontacts.DescribePageInput) (*request.Request, *ssmcontacts.DescribePageOutput) + + GetContact(*ssmcontacts.GetContactInput) (*ssmcontacts.GetContactOutput, error) + GetContactWithContext(aws.Context, *ssmcontacts.GetContactInput, ...request.Option) (*ssmcontacts.GetContactOutput, error) + GetContactRequest(*ssmcontacts.GetContactInput) (*request.Request, *ssmcontacts.GetContactOutput) + + GetContactChannel(*ssmcontacts.GetContactChannelInput) (*ssmcontacts.GetContactChannelOutput, error) + GetContactChannelWithContext(aws.Context, *ssmcontacts.GetContactChannelInput, ...request.Option) (*ssmcontacts.GetContactChannelOutput, error) + GetContactChannelRequest(*ssmcontacts.GetContactChannelInput) (*request.Request, *ssmcontacts.GetContactChannelOutput) + + GetContactPolicy(*ssmcontacts.GetContactPolicyInput) (*ssmcontacts.GetContactPolicyOutput, error) + GetContactPolicyWithContext(aws.Context, *ssmcontacts.GetContactPolicyInput, ...request.Option) (*ssmcontacts.GetContactPolicyOutput, error) + GetContactPolicyRequest(*ssmcontacts.GetContactPolicyInput) (*request.Request, *ssmcontacts.GetContactPolicyOutput) + + ListContactChannels(*ssmcontacts.ListContactChannelsInput) (*ssmcontacts.ListContactChannelsOutput, error) + ListContactChannelsWithContext(aws.Context, *ssmcontacts.ListContactChannelsInput, ...request.Option) (*ssmcontacts.ListContactChannelsOutput, error) + ListContactChannelsRequest(*ssmcontacts.ListContactChannelsInput) (*request.Request, *ssmcontacts.ListContactChannelsOutput) + + ListContactChannelsPages(*ssmcontacts.ListContactChannelsInput, func(*ssmcontacts.ListContactChannelsOutput, bool) bool) error + ListContactChannelsPagesWithContext(aws.Context, *ssmcontacts.ListContactChannelsInput, func(*ssmcontacts.ListContactChannelsOutput, bool) bool, ...request.Option) error + + ListContacts(*ssmcontacts.ListContactsInput) (*ssmcontacts.ListContactsOutput, error) + ListContactsWithContext(aws.Context, *ssmcontacts.ListContactsInput, ...request.Option) (*ssmcontacts.ListContactsOutput, error) + ListContactsRequest(*ssmcontacts.ListContactsInput) (*request.Request, *ssmcontacts.ListContactsOutput) + + ListContactsPages(*ssmcontacts.ListContactsInput, func(*ssmcontacts.ListContactsOutput, bool) bool) error + ListContactsPagesWithContext(aws.Context, *ssmcontacts.ListContactsInput, func(*ssmcontacts.ListContactsOutput, bool) bool, ...request.Option) error + + ListEngagements(*ssmcontacts.ListEngagementsInput) (*ssmcontacts.ListEngagementsOutput, error) + ListEngagementsWithContext(aws.Context, *ssmcontacts.ListEngagementsInput, ...request.Option) (*ssmcontacts.ListEngagementsOutput, error) + ListEngagementsRequest(*ssmcontacts.ListEngagementsInput) (*request.Request, *ssmcontacts.ListEngagementsOutput) + + ListEngagementsPages(*ssmcontacts.ListEngagementsInput, func(*ssmcontacts.ListEngagementsOutput, bool) bool) error + ListEngagementsPagesWithContext(aws.Context, *ssmcontacts.ListEngagementsInput, func(*ssmcontacts.ListEngagementsOutput, bool) bool, ...request.Option) error + + ListPageReceipts(*ssmcontacts.ListPageReceiptsInput) (*ssmcontacts.ListPageReceiptsOutput, error) + ListPageReceiptsWithContext(aws.Context, *ssmcontacts.ListPageReceiptsInput, ...request.Option) (*ssmcontacts.ListPageReceiptsOutput, error) + ListPageReceiptsRequest(*ssmcontacts.ListPageReceiptsInput) (*request.Request, *ssmcontacts.ListPageReceiptsOutput) + + ListPageReceiptsPages(*ssmcontacts.ListPageReceiptsInput, func(*ssmcontacts.ListPageReceiptsOutput, bool) bool) error + ListPageReceiptsPagesWithContext(aws.Context, *ssmcontacts.ListPageReceiptsInput, func(*ssmcontacts.ListPageReceiptsOutput, bool) bool, ...request.Option) error + + ListPagesByContact(*ssmcontacts.ListPagesByContactInput) (*ssmcontacts.ListPagesByContactOutput, error) + ListPagesByContactWithContext(aws.Context, *ssmcontacts.ListPagesByContactInput, ...request.Option) (*ssmcontacts.ListPagesByContactOutput, error) + ListPagesByContactRequest(*ssmcontacts.ListPagesByContactInput) (*request.Request, *ssmcontacts.ListPagesByContactOutput) + + ListPagesByContactPages(*ssmcontacts.ListPagesByContactInput, func(*ssmcontacts.ListPagesByContactOutput, bool) bool) error + ListPagesByContactPagesWithContext(aws.Context, *ssmcontacts.ListPagesByContactInput, func(*ssmcontacts.ListPagesByContactOutput, bool) bool, ...request.Option) error + + ListPagesByEngagement(*ssmcontacts.ListPagesByEngagementInput) (*ssmcontacts.ListPagesByEngagementOutput, error) + ListPagesByEngagementWithContext(aws.Context, *ssmcontacts.ListPagesByEngagementInput, ...request.Option) (*ssmcontacts.ListPagesByEngagementOutput, error) + ListPagesByEngagementRequest(*ssmcontacts.ListPagesByEngagementInput) (*request.Request, *ssmcontacts.ListPagesByEngagementOutput) + + ListPagesByEngagementPages(*ssmcontacts.ListPagesByEngagementInput, func(*ssmcontacts.ListPagesByEngagementOutput, bool) bool) error + ListPagesByEngagementPagesWithContext(aws.Context, *ssmcontacts.ListPagesByEngagementInput, func(*ssmcontacts.ListPagesByEngagementOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*ssmcontacts.ListTagsForResourceInput) (*ssmcontacts.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *ssmcontacts.ListTagsForResourceInput, ...request.Option) (*ssmcontacts.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*ssmcontacts.ListTagsForResourceInput) (*request.Request, *ssmcontacts.ListTagsForResourceOutput) + + PutContactPolicy(*ssmcontacts.PutContactPolicyInput) (*ssmcontacts.PutContactPolicyOutput, error) + PutContactPolicyWithContext(aws.Context, *ssmcontacts.PutContactPolicyInput, ...request.Option) (*ssmcontacts.PutContactPolicyOutput, error) + PutContactPolicyRequest(*ssmcontacts.PutContactPolicyInput) (*request.Request, *ssmcontacts.PutContactPolicyOutput) + + SendActivationCode(*ssmcontacts.SendActivationCodeInput) (*ssmcontacts.SendActivationCodeOutput, error) + SendActivationCodeWithContext(aws.Context, *ssmcontacts.SendActivationCodeInput, ...request.Option) (*ssmcontacts.SendActivationCodeOutput, error) + SendActivationCodeRequest(*ssmcontacts.SendActivationCodeInput) (*request.Request, *ssmcontacts.SendActivationCodeOutput) + + StartEngagement(*ssmcontacts.StartEngagementInput) (*ssmcontacts.StartEngagementOutput, error) + StartEngagementWithContext(aws.Context, *ssmcontacts.StartEngagementInput, ...request.Option) (*ssmcontacts.StartEngagementOutput, error) + StartEngagementRequest(*ssmcontacts.StartEngagementInput) (*request.Request, *ssmcontacts.StartEngagementOutput) + + StopEngagement(*ssmcontacts.StopEngagementInput) (*ssmcontacts.StopEngagementOutput, error) + StopEngagementWithContext(aws.Context, *ssmcontacts.StopEngagementInput, ...request.Option) (*ssmcontacts.StopEngagementOutput, error) + StopEngagementRequest(*ssmcontacts.StopEngagementInput) (*request.Request, *ssmcontacts.StopEngagementOutput) + + TagResource(*ssmcontacts.TagResourceInput) (*ssmcontacts.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *ssmcontacts.TagResourceInput, ...request.Option) (*ssmcontacts.TagResourceOutput, error) + TagResourceRequest(*ssmcontacts.TagResourceInput) (*request.Request, *ssmcontacts.TagResourceOutput) + + UntagResource(*ssmcontacts.UntagResourceInput) (*ssmcontacts.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *ssmcontacts.UntagResourceInput, ...request.Option) (*ssmcontacts.UntagResourceOutput, error) + UntagResourceRequest(*ssmcontacts.UntagResourceInput) (*request.Request, *ssmcontacts.UntagResourceOutput) + + UpdateContact(*ssmcontacts.UpdateContactInput) (*ssmcontacts.UpdateContactOutput, error) + UpdateContactWithContext(aws.Context, *ssmcontacts.UpdateContactInput, ...request.Option) (*ssmcontacts.UpdateContactOutput, error) + UpdateContactRequest(*ssmcontacts.UpdateContactInput) (*request.Request, *ssmcontacts.UpdateContactOutput) + + UpdateContactChannel(*ssmcontacts.UpdateContactChannelInput) (*ssmcontacts.UpdateContactChannelOutput, error) + UpdateContactChannelWithContext(aws.Context, *ssmcontacts.UpdateContactChannelInput, ...request.Option) (*ssmcontacts.UpdateContactChannelOutput, error) + UpdateContactChannelRequest(*ssmcontacts.UpdateContactChannelInput) (*request.Request, *ssmcontacts.UpdateContactChannelOutput) +} + +var _ SSMContactsAPI = (*ssmcontacts.SSMContacts)(nil) diff --git a/service/ssmincidents/api.go b/service/ssmincidents/api.go new file mode 100644 index 00000000000..b0ac4f1eaed --- /dev/null +++ b/service/ssmincidents/api.go @@ -0,0 +1,7968 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmincidents + +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 opCreateReplicationSet = "CreateReplicationSet" + +// CreateReplicationSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateReplicationSet 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 CreateReplicationSet for more information on using the CreateReplicationSet +// 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 CreateReplicationSetRequest method. +// req, resp := client.CreateReplicationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateReplicationSet +func (c *SSMIncidents) CreateReplicationSetRequest(input *CreateReplicationSetInput) (req *request.Request, output *CreateReplicationSetOutput) { + op := &request.Operation{ + Name: opCreateReplicationSet, + HTTPMethod: "POST", + HTTPPath: "/createReplicationSet", + } + + if input == nil { + input = &CreateReplicationSetInput{} + } + + output = &CreateReplicationSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateReplicationSet API operation for AWS Systems Manager Incident Manager. +// +// A replication set replicates and encrypts your data to the provided Regions +// with the provided KMS key. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager's +// API operation CreateReplicationSet for usage and error information. +// +// Returned Error Types: +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateReplicationSet +func (c *SSMIncidents) CreateReplicationSet(input *CreateReplicationSetInput) (*CreateReplicationSetOutput, error) { + req, out := c.CreateReplicationSetRequest(input) + return out, req.Send() +} + +// CreateReplicationSetWithContext is the same as CreateReplicationSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateReplicationSet 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 *SSMIncidents) CreateReplicationSetWithContext(ctx aws.Context, input *CreateReplicationSetInput, opts ...request.Option) (*CreateReplicationSetOutput, error) { + req, out := c.CreateReplicationSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateResponsePlan = "CreateResponsePlan" + +// CreateResponsePlanRequest generates a "aws/request.Request" representing the +// client's request for the CreateResponsePlan 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 CreateResponsePlan for more information on using the CreateResponsePlan +// 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 CreateResponsePlanRequest method. +// req, resp := client.CreateResponsePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateResponsePlan +func (c *SSMIncidents) CreateResponsePlanRequest(input *CreateResponsePlanInput) (req *request.Request, output *CreateResponsePlanOutput) { + op := &request.Operation{ + Name: opCreateResponsePlan, + HTTPMethod: "POST", + HTTPPath: "/createResponsePlan", + } + + if input == nil { + input = &CreateResponsePlanInput{} + } + + output = &CreateResponsePlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateResponsePlan API operation for AWS Systems Manager Incident Manager. +// +// Creates a response plan that automates the initial response to incidents. +// A response plan engages contacts, starts chat channel collaboration, and +// initiates runbooks at the beginning of an incident. +// +// 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 Systems Manager Incident Manager's +// API operation CreateResponsePlan for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateResponsePlan +func (c *SSMIncidents) CreateResponsePlan(input *CreateResponsePlanInput) (*CreateResponsePlanOutput, error) { + req, out := c.CreateResponsePlanRequest(input) + return out, req.Send() +} + +// CreateResponsePlanWithContext is the same as CreateResponsePlan with the addition of +// the ability to pass a context and additional request options. +// +// See CreateResponsePlan 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 *SSMIncidents) CreateResponsePlanWithContext(ctx aws.Context, input *CreateResponsePlanInput, opts ...request.Option) (*CreateResponsePlanOutput, error) { + req, out := c.CreateResponsePlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTimelineEvent = "CreateTimelineEvent" + +// CreateTimelineEventRequest generates a "aws/request.Request" representing the +// client's request for the CreateTimelineEvent 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 CreateTimelineEvent for more information on using the CreateTimelineEvent +// 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 CreateTimelineEventRequest method. +// req, resp := client.CreateTimelineEventRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateTimelineEvent +func (c *SSMIncidents) CreateTimelineEventRequest(input *CreateTimelineEventInput) (req *request.Request, output *CreateTimelineEventOutput) { + op := &request.Operation{ + Name: opCreateTimelineEvent, + HTTPMethod: "POST", + HTTPPath: "/createTimelineEvent", + } + + if input == nil { + input = &CreateTimelineEventInput{} + } + + output = &CreateTimelineEventOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTimelineEvent API operation for AWS Systems Manager Incident Manager. +// +// Creates a custom timeline event on the incident details page of an incident +// record. Timeline events are automatically created by Incident Manager, marking +// key moment during an incident. You can create custom timeline events to mark +// important events that are automatically detected by Incident 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 +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager's +// API operation CreateTimelineEvent for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateTimelineEvent +func (c *SSMIncidents) CreateTimelineEvent(input *CreateTimelineEventInput) (*CreateTimelineEventOutput, error) { + req, out := c.CreateTimelineEventRequest(input) + return out, req.Send() +} + +// CreateTimelineEventWithContext is the same as CreateTimelineEvent with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTimelineEvent 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 *SSMIncidents) CreateTimelineEventWithContext(ctx aws.Context, input *CreateTimelineEventInput, opts ...request.Option) (*CreateTimelineEventOutput, error) { + req, out := c.CreateTimelineEventRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIncidentRecord = "DeleteIncidentRecord" + +// DeleteIncidentRecordRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIncidentRecord 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 DeleteIncidentRecord for more information on using the DeleteIncidentRecord +// 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 DeleteIncidentRecordRequest method. +// req, resp := client.DeleteIncidentRecordRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteIncidentRecord +func (c *SSMIncidents) DeleteIncidentRecordRequest(input *DeleteIncidentRecordInput) (req *request.Request, output *DeleteIncidentRecordOutput) { + op := &request.Operation{ + Name: opDeleteIncidentRecord, + HTTPMethod: "POST", + HTTPPath: "/deleteIncidentRecord", + } + + if input == nil { + input = &DeleteIncidentRecordInput{} + } + + output = &DeleteIncidentRecordOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIncidentRecord API operation for AWS Systems Manager Incident Manager. +// +// Delete an incident record from Incident 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 +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager's +// API operation DeleteIncidentRecord for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteIncidentRecord +func (c *SSMIncidents) DeleteIncidentRecord(input *DeleteIncidentRecordInput) (*DeleteIncidentRecordOutput, error) { + req, out := c.DeleteIncidentRecordRequest(input) + return out, req.Send() +} + +// DeleteIncidentRecordWithContext is the same as DeleteIncidentRecord with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIncidentRecord 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 *SSMIncidents) DeleteIncidentRecordWithContext(ctx aws.Context, input *DeleteIncidentRecordInput, opts ...request.Option) (*DeleteIncidentRecordOutput, error) { + req, out := c.DeleteIncidentRecordRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteReplicationSet = "DeleteReplicationSet" + +// DeleteReplicationSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReplicationSet 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 DeleteReplicationSet for more information on using the DeleteReplicationSet +// 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 DeleteReplicationSetRequest method. +// req, resp := client.DeleteReplicationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteReplicationSet +func (c *SSMIncidents) DeleteReplicationSetRequest(input *DeleteReplicationSetInput) (req *request.Request, output *DeleteReplicationSetOutput) { + op := &request.Operation{ + Name: opDeleteReplicationSet, + HTTPMethod: "POST", + HTTPPath: "/deleteReplicationSet", + } + + if input == nil { + input = &DeleteReplicationSetInput{} + } + + output = &DeleteReplicationSetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteReplicationSet API operation for AWS Systems Manager Incident Manager. +// +// Deletes all Regions in your replication set. Deleting the replication set +// deletes all Incident Manager data. +// +// 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 Systems Manager Incident Manager's +// API operation DeleteReplicationSet for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteReplicationSet +func (c *SSMIncidents) DeleteReplicationSet(input *DeleteReplicationSetInput) (*DeleteReplicationSetOutput, error) { + req, out := c.DeleteReplicationSetRequest(input) + return out, req.Send() +} + +// DeleteReplicationSetWithContext is the same as DeleteReplicationSet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReplicationSet 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 *SSMIncidents) DeleteReplicationSetWithContext(ctx aws.Context, input *DeleteReplicationSetInput, opts ...request.Option) (*DeleteReplicationSetOutput, error) { + req, out := c.DeleteReplicationSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteResourcePolicy = "DeleteResourcePolicy" + +// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourcePolicy 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 DeleteResourcePolicy for more information on using the DeleteResourcePolicy +// 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 DeleteResourcePolicyRequest method. +// req, resp := client.DeleteResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResourcePolicy +func (c *SSMIncidents) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) { + op := &request.Operation{ + Name: opDeleteResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/deleteResourcePolicy", + } + + if input == nil { + input = &DeleteResourcePolicyInput{} + } + + output = &DeleteResourcePolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResourcePolicy API operation for AWS Systems Manager Incident Manager. +// +// Deletes the resource policy that AWS Resource Access Manager uses to share +// your Incident Manager 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 Systems Manager Incident Manager's +// API operation DeleteResourcePolicy for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResourcePolicy +func (c *SSMIncidents) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) { + req, out := c.DeleteResourcePolicyRequest(input) + return out, req.Send() +} + +// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourcePolicy 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 *SSMIncidents) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) { + req, out := c.DeleteResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteResponsePlan = "DeleteResponsePlan" + +// DeleteResponsePlanRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResponsePlan 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 DeleteResponsePlan for more information on using the DeleteResponsePlan +// 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 DeleteResponsePlanRequest method. +// req, resp := client.DeleteResponsePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResponsePlan +func (c *SSMIncidents) DeleteResponsePlanRequest(input *DeleteResponsePlanInput) (req *request.Request, output *DeleteResponsePlanOutput) { + op := &request.Operation{ + Name: opDeleteResponsePlan, + HTTPMethod: "POST", + HTTPPath: "/deleteResponsePlan", + } + + if input == nil { + input = &DeleteResponsePlanInput{} + } + + output = &DeleteResponsePlanOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResponsePlan API operation for AWS Systems Manager Incident Manager. +// +// Deletes the specified response plan. Deleting a response plan stops all linked +// CloudWatch alarms and EventBridge events from creating an incident with this +// response plan. +// +// 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 Systems Manager Incident Manager's +// API operation DeleteResponsePlan for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResponsePlan +func (c *SSMIncidents) DeleteResponsePlan(input *DeleteResponsePlanInput) (*DeleteResponsePlanOutput, error) { + req, out := c.DeleteResponsePlanRequest(input) + return out, req.Send() +} + +// DeleteResponsePlanWithContext is the same as DeleteResponsePlan with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResponsePlan 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 *SSMIncidents) DeleteResponsePlanWithContext(ctx aws.Context, input *DeleteResponsePlanInput, opts ...request.Option) (*DeleteResponsePlanOutput, error) { + req, out := c.DeleteResponsePlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTimelineEvent = "DeleteTimelineEvent" + +// DeleteTimelineEventRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTimelineEvent 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 DeleteTimelineEvent for more information on using the DeleteTimelineEvent +// 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 DeleteTimelineEventRequest method. +// req, resp := client.DeleteTimelineEventRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteTimelineEvent +func (c *SSMIncidents) DeleteTimelineEventRequest(input *DeleteTimelineEventInput) (req *request.Request, output *DeleteTimelineEventOutput) { + op := &request.Operation{ + Name: opDeleteTimelineEvent, + HTTPMethod: "POST", + HTTPPath: "/deleteTimelineEvent", + } + + if input == nil { + input = &DeleteTimelineEventInput{} + } + + output = &DeleteTimelineEventOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTimelineEvent API operation for AWS Systems Manager Incident Manager. +// +// Deletes a timeline event from an incident. +// +// 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 Systems Manager Incident Manager's +// API operation DeleteTimelineEvent for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteTimelineEvent +func (c *SSMIncidents) DeleteTimelineEvent(input *DeleteTimelineEventInput) (*DeleteTimelineEventOutput, error) { + req, out := c.DeleteTimelineEventRequest(input) + return out, req.Send() +} + +// DeleteTimelineEventWithContext is the same as DeleteTimelineEvent with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTimelineEvent 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 *SSMIncidents) DeleteTimelineEventWithContext(ctx aws.Context, input *DeleteTimelineEventInput, opts ...request.Option) (*DeleteTimelineEventOutput, error) { + req, out := c.DeleteTimelineEventRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIncidentRecord = "GetIncidentRecord" + +// GetIncidentRecordRequest generates a "aws/request.Request" representing the +// client's request for the GetIncidentRecord 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 GetIncidentRecord for more information on using the GetIncidentRecord +// 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 GetIncidentRecordRequest method. +// req, resp := client.GetIncidentRecordRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetIncidentRecord +func (c *SSMIncidents) GetIncidentRecordRequest(input *GetIncidentRecordInput) (req *request.Request, output *GetIncidentRecordOutput) { + op := &request.Operation{ + Name: opGetIncidentRecord, + HTTPMethod: "GET", + HTTPPath: "/getIncidentRecord", + } + + if input == nil { + input = &GetIncidentRecordInput{} + } + + output = &GetIncidentRecordOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIncidentRecord API operation for AWS Systems Manager Incident Manager. +// +// Returns the details of the specified incident record. +// +// 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 Systems Manager Incident Manager's +// API operation GetIncidentRecord for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetIncidentRecord +func (c *SSMIncidents) GetIncidentRecord(input *GetIncidentRecordInput) (*GetIncidentRecordOutput, error) { + req, out := c.GetIncidentRecordRequest(input) + return out, req.Send() +} + +// GetIncidentRecordWithContext is the same as GetIncidentRecord with the addition of +// the ability to pass a context and additional request options. +// +// See GetIncidentRecord 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 *SSMIncidents) GetIncidentRecordWithContext(ctx aws.Context, input *GetIncidentRecordInput, opts ...request.Option) (*GetIncidentRecordOutput, error) { + req, out := c.GetIncidentRecordRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetReplicationSet = "GetReplicationSet" + +// GetReplicationSetRequest generates a "aws/request.Request" representing the +// client's request for the GetReplicationSet 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 GetReplicationSet for more information on using the GetReplicationSet +// 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 GetReplicationSetRequest method. +// req, resp := client.GetReplicationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetReplicationSet +func (c *SSMIncidents) GetReplicationSetRequest(input *GetReplicationSetInput) (req *request.Request, output *GetReplicationSetOutput) { + op := &request.Operation{ + Name: opGetReplicationSet, + HTTPMethod: "GET", + HTTPPath: "/getReplicationSet", + } + + if input == nil { + input = &GetReplicationSetInput{} + } + + output = &GetReplicationSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetReplicationSet API operation for AWS Systems Manager Incident Manager. +// +// Retrieve your Incident Manager replication set. +// +// 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 Systems Manager Incident Manager's +// API operation GetReplicationSet for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetReplicationSet +func (c *SSMIncidents) GetReplicationSet(input *GetReplicationSetInput) (*GetReplicationSetOutput, error) { + req, out := c.GetReplicationSetRequest(input) + return out, req.Send() +} + +// GetReplicationSetWithContext is the same as GetReplicationSet with the addition of +// the ability to pass a context and additional request options. +// +// See GetReplicationSet 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 *SSMIncidents) GetReplicationSetWithContext(ctx aws.Context, input *GetReplicationSetInput, opts ...request.Option) (*GetReplicationSetOutput, error) { + req, out := c.GetReplicationSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResourcePolicies = "GetResourcePolicies" + +// GetResourcePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the GetResourcePolicies 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 GetResourcePolicies for more information on using the GetResourcePolicies +// 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 GetResourcePoliciesRequest method. +// req, resp := client.GetResourcePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResourcePolicies +func (c *SSMIncidents) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req *request.Request, output *GetResourcePoliciesOutput) { + op := &request.Operation{ + Name: opGetResourcePolicies, + HTTPMethod: "POST", + HTTPPath: "/getResourcePolicies", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetResourcePoliciesInput{} + } + + output = &GetResourcePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourcePolicies API operation for AWS Systems Manager Incident Manager. +// +// Retrieves the resource policies attached to the specified response plan. +// +// 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 Systems Manager Incident Manager's +// API operation GetResourcePolicies for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResourcePolicies +func (c *SSMIncidents) GetResourcePolicies(input *GetResourcePoliciesInput) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + return out, req.Send() +} + +// GetResourcePoliciesWithContext is the same as GetResourcePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourcePolicies 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 *SSMIncidents) GetResourcePoliciesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, opts ...request.Option) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetResourcePoliciesPages iterates over the pages of a GetResourcePolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetResourcePolicies 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 GetResourcePolicies operation. +// pageNum := 0 +// err := client.GetResourcePoliciesPages(params, +// func(page *ssmincidents.GetResourcePoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMIncidents) GetResourcePoliciesPages(input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool) error { + return c.GetResourcePoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetResourcePoliciesPagesWithContext same as GetResourcePoliciesPages 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 *SSMIncidents) GetResourcePoliciesPagesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetResourcePoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetResourcePoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetResourcePoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetResponsePlan = "GetResponsePlan" + +// GetResponsePlanRequest generates a "aws/request.Request" representing the +// client's request for the GetResponsePlan 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 GetResponsePlan for more information on using the GetResponsePlan +// 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 GetResponsePlanRequest method. +// req, resp := client.GetResponsePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResponsePlan +func (c *SSMIncidents) GetResponsePlanRequest(input *GetResponsePlanInput) (req *request.Request, output *GetResponsePlanOutput) { + op := &request.Operation{ + Name: opGetResponsePlan, + HTTPMethod: "GET", + HTTPPath: "/getResponsePlan", + } + + if input == nil { + input = &GetResponsePlanInput{} + } + + output = &GetResponsePlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResponsePlan API operation for AWS Systems Manager Incident Manager. +// +// Retrieves the details of the specified response plan. +// +// 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 Systems Manager Incident Manager's +// API operation GetResponsePlan for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResponsePlan +func (c *SSMIncidents) GetResponsePlan(input *GetResponsePlanInput) (*GetResponsePlanOutput, error) { + req, out := c.GetResponsePlanRequest(input) + return out, req.Send() +} + +// GetResponsePlanWithContext is the same as GetResponsePlan with the addition of +// the ability to pass a context and additional request options. +// +// See GetResponsePlan 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 *SSMIncidents) GetResponsePlanWithContext(ctx aws.Context, input *GetResponsePlanInput, opts ...request.Option) (*GetResponsePlanOutput, error) { + req, out := c.GetResponsePlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTimelineEvent = "GetTimelineEvent" + +// GetTimelineEventRequest generates a "aws/request.Request" representing the +// client's request for the GetTimelineEvent 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 GetTimelineEvent for more information on using the GetTimelineEvent +// 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 GetTimelineEventRequest method. +// req, resp := client.GetTimelineEventRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetTimelineEvent +func (c *SSMIncidents) GetTimelineEventRequest(input *GetTimelineEventInput) (req *request.Request, output *GetTimelineEventOutput) { + op := &request.Operation{ + Name: opGetTimelineEvent, + HTTPMethod: "GET", + HTTPPath: "/getTimelineEvent", + } + + if input == nil { + input = &GetTimelineEventInput{} + } + + output = &GetTimelineEventOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTimelineEvent API operation for AWS Systems Manager Incident Manager. +// +// Retrieves a timeline event based on its ID and incident record. +// +// 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 Systems Manager Incident Manager's +// API operation GetTimelineEvent for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetTimelineEvent +func (c *SSMIncidents) GetTimelineEvent(input *GetTimelineEventInput) (*GetTimelineEventOutput, error) { + req, out := c.GetTimelineEventRequest(input) + return out, req.Send() +} + +// GetTimelineEventWithContext is the same as GetTimelineEvent with the addition of +// the ability to pass a context and additional request options. +// +// See GetTimelineEvent 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 *SSMIncidents) GetTimelineEventWithContext(ctx aws.Context, input *GetTimelineEventInput, opts ...request.Option) (*GetTimelineEventOutput, error) { + req, out := c.GetTimelineEventRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListIncidentRecords = "ListIncidentRecords" + +// ListIncidentRecordsRequest generates a "aws/request.Request" representing the +// client's request for the ListIncidentRecords 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 ListIncidentRecords for more information on using the ListIncidentRecords +// 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 ListIncidentRecordsRequest method. +// req, resp := client.ListIncidentRecordsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListIncidentRecords +func (c *SSMIncidents) ListIncidentRecordsRequest(input *ListIncidentRecordsInput) (req *request.Request, output *ListIncidentRecordsOutput) { + op := &request.Operation{ + Name: opListIncidentRecords, + HTTPMethod: "POST", + HTTPPath: "/listIncidentRecords", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListIncidentRecordsInput{} + } + + output = &ListIncidentRecordsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListIncidentRecords API operation for AWS Systems Manager Incident Manager. +// +// Lists all incident records in your account. Use this command to retrieve +// the Amazon Resource Name (ARN) of the incident record you want to update. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager's +// API operation ListIncidentRecords for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListIncidentRecords +func (c *SSMIncidents) ListIncidentRecords(input *ListIncidentRecordsInput) (*ListIncidentRecordsOutput, error) { + req, out := c.ListIncidentRecordsRequest(input) + return out, req.Send() +} + +// ListIncidentRecordsWithContext is the same as ListIncidentRecords with the addition of +// the ability to pass a context and additional request options. +// +// See ListIncidentRecords 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 *SSMIncidents) ListIncidentRecordsWithContext(ctx aws.Context, input *ListIncidentRecordsInput, opts ...request.Option) (*ListIncidentRecordsOutput, error) { + req, out := c.ListIncidentRecordsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListIncidentRecordsPages iterates over the pages of a ListIncidentRecords operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListIncidentRecords 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 ListIncidentRecords operation. +// pageNum := 0 +// err := client.ListIncidentRecordsPages(params, +// func(page *ssmincidents.ListIncidentRecordsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMIncidents) ListIncidentRecordsPages(input *ListIncidentRecordsInput, fn func(*ListIncidentRecordsOutput, bool) bool) error { + return c.ListIncidentRecordsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListIncidentRecordsPagesWithContext same as ListIncidentRecordsPages 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 *SSMIncidents) ListIncidentRecordsPagesWithContext(ctx aws.Context, input *ListIncidentRecordsInput, fn func(*ListIncidentRecordsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListIncidentRecordsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListIncidentRecordsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListIncidentRecordsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRelatedItems = "ListRelatedItems" + +// ListRelatedItemsRequest generates a "aws/request.Request" representing the +// client's request for the ListRelatedItems 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 ListRelatedItems for more information on using the ListRelatedItems +// 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 ListRelatedItemsRequest method. +// req, resp := client.ListRelatedItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListRelatedItems +func (c *SSMIncidents) ListRelatedItemsRequest(input *ListRelatedItemsInput) (req *request.Request, output *ListRelatedItemsOutput) { + op := &request.Operation{ + Name: opListRelatedItems, + HTTPMethod: "POST", + HTTPPath: "/listRelatedItems", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRelatedItemsInput{} + } + + output = &ListRelatedItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRelatedItems API operation for AWS Systems Manager Incident Manager. +// +// List all related items for an incident record. +// +// 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 Systems Manager Incident Manager's +// API operation ListRelatedItems for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListRelatedItems +func (c *SSMIncidents) ListRelatedItems(input *ListRelatedItemsInput) (*ListRelatedItemsOutput, error) { + req, out := c.ListRelatedItemsRequest(input) + return out, req.Send() +} + +// ListRelatedItemsWithContext is the same as ListRelatedItems with the addition of +// the ability to pass a context and additional request options. +// +// See ListRelatedItems 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 *SSMIncidents) ListRelatedItemsWithContext(ctx aws.Context, input *ListRelatedItemsInput, opts ...request.Option) (*ListRelatedItemsOutput, error) { + req, out := c.ListRelatedItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRelatedItemsPages iterates over the pages of a ListRelatedItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRelatedItems 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 ListRelatedItems operation. +// pageNum := 0 +// err := client.ListRelatedItemsPages(params, +// func(page *ssmincidents.ListRelatedItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMIncidents) ListRelatedItemsPages(input *ListRelatedItemsInput, fn func(*ListRelatedItemsOutput, bool) bool) error { + return c.ListRelatedItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRelatedItemsPagesWithContext same as ListRelatedItemsPages 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 *SSMIncidents) ListRelatedItemsPagesWithContext(ctx aws.Context, input *ListRelatedItemsInput, fn func(*ListRelatedItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRelatedItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRelatedItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRelatedItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListReplicationSets = "ListReplicationSets" + +// ListReplicationSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListReplicationSets 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 ListReplicationSets for more information on using the ListReplicationSets +// 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 ListReplicationSetsRequest method. +// req, resp := client.ListReplicationSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListReplicationSets +func (c *SSMIncidents) ListReplicationSetsRequest(input *ListReplicationSetsInput) (req *request.Request, output *ListReplicationSetsOutput) { + op := &request.Operation{ + Name: opListReplicationSets, + HTTPMethod: "POST", + HTTPPath: "/listReplicationSets", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListReplicationSetsInput{} + } + + output = &ListReplicationSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListReplicationSets API operation for AWS Systems Manager Incident Manager. +// +// Lists details about the replication set configured in your 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 Systems Manager Incident Manager's +// API operation ListReplicationSets for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListReplicationSets +func (c *SSMIncidents) ListReplicationSets(input *ListReplicationSetsInput) (*ListReplicationSetsOutput, error) { + req, out := c.ListReplicationSetsRequest(input) + return out, req.Send() +} + +// ListReplicationSetsWithContext is the same as ListReplicationSets with the addition of +// the ability to pass a context and additional request options. +// +// See ListReplicationSets 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 *SSMIncidents) ListReplicationSetsWithContext(ctx aws.Context, input *ListReplicationSetsInput, opts ...request.Option) (*ListReplicationSetsOutput, error) { + req, out := c.ListReplicationSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListReplicationSetsPages iterates over the pages of a ListReplicationSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListReplicationSets 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 ListReplicationSets operation. +// pageNum := 0 +// err := client.ListReplicationSetsPages(params, +// func(page *ssmincidents.ListReplicationSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMIncidents) ListReplicationSetsPages(input *ListReplicationSetsInput, fn func(*ListReplicationSetsOutput, bool) bool) error { + return c.ListReplicationSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListReplicationSetsPagesWithContext same as ListReplicationSetsPages 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 *SSMIncidents) ListReplicationSetsPagesWithContext(ctx aws.Context, input *ListReplicationSetsInput, fn func(*ListReplicationSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReplicationSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReplicationSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListReplicationSetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResponsePlans = "ListResponsePlans" + +// ListResponsePlansRequest generates a "aws/request.Request" representing the +// client's request for the ListResponsePlans 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 ListResponsePlans for more information on using the ListResponsePlans +// 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 ListResponsePlansRequest method. +// req, resp := client.ListResponsePlansRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListResponsePlans +func (c *SSMIncidents) ListResponsePlansRequest(input *ListResponsePlansInput) (req *request.Request, output *ListResponsePlansOutput) { + op := &request.Operation{ + Name: opListResponsePlans, + HTTPMethod: "POST", + HTTPPath: "/listResponsePlans", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResponsePlansInput{} + } + + output = &ListResponsePlansOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResponsePlans API operation for AWS Systems Manager Incident Manager. +// +// Lists all response plans in your 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 Systems Manager Incident Manager's +// API operation ListResponsePlans for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListResponsePlans +func (c *SSMIncidents) ListResponsePlans(input *ListResponsePlansInput) (*ListResponsePlansOutput, error) { + req, out := c.ListResponsePlansRequest(input) + return out, req.Send() +} + +// ListResponsePlansWithContext is the same as ListResponsePlans with the addition of +// the ability to pass a context and additional request options. +// +// See ListResponsePlans 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 *SSMIncidents) ListResponsePlansWithContext(ctx aws.Context, input *ListResponsePlansInput, opts ...request.Option) (*ListResponsePlansOutput, error) { + req, out := c.ListResponsePlansRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResponsePlansPages iterates over the pages of a ListResponsePlans operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResponsePlans 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 ListResponsePlans operation. +// pageNum := 0 +// err := client.ListResponsePlansPages(params, +// func(page *ssmincidents.ListResponsePlansOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMIncidents) ListResponsePlansPages(input *ListResponsePlansInput, fn func(*ListResponsePlansOutput, bool) bool) error { + return c.ListResponsePlansPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResponsePlansPagesWithContext same as ListResponsePlansPages 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 *SSMIncidents) ListResponsePlansPagesWithContext(ctx aws.Context, input *ListResponsePlansInput, fn func(*ListResponsePlansOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResponsePlansInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResponsePlansRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResponsePlansOutput), !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/ssm-incidents-2018-05-10/ListTagsForResource +func (c *SSMIncidents) 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 Systems Manager Incident Manager. +// +// Lists the tags that are attached to the specified response plan. +// +// 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 Systems Manager Incident Manager's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTagsForResource +func (c *SSMIncidents) 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 *SSMIncidents) 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 opListTimelineEvents = "ListTimelineEvents" + +// ListTimelineEventsRequest generates a "aws/request.Request" representing the +// client's request for the ListTimelineEvents 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 ListTimelineEvents for more information on using the ListTimelineEvents +// 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 ListTimelineEventsRequest method. +// req, resp := client.ListTimelineEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTimelineEvents +func (c *SSMIncidents) ListTimelineEventsRequest(input *ListTimelineEventsInput) (req *request.Request, output *ListTimelineEventsOutput) { + op := &request.Operation{ + Name: opListTimelineEvents, + HTTPMethod: "POST", + HTTPPath: "/listTimelineEvents", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTimelineEventsInput{} + } + + output = &ListTimelineEventsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTimelineEvents API operation for AWS Systems Manager Incident Manager. +// +// Lists timeline events of the specified incident record. +// +// 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 Systems Manager Incident Manager's +// API operation ListTimelineEvents for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTimelineEvents +func (c *SSMIncidents) ListTimelineEvents(input *ListTimelineEventsInput) (*ListTimelineEventsOutput, error) { + req, out := c.ListTimelineEventsRequest(input) + return out, req.Send() +} + +// ListTimelineEventsWithContext is the same as ListTimelineEvents with the addition of +// the ability to pass a context and additional request options. +// +// See ListTimelineEvents 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 *SSMIncidents) ListTimelineEventsWithContext(ctx aws.Context, input *ListTimelineEventsInput, opts ...request.Option) (*ListTimelineEventsOutput, error) { + req, out := c.ListTimelineEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTimelineEventsPages iterates over the pages of a ListTimelineEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTimelineEvents 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 ListTimelineEvents operation. +// pageNum := 0 +// err := client.ListTimelineEventsPages(params, +// func(page *ssmincidents.ListTimelineEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSMIncidents) ListTimelineEventsPages(input *ListTimelineEventsInput, fn func(*ListTimelineEventsOutput, bool) bool) error { + return c.ListTimelineEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTimelineEventsPagesWithContext same as ListTimelineEventsPages 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 *SSMIncidents) ListTimelineEventsPagesWithContext(ctx aws.Context, input *ListTimelineEventsInput, fn func(*ListTimelineEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTimelineEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTimelineEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTimelineEventsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutResourcePolicy = "PutResourcePolicy" + +// PutResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResourcePolicy 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 PutResourcePolicy for more information on using the PutResourcePolicy +// 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 PutResourcePolicyRequest method. +// req, resp := client.PutResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/PutResourcePolicy +func (c *SSMIncidents) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) { + op := &request.Operation{ + Name: opPutResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/putResourcePolicy", + } + + if input == nil { + input = &PutResourcePolicyInput{} + } + + output = &PutResourcePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResourcePolicy API operation for AWS Systems Manager Incident Manager. +// +// Adds a resource policy to the specified response plan. +// +// 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 Systems Manager Incident Manager's +// API operation PutResourcePolicy for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/PutResourcePolicy +func (c *SSMIncidents) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) + return out, req.Send() +} + +// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutResourcePolicy 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 *SSMIncidents) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartIncident = "StartIncident" + +// StartIncidentRequest generates a "aws/request.Request" representing the +// client's request for the StartIncident 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 StartIncident for more information on using the StartIncident +// 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 StartIncidentRequest method. +// req, resp := client.StartIncidentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/StartIncident +func (c *SSMIncidents) StartIncidentRequest(input *StartIncidentInput) (req *request.Request, output *StartIncidentOutput) { + op := &request.Operation{ + Name: opStartIncident, + HTTPMethod: "POST", + HTTPPath: "/startIncident", + } + + if input == nil { + input = &StartIncidentInput{} + } + + output = &StartIncidentOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartIncident API operation for AWS Systems Manager Incident Manager. +// +// Used to start an incident from CloudWatch alarms, EventBridge events, or +// manually. +// +// 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 Systems Manager Incident Manager's +// API operation StartIncident for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/StartIncident +func (c *SSMIncidents) StartIncident(input *StartIncidentInput) (*StartIncidentOutput, error) { + req, out := c.StartIncidentRequest(input) + return out, req.Send() +} + +// StartIncidentWithContext is the same as StartIncident with the addition of +// the ability to pass a context and additional request options. +// +// See StartIncident 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 *SSMIncidents) StartIncidentWithContext(ctx aws.Context, input *StartIncidentInput, opts ...request.Option) (*StartIncidentOutput, error) { + req, out := c.StartIncidentRequest(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/ssm-incidents-2018-05-10/TagResource +func (c *SSMIncidents) 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 Systems Manager Incident Manager. +// +// Adds a tag to a response plan. +// +// 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 Systems Manager Incident Manager's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/TagResource +func (c *SSMIncidents) 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 *SSMIncidents) 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/ssm-incidents-2018-05-10/UntagResource +func (c *SSMIncidents) 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 Systems Manager Incident Manager. +// +// Removes a tag 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 Systems Manager Incident Manager's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UntagResource +func (c *SSMIncidents) 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 *SSMIncidents) 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 opUpdateDeletionProtection = "UpdateDeletionProtection" + +// UpdateDeletionProtectionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDeletionProtection 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 UpdateDeletionProtection for more information on using the UpdateDeletionProtection +// 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 UpdateDeletionProtectionRequest method. +// req, resp := client.UpdateDeletionProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateDeletionProtection +func (c *SSMIncidents) UpdateDeletionProtectionRequest(input *UpdateDeletionProtectionInput) (req *request.Request, output *UpdateDeletionProtectionOutput) { + op := &request.Operation{ + Name: opUpdateDeletionProtection, + HTTPMethod: "POST", + HTTPPath: "/updateDeletionProtection", + } + + if input == nil { + input = &UpdateDeletionProtectionInput{} + } + + output = &UpdateDeletionProtectionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDeletionProtection API operation for AWS Systems Manager Incident Manager. +// +// Update deletion protection to either allow or deny deletion of the final +// Region in a replication set. +// +// 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 Systems Manager Incident Manager's +// API operation UpdateDeletionProtection for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateDeletionProtection +func (c *SSMIncidents) UpdateDeletionProtection(input *UpdateDeletionProtectionInput) (*UpdateDeletionProtectionOutput, error) { + req, out := c.UpdateDeletionProtectionRequest(input) + return out, req.Send() +} + +// UpdateDeletionProtectionWithContext is the same as UpdateDeletionProtection with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDeletionProtection 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 *SSMIncidents) UpdateDeletionProtectionWithContext(ctx aws.Context, input *UpdateDeletionProtectionInput, opts ...request.Option) (*UpdateDeletionProtectionOutput, error) { + req, out := c.UpdateDeletionProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIncidentRecord = "UpdateIncidentRecord" + +// UpdateIncidentRecordRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIncidentRecord 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 UpdateIncidentRecord for more information on using the UpdateIncidentRecord +// 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 UpdateIncidentRecordRequest method. +// req, resp := client.UpdateIncidentRecordRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateIncidentRecord +func (c *SSMIncidents) UpdateIncidentRecordRequest(input *UpdateIncidentRecordInput) (req *request.Request, output *UpdateIncidentRecordOutput) { + op := &request.Operation{ + Name: opUpdateIncidentRecord, + HTTPMethod: "POST", + HTTPPath: "/updateIncidentRecord", + } + + if input == nil { + input = &UpdateIncidentRecordInput{} + } + + output = &UpdateIncidentRecordOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateIncidentRecord API operation for AWS Systems Manager Incident Manager. +// +// Update the details of an incident record. You can use this action to update +// an incident record from the defined chat channel. For more information about +// using actions in chat channels, see Interacting through chat (https://docs.aws.amazon.com/incident-manager/latest/userguide/chat.html#chat-interact). +// +// 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 Systems Manager Incident Manager's +// API operation UpdateIncidentRecord for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateIncidentRecord +func (c *SSMIncidents) UpdateIncidentRecord(input *UpdateIncidentRecordInput) (*UpdateIncidentRecordOutput, error) { + req, out := c.UpdateIncidentRecordRequest(input) + return out, req.Send() +} + +// UpdateIncidentRecordWithContext is the same as UpdateIncidentRecord with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIncidentRecord 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 *SSMIncidents) UpdateIncidentRecordWithContext(ctx aws.Context, input *UpdateIncidentRecordInput, opts ...request.Option) (*UpdateIncidentRecordOutput, error) { + req, out := c.UpdateIncidentRecordRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRelatedItems = "UpdateRelatedItems" + +// UpdateRelatedItemsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRelatedItems 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 UpdateRelatedItems for more information on using the UpdateRelatedItems +// 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 UpdateRelatedItemsRequest method. +// req, resp := client.UpdateRelatedItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateRelatedItems +func (c *SSMIncidents) UpdateRelatedItemsRequest(input *UpdateRelatedItemsInput) (req *request.Request, output *UpdateRelatedItemsOutput) { + op := &request.Operation{ + Name: opUpdateRelatedItems, + HTTPMethod: "POST", + HTTPPath: "/updateRelatedItems", + } + + if input == nil { + input = &UpdateRelatedItemsInput{} + } + + output = &UpdateRelatedItemsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRelatedItems API operation for AWS Systems Manager Incident Manager. +// +// Add or remove related items from the related items tab of an incident record. +// +// 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 Systems Manager Incident Manager's +// API operation UpdateRelatedItems for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateRelatedItems +func (c *SSMIncidents) UpdateRelatedItems(input *UpdateRelatedItemsInput) (*UpdateRelatedItemsOutput, error) { + req, out := c.UpdateRelatedItemsRequest(input) + return out, req.Send() +} + +// UpdateRelatedItemsWithContext is the same as UpdateRelatedItems with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRelatedItems 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 *SSMIncidents) UpdateRelatedItemsWithContext(ctx aws.Context, input *UpdateRelatedItemsInput, opts ...request.Option) (*UpdateRelatedItemsOutput, error) { + req, out := c.UpdateRelatedItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateReplicationSet = "UpdateReplicationSet" + +// UpdateReplicationSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReplicationSet 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 UpdateReplicationSet for more information on using the UpdateReplicationSet +// 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 UpdateReplicationSetRequest method. +// req, resp := client.UpdateReplicationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateReplicationSet +func (c *SSMIncidents) UpdateReplicationSetRequest(input *UpdateReplicationSetInput) (req *request.Request, output *UpdateReplicationSetOutput) { + op := &request.Operation{ + Name: opUpdateReplicationSet, + HTTPMethod: "POST", + HTTPPath: "/updateReplicationSet", + } + + if input == nil { + input = &UpdateReplicationSetInput{} + } + + output = &UpdateReplicationSetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateReplicationSet API operation for AWS Systems Manager Incident Manager. +// +// Add or delete Regions from your replication set. +// +// 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 Systems Manager Incident Manager's +// API operation UpdateReplicationSet for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateReplicationSet +func (c *SSMIncidents) UpdateReplicationSet(input *UpdateReplicationSetInput) (*UpdateReplicationSetOutput, error) { + req, out := c.UpdateReplicationSetRequest(input) + return out, req.Send() +} + +// UpdateReplicationSetWithContext is the same as UpdateReplicationSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReplicationSet 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 *SSMIncidents) UpdateReplicationSetWithContext(ctx aws.Context, input *UpdateReplicationSetInput, opts ...request.Option) (*UpdateReplicationSetOutput, error) { + req, out := c.UpdateReplicationSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResponsePlan = "UpdateResponsePlan" + +// UpdateResponsePlanRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResponsePlan 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 UpdateResponsePlan for more information on using the UpdateResponsePlan +// 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 UpdateResponsePlanRequest method. +// req, resp := client.UpdateResponsePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateResponsePlan +func (c *SSMIncidents) UpdateResponsePlanRequest(input *UpdateResponsePlanInput) (req *request.Request, output *UpdateResponsePlanOutput) { + op := &request.Operation{ + Name: opUpdateResponsePlan, + HTTPMethod: "POST", + HTTPPath: "/updateResponsePlan", + } + + if input == nil { + input = &UpdateResponsePlanInput{} + } + + output = &UpdateResponsePlanOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateResponsePlan API operation for AWS Systems Manager Incident Manager. +// +// Updates the specified response plan. +// +// 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 Systems Manager Incident Manager's +// API operation UpdateResponsePlan for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateResponsePlan +func (c *SSMIncidents) UpdateResponsePlan(input *UpdateResponsePlanInput) (*UpdateResponsePlanOutput, error) { + req, out := c.UpdateResponsePlanRequest(input) + return out, req.Send() +} + +// UpdateResponsePlanWithContext is the same as UpdateResponsePlan with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResponsePlan 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 *SSMIncidents) UpdateResponsePlanWithContext(ctx aws.Context, input *UpdateResponsePlanInput, opts ...request.Option) (*UpdateResponsePlanOutput, error) { + req, out := c.UpdateResponsePlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTimelineEvent = "UpdateTimelineEvent" + +// UpdateTimelineEventRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTimelineEvent 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 UpdateTimelineEvent for more information on using the UpdateTimelineEvent +// 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 UpdateTimelineEventRequest method. +// req, resp := client.UpdateTimelineEventRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateTimelineEvent +func (c *SSMIncidents) UpdateTimelineEventRequest(input *UpdateTimelineEventInput) (req *request.Request, output *UpdateTimelineEventOutput) { + op := &request.Operation{ + Name: opUpdateTimelineEvent, + HTTPMethod: "POST", + HTTPPath: "/updateTimelineEvent", + } + + if input == nil { + input = &UpdateTimelineEventInput{} + } + + output = &UpdateTimelineEventOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTimelineEvent API operation for AWS Systems Manager Incident Manager. +// +// Updates a timeline event. You can update events of type Custom Event. +// +// 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 Systems Manager Incident Manager's +// API operation UpdateTimelineEvent for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// Request references a resource which does not exist. +// +// * AccessDeniedException +// You don't have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateTimelineEvent +func (c *SSMIncidents) UpdateTimelineEvent(input *UpdateTimelineEventInput) (*UpdateTimelineEventOutput, error) { + req, out := c.UpdateTimelineEventRequest(input) + return out, req.Send() +} + +// UpdateTimelineEventWithContext is the same as UpdateTimelineEvent with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTimelineEvent 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 *SSMIncidents) UpdateTimelineEventWithContext(ctx aws.Context, input *UpdateTimelineEventInput, opts ...request.Option) (*UpdateTimelineEventOutput, error) { + req, out := c.UpdateTimelineEventRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You don't have sufficient access 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 +} + +// The action that starts at the beginning of an incident. The response plan +// defines the action. +type Action struct { + _ struct{} `type:"structure"` + + // The Systems Manager automation document to start as the runbook at the beginning + // of the incident. + SsmAutomation *SsmAutomation `locationName:"ssmAutomation" type:"structure"` +} + +// String returns the string representation +func (s Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Action) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Action) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Action"} + if s.SsmAutomation != nil { + if err := s.SsmAutomation.Validate(); err != nil { + invalidParams.AddNested("SsmAutomation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSsmAutomation sets the SsmAutomation field's value. +func (s *Action) SetSsmAutomation(v *SsmAutomation) *Action { + s.SsmAutomation = v + return s +} + +// Defines the Region and KMS key to add to the replication set. +type AddRegionAction struct { + _ struct{} `type:"structure"` + + // The Region name to add to the replication set. + // + // RegionName is a required field + RegionName *string `locationName:"regionName" type:"string" required:"true"` + + // The KMS key ID to use to encrypt your replication set. + SseKmsKeyId *string `locationName:"sseKmsKeyId" type:"string"` +} + +// String returns the string representation +func (s AddRegionAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddRegionAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddRegionAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddRegionAction"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegionName sets the RegionName field's value. +func (s *AddRegionAction) SetRegionName(v string) *AddRegionAction { + s.RegionName = &v + return s +} + +// SetSseKmsKeyId sets the SseKmsKeyId field's value. +func (s *AddRegionAction) SetSseKmsKeyId(v string) *AddRegionAction { + s.SseKmsKeyId = &v + return s +} + +// Use the AttributeValueList to filter by string or integer values. +type AttributeValueList struct { + _ struct{} `type:"structure"` + + // The list of integer values that the filter matches. + IntegerValues []*int64 `locationName:"integerValues" type:"list"` + + // The list of string values that the filter matches. + StringValues []*string `locationName:"stringValues" type:"list"` +} + +// String returns the string representation +func (s AttributeValueList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttributeValueList) GoString() string { + return s.String() +} + +// SetIntegerValues sets the IntegerValues field's value. +func (s *AttributeValueList) SetIntegerValues(v []*int64) *AttributeValueList { + s.IntegerValues = v + return s +} + +// SetStringValues sets the StringValues field's value. +func (s *AttributeValueList) SetStringValues(v []*string) *AttributeValueList { + s.StringValues = v + return s +} + +// The Systems Manager automation document process to start as the runbook at +// the beginning of the incident. +type AutomationExecution struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the automation process. + SsmExecutionArn *string `locationName:"ssmExecutionArn" type:"string"` +} + +// String returns the string representation +func (s AutomationExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomationExecution) GoString() string { + return s.String() +} + +// SetSsmExecutionArn sets the SsmExecutionArn field's value. +func (s *AutomationExecution) SetSsmExecutionArn(v string) *AutomationExecution { + s.SsmExecutionArn = &v + return s +} + +// The AWS Chatbot chat channel used for collaboration during an incident. +type ChatChannel struct { + _ struct{} `type:"structure"` + + // The SNS targets that AWS Chatbot uses to notify the chat channel of updates + // to an incident. You can also make updates to the incident through the chat + // channel by using the SNS topics. + ChatbotSns []*string `locationName:"chatbotSns" min:"1" type:"list"` + + // Used to remove the chat channel from an incident record or response plan. + Empty *EmptyChatChannel `locationName:"empty" type:"structure"` +} + +// String returns the string representation +func (s ChatChannel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChatChannel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChatChannel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChatChannel"} + if s.ChatbotSns != nil && len(s.ChatbotSns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChatbotSns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatbotSns sets the ChatbotSns field's value. +func (s *ChatChannel) SetChatbotSns(v []*string) *ChatChannel { + s.ChatbotSns = v + return s +} + +// SetEmpty sets the Empty field's value. +func (s *ChatChannel) SetEmpty(v *EmptyChatChannel) *ChatChannel { + s.Empty = v + return s +} + +// A conditional statement with which to compare a value, after a timestamp, +// before a timestamp, or equal to a string or integer. If multiple conditions +// are specified, the conditionals become an ANDed statement. If multiple values +// are specified for a conditional, the values are ORd. +type Condition struct { + _ struct{} `type:"structure"` + + // After the specified timestamp. + After *time.Time `locationName:"after" type:"timestamp"` + + // Before the specified timestamp + Before *time.Time `locationName:"before" type:"timestamp"` + + // The value is equal to the provided string or integer. + Equals *AttributeValueList `locationName:"equals" type:"structure"` +} + +// String returns the string representation +func (s Condition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Condition) GoString() string { + return s.String() +} + +// SetAfter sets the After field's value. +func (s *Condition) SetAfter(v time.Time) *Condition { + s.After = &v + return s +} + +// SetBefore sets the Before field's value. +func (s *Condition) SetBefore(v time.Time) *Condition { + s.Before = &v + return s +} + +// SetEquals sets the Equals field's value. +func (s *Condition) SetEquals(v *AttributeValueList) *Condition { + s.Equals = v + return s +} + +// Updating or deleting a resource causes an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The identifier of the requested resource + ResourceIdentifier *string `locationName:"resourceIdentifier" type:"string"` + + // The resource type + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// 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 CreateReplicationSetInput struct { + _ struct{} `type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The Regions that Incident Manager replicates your data to. You can have up + // to three Regions in your replication set. + // + // Regions is a required field + Regions map[string]*RegionMapInputValue `locationName:"regions" min:"1" type:"map" required:"true"` +} + +// String returns the string representation +func (s CreateReplicationSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReplicationSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReplicationSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReplicationSetInput"} + if s.Regions == nil { + invalidParams.Add(request.NewErrParamRequired("Regions")) + } + if s.Regions != nil && len(s.Regions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regions", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateReplicationSetInput) SetClientToken(v string) *CreateReplicationSetInput { + s.ClientToken = &v + return s +} + +// SetRegions sets the Regions field's value. +func (s *CreateReplicationSetInput) SetRegions(v map[string]*RegionMapInputValue) *CreateReplicationSetInput { + s.Regions = v + return s +} + +type CreateReplicationSetOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the replication set. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateReplicationSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReplicationSetOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateReplicationSetOutput) SetArn(v string) *CreateReplicationSetOutput { + s.Arn = &v + return s +} + +type CreateResponsePlanInput struct { + _ struct{} `type:"structure"` + + // The actions that the response plan starts at the beginning of an incident. + Actions []*Action `locationName:"actions" type:"list"` + + // The AWS Chatbot chat channel used for collaboration during an incident. + ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The long format of the response plan name. This field can contain spaces. + DisplayName *string `locationName:"displayName" type:"string"` + + // The contacts and escalation plans that the response plan engages during an + // incident. + Engagements []*string `locationName:"engagements" type:"list"` + + // Details used to create an incident when using this response plan. + // + // IncidentTemplate is a required field + IncidentTemplate *IncidentTemplate `locationName:"incidentTemplate" type:"structure" required:"true"` + + // The short format name of the response plan. Can't include spaces. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A list of tags that you are adding to the response plan. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s CreateResponsePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResponsePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResponsePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResponsePlanInput"} + if s.IncidentTemplate == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentTemplate")) + } + 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.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ChatChannel != nil { + if err := s.ChatChannel.Validate(); err != nil { + invalidParams.AddNested("ChatChannel", err.(request.ErrInvalidParams)) + } + } + if s.IncidentTemplate != nil { + if err := s.IncidentTemplate.Validate(); err != nil { + invalidParams.AddNested("IncidentTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *CreateResponsePlanInput) SetActions(v []*Action) *CreateResponsePlanInput { + s.Actions = v + return s +} + +// SetChatChannel sets the ChatChannel field's value. +func (s *CreateResponsePlanInput) SetChatChannel(v *ChatChannel) *CreateResponsePlanInput { + s.ChatChannel = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateResponsePlanInput) SetClientToken(v string) *CreateResponsePlanInput { + s.ClientToken = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateResponsePlanInput) SetDisplayName(v string) *CreateResponsePlanInput { + s.DisplayName = &v + return s +} + +// SetEngagements sets the Engagements field's value. +func (s *CreateResponsePlanInput) SetEngagements(v []*string) *CreateResponsePlanInput { + s.Engagements = v + return s +} + +// SetIncidentTemplate sets the IncidentTemplate field's value. +func (s *CreateResponsePlanInput) SetIncidentTemplate(v *IncidentTemplate) *CreateResponsePlanInput { + s.IncidentTemplate = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResponsePlanInput) SetName(v string) *CreateResponsePlanInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResponsePlanInput) SetTags(v map[string]*string) *CreateResponsePlanInput { + s.Tags = v + return s +} + +type CreateResponsePlanOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateResponsePlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResponsePlanOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateResponsePlanOutput) SetArn(v string) *CreateResponsePlanOutput { + s.Arn = &v + return s +} + +type CreateTimelineEventInput struct { + _ struct{} `type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // A short description of the event. + // + // EventData is a required field + EventData *string `locationName:"eventData" type:"string" required:"true"` + + // The time that the event occurred. + // + // EventTime is a required field + EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"` + + // The type of the event. You can create timeline events of type Custom Event. + // + // EventType is a required field + EventType *string `locationName:"eventType" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the incident record you are adding the + // event to. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTimelineEventInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTimelineEventInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTimelineEventInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTimelineEventInput"} + if s.EventData == nil { + invalidParams.Add(request.NewErrParamRequired("EventData")) + } + if s.EventTime == nil { + invalidParams.Add(request.NewErrParamRequired("EventTime")) + } + if s.EventType == nil { + invalidParams.Add(request.NewErrParamRequired("EventType")) + } + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTimelineEventInput) SetClientToken(v string) *CreateTimelineEventInput { + s.ClientToken = &v + return s +} + +// SetEventData sets the EventData field's value. +func (s *CreateTimelineEventInput) SetEventData(v string) *CreateTimelineEventInput { + s.EventData = &v + return s +} + +// SetEventTime sets the EventTime field's value. +func (s *CreateTimelineEventInput) SetEventTime(v time.Time) *CreateTimelineEventInput { + s.EventTime = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *CreateTimelineEventInput) SetEventType(v string) *CreateTimelineEventInput { + s.EventType = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *CreateTimelineEventInput) SetIncidentRecordArn(v string) *CreateTimelineEventInput { + s.IncidentRecordArn = &v + return s +} + +type CreateTimelineEventOutput struct { + _ struct{} `type:"structure"` + + // The ID of the event for easy reference later. + // + // EventId is a required field + EventId *string `locationName:"eventId" type:"string" required:"true"` + + // The ARN of the incident record that you added the event to. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTimelineEventOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTimelineEventOutput) GoString() string { + return s.String() +} + +// SetEventId sets the EventId field's value. +func (s *CreateTimelineEventOutput) SetEventId(v string) *CreateTimelineEventOutput { + s.EventId = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *CreateTimelineEventOutput) SetIncidentRecordArn(v string) *CreateTimelineEventOutput { + s.IncidentRecordArn = &v + return s +} + +type DeleteIncidentRecordInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident record you are deleting. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIncidentRecordInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIncidentRecordInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIncidentRecordInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIncidentRecordInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteIncidentRecordInput) SetArn(v string) *DeleteIncidentRecordInput { + s.Arn = &v + return s +} + +type DeleteIncidentRecordOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteIncidentRecordOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIncidentRecordOutput) GoString() string { + return s.String() +} + +// Defines the information about the Region you're deleting from your replication +// set. +type DeleteRegionAction struct { + _ struct{} `type:"structure"` + + // The name of the Region you're deleting from the replication set. + // + // RegionName is a required field + RegionName *string `locationName:"regionName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRegionAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRegionAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRegionAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRegionAction"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegionName sets the RegionName field's value. +func (s *DeleteRegionAction) SetRegionName(v string) *DeleteRegionAction { + s.RegionName = &v + return s +} + +type DeleteReplicationSetInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the replication set you're deleting. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReplicationSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationSetInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteReplicationSetInput) SetArn(v string) *DeleteReplicationSetInput { + s.Arn = &v + return s +} + +type DeleteReplicationSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReplicationSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationSetOutput) GoString() string { + return s.String() +} + +type DeleteResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // The ID of the resource policy you're deleting. + // + // PolicyId is a required field + PolicyId *string `locationName:"policyId" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the resource you're deleting the policy + // from. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} + if s.PolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyId")) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPolicyId sets the PolicyId field's value. +func (s *DeleteResourcePolicyInput) SetPolicyId(v string) *DeleteResourcePolicyInput { + s.PolicyId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type DeleteResourcePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() +} + +type DeleteResponsePlanInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResponsePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResponsePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResponsePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResponsePlanInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteResponsePlanInput) SetArn(v string) *DeleteResponsePlanInput { + s.Arn = &v + return s +} + +type DeleteResponsePlanOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResponsePlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResponsePlanOutput) GoString() string { + return s.String() +} + +type DeleteTimelineEventInput struct { + _ struct{} `type:"structure"` + + // The ID of the event you are updating. You can find this by using ListTimelineEvents. + // + // EventId is a required field + EventId *string `locationName:"eventId" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the incident that the event is part of. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTimelineEventInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTimelineEventInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTimelineEventInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTimelineEventInput"} + if s.EventId == nil { + invalidParams.Add(request.NewErrParamRequired("EventId")) + } + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventId sets the EventId field's value. +func (s *DeleteTimelineEventInput) SetEventId(v string) *DeleteTimelineEventInput { + s.EventId = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *DeleteTimelineEventInput) SetIncidentRecordArn(v string) *DeleteTimelineEventInput { + s.IncidentRecordArn = &v + return s +} + +type DeleteTimelineEventOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTimelineEventOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTimelineEventOutput) GoString() string { + return s.String() +} + +// Used to remove the chat channel from an incident record or response plan. +type EmptyChatChannel struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EmptyChatChannel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmptyChatChannel) GoString() string { + return s.String() +} + +// Details about a timeline event during an incident. +type EventSummary struct { + _ struct{} `type:"structure"` + + // The timeline event ID. + // + // EventId is a required field + EventId *string `locationName:"eventId" type:"string" required:"true"` + + // The time that the event occurred. + // + // EventTime is a required field + EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"` + + // The type of event. The timeline event must be Custom Event. + // + // EventType is a required field + EventType *string `locationName:"eventType" type:"string" required:"true"` + + // The time that the timeline event was last updated. + // + // EventUpdatedTime is a required field + EventUpdatedTime *time.Time `locationName:"eventUpdatedTime" type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the incident that the event happened during. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s EventSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EventSummary) GoString() string { + return s.String() +} + +// SetEventId sets the EventId field's value. +func (s *EventSummary) SetEventId(v string) *EventSummary { + s.EventId = &v + return s +} + +// SetEventTime sets the EventTime field's value. +func (s *EventSummary) SetEventTime(v time.Time) *EventSummary { + s.EventTime = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *EventSummary) SetEventType(v string) *EventSummary { + s.EventType = &v + return s +} + +// SetEventUpdatedTime sets the EventUpdatedTime field's value. +func (s *EventSummary) SetEventUpdatedTime(v time.Time) *EventSummary { + s.EventUpdatedTime = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *EventSummary) SetIncidentRecordArn(v string) *EventSummary { + s.IncidentRecordArn = &v + return s +} + +// Filter the selection by using a condition. +type Filter struct { + _ struct{} `type:"structure"` + + // The condition accepts before or after a specified time, equal to a string, + // or equal to an integer. + // + // Condition is a required field + Condition *Condition `locationName:"condition" type:"structure" required:"true"` + + // The key that you're filtering on. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Condition == nil { + invalidParams.Add(request.NewErrParamRequired("Condition")) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCondition sets the Condition field's value. +func (s *Filter) SetCondition(v *Condition) *Filter { + s.Condition = v + return s +} + +// SetKey sets the Key field's value. +func (s *Filter) SetKey(v string) *Filter { + s.Key = &v + return s +} + +type GetIncidentRecordInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident record. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetIncidentRecordInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIncidentRecordInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIncidentRecordInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIncidentRecordInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetIncidentRecordInput) SetArn(v string) *GetIncidentRecordInput { + s.Arn = &v + return s +} + +type GetIncidentRecordOutput struct { + _ struct{} `type:"structure"` + + // Details structure of the incident record. + // + // IncidentRecord is a required field + IncidentRecord *IncidentRecord `locationName:"incidentRecord" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetIncidentRecordOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIncidentRecordOutput) GoString() string { + return s.String() +} + +// SetIncidentRecord sets the IncidentRecord field's value. +func (s *GetIncidentRecordOutput) SetIncidentRecord(v *IncidentRecord) *GetIncidentRecordOutput { + s.IncidentRecord = v + return s +} + +type GetReplicationSetInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the replication set you want to retrieve. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetReplicationSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetReplicationSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetReplicationSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetReplicationSetInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetReplicationSetInput) SetArn(v string) *GetReplicationSetInput { + s.Arn = &v + return s +} + +type GetReplicationSetOutput struct { + _ struct{} `type:"structure"` + + // Details of the replication set. + // + // ReplicationSet is a required field + ReplicationSet *ReplicationSet `locationName:"replicationSet" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetReplicationSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetReplicationSetOutput) GoString() string { + return s.String() +} + +// SetReplicationSet sets the ReplicationSet field's value. +func (s *GetReplicationSetOutput) SetReplicationSet(v *ReplicationSet) *GetReplicationSetOutput { + s.ReplicationSet = v + return s +} + +type GetResourcePoliciesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of resource policies to display per page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The Amazon Resource Name (ARN) of the response plan with the attached resource + // policy. + // + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResourcePoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePoliciesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetResourcePoliciesInput) SetMaxResults(v int64) *GetResourcePoliciesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesInput) SetNextToken(v string) *GetResourcePoliciesInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePoliciesInput) SetResourceArn(v string) *GetResourcePoliciesInput { + s.ResourceArn = &v + return s +} + +type GetResourcePoliciesOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Details about the resource policy attached to the response plan. + // + // ResourcePolicies is a required field + ResourcePolicies []*ResourcePolicy `locationName:"resourcePolicies" type:"list" required:"true"` +} + +// String returns the string representation +func (s GetResourcePoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesOutput { + s.NextToken = &v + return s +} + +// SetResourcePolicies sets the ResourcePolicies field's value. +func (s *GetResourcePoliciesOutput) SetResourcePolicies(v []*ResourcePolicy) *GetResourcePoliciesOutput { + s.ResourcePolicies = v + return s +} + +type GetResponsePlanInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResponsePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResponsePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResponsePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResponsePlanInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetResponsePlanInput) SetArn(v string) *GetResponsePlanInput { + s.Arn = &v + return s +} + +type GetResponsePlanOutput struct { + _ struct{} `type:"structure"` + + // The actions that this response plan takes at the beginning of the incident. + Actions []*Action `locationName:"actions" type:"list"` + + // The ARN of the response plan. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The AWS Chatbot chat channel used for collaboration during an incident. + ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"` + + // The long format name of the response plan. Can contain spaces. + DisplayName *string `locationName:"displayName" type:"string"` + + // The contacts and escalation plans that the response plan engages during an + // incident. + Engagements []*string `locationName:"engagements" type:"list"` + + // Details used to create the incident when using this response plan. + // + // IncidentTemplate is a required field + IncidentTemplate *IncidentTemplate `locationName:"incidentTemplate" type:"structure" required:"true"` + + // The short format name of the response plan. Can't contain spaces. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResponsePlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResponsePlanOutput) GoString() string { + return s.String() +} + +// SetActions sets the Actions field's value. +func (s *GetResponsePlanOutput) SetActions(v []*Action) *GetResponsePlanOutput { + s.Actions = v + return s +} + +// SetArn sets the Arn field's value. +func (s *GetResponsePlanOutput) SetArn(v string) *GetResponsePlanOutput { + s.Arn = &v + return s +} + +// SetChatChannel sets the ChatChannel field's value. +func (s *GetResponsePlanOutput) SetChatChannel(v *ChatChannel) *GetResponsePlanOutput { + s.ChatChannel = v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *GetResponsePlanOutput) SetDisplayName(v string) *GetResponsePlanOutput { + s.DisplayName = &v + return s +} + +// SetEngagements sets the Engagements field's value. +func (s *GetResponsePlanOutput) SetEngagements(v []*string) *GetResponsePlanOutput { + s.Engagements = v + return s +} + +// SetIncidentTemplate sets the IncidentTemplate field's value. +func (s *GetResponsePlanOutput) SetIncidentTemplate(v *IncidentTemplate) *GetResponsePlanOutput { + s.IncidentTemplate = v + return s +} + +// SetName sets the Name field's value. +func (s *GetResponsePlanOutput) SetName(v string) *GetResponsePlanOutput { + s.Name = &v + return s +} + +type GetTimelineEventInput struct { + _ struct{} `type:"structure"` + + // The ID of the event. You can get an event's ID when you create it or by using + // ListTimelineEvents. + // + // EventId is a required field + EventId *string `location:"querystring" locationName:"eventId" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the incident that the timeline event is + // part of. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `location:"querystring" locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTimelineEventInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTimelineEventInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTimelineEventInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTimelineEventInput"} + if s.EventId == nil { + invalidParams.Add(request.NewErrParamRequired("EventId")) + } + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventId sets the EventId field's value. +func (s *GetTimelineEventInput) SetEventId(v string) *GetTimelineEventInput { + s.EventId = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *GetTimelineEventInput) SetIncidentRecordArn(v string) *GetTimelineEventInput { + s.IncidentRecordArn = &v + return s +} + +type GetTimelineEventOutput struct { + _ struct{} `type:"structure"` + + // Details about the timeline event. + // + // Event is a required field + Event *TimelineEvent `locationName:"event" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetTimelineEventOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTimelineEventOutput) GoString() string { + return s.String() +} + +// SetEvent sets the Event field's value. +func (s *GetTimelineEventOutput) SetEvent(v *TimelineEvent) *GetTimelineEventOutput { + s.Event = v + return s +} + +// The record of the incident that's created when an incident occurs. +type IncidentRecord struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident record. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The runbook, or automation document, that's run at the beginning of the incident. + AutomationExecutions []*AutomationExecution `locationName:"automationExecutions" type:"list"` + + // The chat channel used for collaboration during an incident. + ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"` + + // The time that Incident Manager created the incident record. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"` + + // The string Incident Manager uses to prevent duplicate incidents from being + // created by the same incident. + // + // DedupeString is a required field + DedupeString *string `locationName:"dedupeString" type:"string" required:"true"` + + // The impact of the incident on customers and applications. + // + // Impact is a required field + Impact *int64 `locationName:"impact" min:"1" type:"integer" required:"true"` + + // Details about the action that started the incident. + // + // IncidentRecordSource is a required field + IncidentRecordSource *IncidentRecordSource `locationName:"incidentRecordSource" type:"structure" required:"true"` + + // Who modified the incident most recently. + // + // LastModifiedBy is a required field + LastModifiedBy *string `locationName:"lastModifiedBy" type:"string" required:"true"` + + // The time at which the incident was most recently modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" required:"true"` + + // The SNS targets that AWS Chatbot uses to notify the chat channels and perform + // actions on the incident record. + NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"` + + // The time at which the incident was resolved. This appears as a timeline event. + ResolvedTime *time.Time `locationName:"resolvedTime" type:"timestamp"` + + // The current status of the incident. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"IncidentRecordStatus"` + + // The summary of the incident. The summary is a brief synopsis of what occurred, + // what is currently happening, and context. + Summary *string `locationName:"summary" type:"string"` + + // The title of the incident. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation +func (s IncidentRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IncidentRecord) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *IncidentRecord) SetArn(v string) *IncidentRecord { + s.Arn = &v + return s +} + +// SetAutomationExecutions sets the AutomationExecutions field's value. +func (s *IncidentRecord) SetAutomationExecutions(v []*AutomationExecution) *IncidentRecord { + s.AutomationExecutions = v + return s +} + +// SetChatChannel sets the ChatChannel field's value. +func (s *IncidentRecord) SetChatChannel(v *ChatChannel) *IncidentRecord { + s.ChatChannel = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *IncidentRecord) SetCreationTime(v time.Time) *IncidentRecord { + s.CreationTime = &v + return s +} + +// SetDedupeString sets the DedupeString field's value. +func (s *IncidentRecord) SetDedupeString(v string) *IncidentRecord { + s.DedupeString = &v + return s +} + +// SetImpact sets the Impact field's value. +func (s *IncidentRecord) SetImpact(v int64) *IncidentRecord { + s.Impact = &v + return s +} + +// SetIncidentRecordSource sets the IncidentRecordSource field's value. +func (s *IncidentRecord) SetIncidentRecordSource(v *IncidentRecordSource) *IncidentRecord { + s.IncidentRecordSource = v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *IncidentRecord) SetLastModifiedBy(v string) *IncidentRecord { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *IncidentRecord) SetLastModifiedTime(v time.Time) *IncidentRecord { + s.LastModifiedTime = &v + return s +} + +// SetNotificationTargets sets the NotificationTargets field's value. +func (s *IncidentRecord) SetNotificationTargets(v []*NotificationTargetItem) *IncidentRecord { + s.NotificationTargets = v + return s +} + +// SetResolvedTime sets the ResolvedTime field's value. +func (s *IncidentRecord) SetResolvedTime(v time.Time) *IncidentRecord { + s.ResolvedTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *IncidentRecord) SetStatus(v string) *IncidentRecord { + s.Status = &v + return s +} + +// SetSummary sets the Summary field's value. +func (s *IncidentRecord) SetSummary(v string) *IncidentRecord { + s.Summary = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *IncidentRecord) SetTitle(v string) *IncidentRecord { + s.Title = &v + return s +} + +// Details about how the incident record was created and when. +type IncidentRecordSource struct { + _ struct{} `type:"structure"` + + // The principal that started the incident. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // The principal the assumed the role specified of the createdBy. + InvokedBy *string `locationName:"invokedBy" type:"string"` + + // The resource that caused the incident to be created. + ResourceArn *string `locationName:"resourceArn" type:"string"` + + // The service that started the incident. This can be manually created from + // Incident Manager, automatically created using an AWS CloudWatch alarm, or + // Amazon EventBridge event. + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true"` +} + +// String returns the string representation +func (s IncidentRecordSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IncidentRecordSource) GoString() string { + return s.String() +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *IncidentRecordSource) SetCreatedBy(v string) *IncidentRecordSource { + s.CreatedBy = &v + return s +} + +// SetInvokedBy sets the InvokedBy field's value. +func (s *IncidentRecordSource) SetInvokedBy(v string) *IncidentRecordSource { + s.InvokedBy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *IncidentRecordSource) SetResourceArn(v string) *IncidentRecordSource { + s.ResourceArn = &v + return s +} + +// SetSource sets the Source field's value. +func (s *IncidentRecordSource) SetSource(v string) *IncidentRecordSource { + s.Source = &v + return s +} + +// Details describing an incident record. +type IncidentRecordSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time the incident was created. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"` + + // Defines the impact to customers and applications. + // + // Impact is a required field + Impact *int64 `locationName:"impact" min:"1" type:"integer" required:"true"` + + // What caused Incident Manager to create the incident. + // + // IncidentRecordSource is a required field + IncidentRecordSource *IncidentRecordSource `locationName:"incidentRecordSource" type:"structure" required:"true"` + + // The time the incident was resolved. + ResolvedTime *time.Time `locationName:"resolvedTime" type:"timestamp"` + + // The current status of the incident. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"IncidentRecordStatus"` + + // The title of the incident. This value is either provided by the response + // plan or overwritten on creation. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation +func (s IncidentRecordSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IncidentRecordSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *IncidentRecordSummary) SetArn(v string) *IncidentRecordSummary { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *IncidentRecordSummary) SetCreationTime(v time.Time) *IncidentRecordSummary { + s.CreationTime = &v + return s +} + +// SetImpact sets the Impact field's value. +func (s *IncidentRecordSummary) SetImpact(v int64) *IncidentRecordSummary { + s.Impact = &v + return s +} + +// SetIncidentRecordSource sets the IncidentRecordSource field's value. +func (s *IncidentRecordSummary) SetIncidentRecordSource(v *IncidentRecordSource) *IncidentRecordSummary { + s.IncidentRecordSource = v + return s +} + +// SetResolvedTime sets the ResolvedTime field's value. +func (s *IncidentRecordSummary) SetResolvedTime(v time.Time) *IncidentRecordSummary { + s.ResolvedTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *IncidentRecordSummary) SetStatus(v string) *IncidentRecordSummary { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *IncidentRecordSummary) SetTitle(v string) *IncidentRecordSummary { + s.Title = &v + return s +} + +// Basic details used in creating a response plan. The response plan is then +// used to create an incident record. +type IncidentTemplate struct { + _ struct{} `type:"structure"` + + // Used to stop Incident Manager from creating multiple incident records for + // the same incident. + DedupeString *string `locationName:"dedupeString" type:"string"` + + // The impact of the incident on your customers and applications. + // + // Impact is a required field + Impact *int64 `locationName:"impact" min:"1" type:"integer" required:"true"` + + // The SNS targets that AWS Chatbot uses to notify the chat channel of updates + // to an incident. You can also make updates to the incident through the chat + // channel using the SNS topics. + NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"` + + // The summary of the incident. The summary is a brief synopsis of what occurred, + // what's currently happening, and context. + Summary *string `locationName:"summary" type:"string"` + + // The title of the incident. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation +func (s IncidentTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IncidentTemplate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IncidentTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IncidentTemplate"} + if s.Impact == nil { + invalidParams.Add(request.NewErrParamRequired("Impact")) + } + if s.Impact != nil && *s.Impact < 1 { + invalidParams.Add(request.NewErrParamMinValue("Impact", 1)) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDedupeString sets the DedupeString field's value. +func (s *IncidentTemplate) SetDedupeString(v string) *IncidentTemplate { + s.DedupeString = &v + return s +} + +// SetImpact sets the Impact field's value. +func (s *IncidentTemplate) SetImpact(v int64) *IncidentTemplate { + s.Impact = &v + return s +} + +// SetNotificationTargets sets the NotificationTargets field's value. +func (s *IncidentTemplate) SetNotificationTargets(v []*NotificationTargetItem) *IncidentTemplate { + s.NotificationTargets = v + return s +} + +// SetSummary sets the Summary field's value. +func (s *IncidentTemplate) SetSummary(v string) *IncidentTemplate { + s.Summary = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *IncidentTemplate) SetTitle(v string) *IncidentTemplate { + s.Title = &v + return s +} + +// The request processing has failed because of an unknown error, exception +// or failure. +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 +} + +// Details and type of a related item. +type ItemIdentifier struct { + _ struct{} `type:"structure"` + + // The type of related item. Incident Manager supports the following types: + // + // * ANALYSIS + // + // * INCIDENT + // + // * METRIC + // + // * PARENT + // + // * ATTACHMENT + // + // * OTHER + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ItemType"` + + // Details about the related item. + // + // Value is a required field + Value *ItemValue `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation +func (s ItemIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ItemIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ItemIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ItemIdentifier"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *ItemIdentifier) SetType(v string) *ItemIdentifier { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ItemIdentifier) SetValue(v *ItemValue) *ItemIdentifier { + s.Value = v + return s +} + +// Describes a related item. +type ItemValue struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the related item, if the related item is + // an Amazon resource. + Arn *string `locationName:"arn" type:"string"` + + // The metric definition, if the related item is a metric in CloudWatch. + MetricDefinition *string `locationName:"metricDefinition" type:"string"` + + // The URL, if the related item is a non-AWS resource. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s ItemValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ItemValue) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ItemValue) SetArn(v string) *ItemValue { + s.Arn = &v + return s +} + +// SetMetricDefinition sets the MetricDefinition field's value. +func (s *ItemValue) SetMetricDefinition(v string) *ItemValue { + s.MetricDefinition = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *ItemValue) SetUrl(v string) *ItemValue { + s.Url = &v + return s +} + +type ListIncidentRecordsInput struct { + _ struct{} `type:"structure"` + + // Filter the list of incident records you are searching through. You can filter + // on the following keys: + // + // * creationTime + // + // * impact + // + // * status + // + // * createdBy + Filters []*Filter `locationName:"filters" type:"list"` + + // The maximum number of results per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListIncidentRecordsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIncidentRecordsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIncidentRecordsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIncidentRecordsInput"} + 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 *ListIncidentRecordsInput) SetFilters(v []*Filter) *ListIncidentRecordsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIncidentRecordsInput) SetMaxResults(v int64) *ListIncidentRecordsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIncidentRecordsInput) SetNextToken(v string) *ListIncidentRecordsInput { + s.NextToken = &v + return s +} + +type ListIncidentRecordsOutput struct { + _ struct{} `type:"structure"` + + // The details of each listed incident record. + // + // IncidentRecordSummaries is a required field + IncidentRecordSummaries []*IncidentRecordSummary `locationName:"incidentRecordSummaries" type:"list" required:"true"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListIncidentRecordsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIncidentRecordsOutput) GoString() string { + return s.String() +} + +// SetIncidentRecordSummaries sets the IncidentRecordSummaries field's value. +func (s *ListIncidentRecordsOutput) SetIncidentRecordSummaries(v []*IncidentRecordSummary) *ListIncidentRecordsOutput { + s.IncidentRecordSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIncidentRecordsOutput) SetNextToken(v string) *ListIncidentRecordsOutput { + s.NextToken = &v + return s +} + +type ListRelatedItemsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident record that you are listing + // related items for. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` + + // The maximum number of related items per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListRelatedItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRelatedItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRelatedItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRelatedItemsInput"} + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *ListRelatedItemsInput) SetIncidentRecordArn(v string) *ListRelatedItemsInput { + s.IncidentRecordArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRelatedItemsInput) SetMaxResults(v int64) *ListRelatedItemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRelatedItemsInput) SetNextToken(v string) *ListRelatedItemsInput { + s.NextToken = &v + return s +} + +type ListRelatedItemsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Details about each related item. + // + // RelatedItems is a required field + RelatedItems []*RelatedItem `locationName:"relatedItems" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListRelatedItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRelatedItemsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRelatedItemsOutput) SetNextToken(v string) *ListRelatedItemsOutput { + s.NextToken = &v + return s +} + +// SetRelatedItems sets the RelatedItems field's value. +func (s *ListRelatedItemsOutput) SetRelatedItems(v []*RelatedItem) *ListRelatedItemsOutput { + s.RelatedItems = v + return s +} + +type ListReplicationSetsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListReplicationSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReplicationSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReplicationSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReplicationSetsInput"} + 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 *ListReplicationSetsInput) SetMaxResults(v int64) *ListReplicationSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReplicationSetsInput) SetNextToken(v string) *ListReplicationSetsInput { + s.NextToken = &v + return s +} + +type ListReplicationSetsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The Amazon Resource Name (ARN) of the list replication set. + // + // ReplicationSetArns is a required field + ReplicationSetArns []*string `locationName:"replicationSetArns" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListReplicationSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReplicationSetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReplicationSetsOutput) SetNextToken(v string) *ListReplicationSetsOutput { + s.NextToken = &v + return s +} + +// SetReplicationSetArns sets the ReplicationSetArns field's value. +func (s *ListReplicationSetsOutput) SetReplicationSetArns(v []*string) *ListReplicationSetsOutput { + s.ReplicationSetArns = v + return s +} + +type ListResponsePlansInput struct { + _ struct{} `type:"structure"` + + // The maximum number of response plans per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListResponsePlansInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResponsePlansInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResponsePlansInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResponsePlansInput"} + 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 *ListResponsePlansInput) SetMaxResults(v int64) *ListResponsePlansInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResponsePlansInput) SetNextToken(v string) *ListResponsePlansInput { + s.NextToken = &v + return s +} + +type ListResponsePlansOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Details of each response plan. + // + // ResponsePlanSummaries is a required field + ResponsePlanSummaries []*ResponsePlanSummary `locationName:"responsePlanSummaries" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListResponsePlansOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResponsePlansOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResponsePlansOutput) SetNextToken(v string) *ListResponsePlansOutput { + s.NextToken = &v + return s +} + +// SetResponsePlanSummaries sets the ResponsePlanSummaries field's value. +func (s *ListResponsePlansOutput) SetResponsePlanSummaries(v []*ResponsePlanSummary) *ListResponsePlansOutput { + s.ResponsePlanSummaries = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan. + // + // 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 tags for the response plan. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` +} + +// 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 ListTimelineEventsInput struct { + _ struct{} `type:"structure"` + + // Filters the timeline events based on the provided conditional values. You + // can filter timeline events using the following keys: + // + // * eventTime + // + // * eventType + Filters []*Filter `locationName:"filters" type:"list"` + + // The Amazon Resource Name (ARN) of the incident that the event is part of. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` + + // The maximum number of results per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Sort by the specified key value pair. + SortBy *string `locationName:"sortBy" type:"string" enum:"TimelineEventSort"` + + // Sorts the order of timeline events by the value specified in the sortBy field. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` +} + +// String returns the string representation +func (s ListTimelineEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTimelineEventsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTimelineEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTimelineEventsInput"} + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + 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 *ListTimelineEventsInput) SetFilters(v []*Filter) *ListTimelineEventsInput { + s.Filters = v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *ListTimelineEventsInput) SetIncidentRecordArn(v string) *ListTimelineEventsInput { + s.IncidentRecordArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTimelineEventsInput) SetMaxResults(v int64) *ListTimelineEventsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTimelineEventsInput) SetNextToken(v string) *ListTimelineEventsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListTimelineEventsInput) SetSortBy(v string) *ListTimelineEventsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListTimelineEventsInput) SetSortOrder(v string) *ListTimelineEventsInput { + s.SortOrder = &v + return s +} + +type ListTimelineEventsOutput struct { + _ struct{} `type:"structure"` + + // Details about each event that occurred during the incident. + // + // EventSummaries is a required field + EventSummaries []*EventSummary `locationName:"eventSummaries" type:"list" required:"true"` + + // The pagination token to continue to the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListTimelineEventsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTimelineEventsOutput) GoString() string { + return s.String() +} + +// SetEventSummaries sets the EventSummaries field's value. +func (s *ListTimelineEventsOutput) SetEventSummaries(v []*EventSummary) *ListTimelineEventsOutput { + s.EventSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTimelineEventsOutput) SetNextToken(v string) *ListTimelineEventsOutput { + s.NextToken = &v + return s +} + +// The SNS topic that's used by AWS Chatbot to notify the incidents chat channel. +type NotificationTargetItem struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the SNS topic. + SnsTopicArn *string `locationName:"snsTopicArn" type:"string"` +} + +// String returns the string representation +func (s NotificationTargetItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotificationTargetItem) GoString() string { + return s.String() +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *NotificationTargetItem) SetSnsTopicArn(v string) *NotificationTargetItem { + s.SnsTopicArn = &v + return s +} + +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // Details of the resource policy. + // + // Policy is a required field + Policy *string `locationName:"policy" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the response plan you're adding the resource + // policy to. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPolicy sets the Policy field's value. +func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { + s.Policy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type PutResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The ID of the resource policy. + // + // PolicyId is a required field + PolicyId *string `locationName:"policyId" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicyId sets the PolicyId field's value. +func (s *PutResourcePolicyOutput) SetPolicyId(v string) *PutResourcePolicyOutput { + s.PolicyId = &v + return s +} + +// Information about a Region in your replication set. +type RegionInfo struct { + _ struct{} `type:"structure"` + + // The ID of the KMS key used to encrypt the data in this Region. + SseKmsKeyId *string `locationName:"sseKmsKeyId" type:"string"` + + // The status of the Region in the replication set. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RegionStatus"` + + // Information displayed about the status of the Region. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The most recent date and time that the Region's status was updated. + // + // StatusUpdateDateTime is a required field + StatusUpdateDateTime *time.Time `locationName:"statusUpdateDateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s RegionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegionInfo) GoString() string { + return s.String() +} + +// SetSseKmsKeyId sets the SseKmsKeyId field's value. +func (s *RegionInfo) SetSseKmsKeyId(v string) *RegionInfo { + s.SseKmsKeyId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RegionInfo) SetStatus(v string) *RegionInfo { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *RegionInfo) SetStatusMessage(v string) *RegionInfo { + s.StatusMessage = &v + return s +} + +// SetStatusUpdateDateTime sets the StatusUpdateDateTime field's value. +func (s *RegionInfo) SetStatusUpdateDateTime(v time.Time) *RegionInfo { + s.StatusUpdateDateTime = &v + return s +} + +// The mapping between a Region and the key that's used to encrypt the data. +type RegionMapInputValue struct { + _ struct{} `type:"structure"` + + // The KMS key used to encrypt the data in your replication set. + SseKmsKeyId *string `locationName:"sseKmsKeyId" type:"string"` +} + +// String returns the string representation +func (s RegionMapInputValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegionMapInputValue) GoString() string { + return s.String() +} + +// SetSseKmsKeyId sets the SseKmsKeyId field's value. +func (s *RegionMapInputValue) SetSseKmsKeyId(v string) *RegionMapInputValue { + s.SseKmsKeyId = &v + return s +} + +// Resources that responders use to triage and mitigate the incident. +type RelatedItem struct { + _ struct{} `type:"structure"` + + // Details about the related item. + // + // Identifier is a required field + Identifier *ItemIdentifier `locationName:"identifier" type:"structure" required:"true"` + + // The title of the related item. + Title *string `locationName:"title" type:"string"` +} + +// String returns the string representation +func (s RelatedItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RelatedItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelatedItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelatedItem"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil { + if err := s.Identifier.Validate(); err != nil { + invalidParams.AddNested("Identifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *RelatedItem) SetIdentifier(v *ItemIdentifier) *RelatedItem { + s.Identifier = v + return s +} + +// SetTitle sets the Title field's value. +func (s *RelatedItem) SetTitle(v string) *RelatedItem { + s.Title = &v + return s +} + +// Details about the related item you're adding. +type RelatedItemsUpdate struct { + _ struct{} `type:"structure"` + + // Details about the related item you're adding. + ItemToAdd *RelatedItem `locationName:"itemToAdd" type:"structure"` + + // Details about the related item you're deleting. + ItemToRemove *ItemIdentifier `locationName:"itemToRemove" type:"structure"` +} + +// String returns the string representation +func (s RelatedItemsUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RelatedItemsUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelatedItemsUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelatedItemsUpdate"} + if s.ItemToAdd != nil { + if err := s.ItemToAdd.Validate(); err != nil { + invalidParams.AddNested("ItemToAdd", err.(request.ErrInvalidParams)) + } + } + if s.ItemToRemove != nil { + if err := s.ItemToRemove.Validate(); err != nil { + invalidParams.AddNested("ItemToRemove", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItemToAdd sets the ItemToAdd field's value. +func (s *RelatedItemsUpdate) SetItemToAdd(v *RelatedItem) *RelatedItemsUpdate { + s.ItemToAdd = v + return s +} + +// SetItemToRemove sets the ItemToRemove field's value. +func (s *RelatedItemsUpdate) SetItemToRemove(v *ItemIdentifier) *RelatedItemsUpdate { + s.ItemToRemove = v + return s +} + +// The set of Regions that your Incident Manager data will be replicated to +// and the KMS key used to encrypt the data. +type ReplicationSet struct { + _ struct{} `type:"structure"` + + // Details about who created the replication set. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // When the replication set was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" required:"true"` + + // Determines if the replication set deletion protection is enabled or not. + // If deletion protection is enabled, you can't delete the last Region in the + // replication set. + // + // DeletionProtected is a required field + DeletionProtected *bool `locationName:"deletionProtected" type:"boolean" required:"true"` + + // Who last modified the replication set. + // + // LastModifiedBy is a required field + LastModifiedBy *string `locationName:"lastModifiedBy" type:"string" required:"true"` + + // When the replication set was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" required:"true"` + + // The map between each Region in your replication set and the KMS key that + // is used to encrypt the data in that Region. + // + // RegionMap is a required field + RegionMap map[string]*RegionInfo `locationName:"regionMap" type:"map" required:"true"` + + // The status of the replication set. If the replication set is still pending, + // you can't use Incident Manager functionality. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ReplicationSetStatus"` +} + +// String returns the string representation +func (s ReplicationSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationSet) GoString() string { + return s.String() +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *ReplicationSet) SetCreatedBy(v string) *ReplicationSet { + s.CreatedBy = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *ReplicationSet) SetCreatedTime(v time.Time) *ReplicationSet { + s.CreatedTime = &v + return s +} + +// SetDeletionProtected sets the DeletionProtected field's value. +func (s *ReplicationSet) SetDeletionProtected(v bool) *ReplicationSet { + s.DeletionProtected = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *ReplicationSet) SetLastModifiedBy(v string) *ReplicationSet { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ReplicationSet) SetLastModifiedTime(v time.Time) *ReplicationSet { + s.LastModifiedTime = &v + return s +} + +// SetRegionMap sets the RegionMap field's value. +func (s *ReplicationSet) SetRegionMap(v map[string]*RegionInfo) *ReplicationSet { + s.RegionMap = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReplicationSet) SetStatus(v string) *ReplicationSet { + s.Status = &v + return s +} + +// Request references a resource which does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The identifier for the requested resource + ResourceIdentifier *string `locationName:"resourceIdentifier" type:"string"` + + // The resource type + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// 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 +} + +// The resource policy that allows Incident Manager to perform actions on resources +// on your behalf. +type ResourcePolicy struct { + _ struct{} `type:"structure"` + + // The JSON blob that describes the policy. + // + // PolicyDocument is a required field + PolicyDocument *string `locationName:"policyDocument" type:"string" required:"true"` + + // The ID of the resource policy. + // + // PolicyId is a required field + PolicyId *string `locationName:"policyId" type:"string" required:"true"` + + // The Region that policy allows resources to be used in. + // + // RamResourceShareRegion is a required field + RamResourceShareRegion *string `locationName:"ramResourceShareRegion" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourcePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourcePolicy) GoString() string { + return s.String() +} + +// SetPolicyDocument sets the PolicyDocument field's value. +func (s *ResourcePolicy) SetPolicyDocument(v string) *ResourcePolicy { + s.PolicyDocument = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *ResourcePolicy) SetPolicyId(v string) *ResourcePolicy { + s.PolicyId = &v + return s +} + +// SetRamResourceShareRegion sets the RamResourceShareRegion field's value. +func (s *ResourcePolicy) SetRamResourceShareRegion(v string) *ResourcePolicy { + s.RamResourceShareRegion = &v + return s +} + +// Details of the response plan that are used when creating an incident. +type ResponsePlanSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The human readable name of the response plan. This can include spaces. + DisplayName *string `locationName:"displayName" type:"string"` + + // The name of the response plan. This can't include spaces. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResponsePlanSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResponsePlanSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResponsePlanSummary) SetArn(v string) *ResponsePlanSummary { + s.Arn = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *ResponsePlanSummary) SetDisplayName(v string) *ResponsePlanSummary { + s.DisplayName = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResponsePlanSummary) SetName(v string) *ResponsePlanSummary { + s.Name = &v + return s +} + +// Request would cause a service quota to be exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Originating quota code + // + // QuotaCode is a required field + QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` + + // The identifier for the requested resource + ResourceIdentifier *string `locationName:"resourceIdentifier" type:"string"` + + // The resource type + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // Originating service code + // + // ServiceCode is a required field + ServiceCode *string `locationName:"serviceCode" type:"string" required:"true" enum:"ServiceCode"` +} + +// 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 +} + +// Details about the Systems Manager automation document that will be used as +// a runbook during an incident. +type SsmAutomation struct { + _ struct{} `type:"structure"` + + // The automation document's name. + // + // DocumentName is a required field + DocumentName *string `locationName:"documentName" type:"string" required:"true"` + + // The automation document's version to use when running. + DocumentVersion *string `locationName:"documentVersion" type:"string"` + + // The key-value pair parameters to use when running the automation document. + Parameters map[string][]*string `locationName:"parameters" min:"1" type:"map"` + + // The Amazon Resource Name (ARN) of the role that the automation document will + // assume when running commands. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The account that the automation document will be run in. This can be in either + // the management account or an application account. + TargetAccount *string `locationName:"targetAccount" type:"string" enum:"SsmTargetAccount"` +} + +// String returns the string representation +func (s SsmAutomation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SsmAutomation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SsmAutomation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SsmAutomation"} + 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.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentName sets the DocumentName field's value. +func (s *SsmAutomation) SetDocumentName(v string) *SsmAutomation { + s.DocumentName = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *SsmAutomation) SetDocumentVersion(v string) *SsmAutomation { + s.DocumentVersion = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *SsmAutomation) SetParameters(v map[string][]*string) *SsmAutomation { + s.Parameters = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *SsmAutomation) SetRoleArn(v string) *SsmAutomation { + s.RoleArn = &v + return s +} + +// SetTargetAccount sets the TargetAccount field's value. +func (s *SsmAutomation) SetTargetAccount(v string) *SsmAutomation { + s.TargetAccount = &v + return s +} + +type StartIncidentInput struct { + _ struct{} `type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // Defines the impact to the customers. Providing an impact overwrites the impact + // provided by a response plan. + // + // Possible impacts: + // + // * 1 - Critical impact, this typically relates to full application failure + // that impacts many to all customers. + // + // * 2 - High impact, partial application failure with impact to many customers. + // + // * 3 - Medium impact, the application is providing reduced service to customers. + // + // * 4 - Low impact, customer might aren't impacted by the problem yet. + // + // * 5 - No impact, customers aren't currently impacted but urgent action + // is needed to avoid impact. + Impact *int64 `locationName:"impact" min:"1" type:"integer"` + + // Add related items to the incident for other responders to use. Related items + // are AWS resources, external links, or files uploaded to an S3 bucket. + RelatedItems []*RelatedItem `locationName:"relatedItems" type:"list"` + + // The Amazon Resource Name (ARN) of the response plan that pre-defines summary, + // chat channels, SNS topics, runbooks, title, and impact of the incident. + // + // ResponsePlanArn is a required field + ResponsePlanArn *string `locationName:"responsePlanArn" type:"string" required:"true"` + + // Provide a title for the incident. Providing a title overwrites the title + // provided by the response plan. + Title *string `locationName:"title" type:"string"` + + // Details of what created the incident record in Incident Manager. + TriggerDetails *TriggerDetails `locationName:"triggerDetails" type:"structure"` +} + +// String returns the string representation +func (s StartIncidentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartIncidentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartIncidentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartIncidentInput"} + if s.Impact != nil && *s.Impact < 1 { + invalidParams.Add(request.NewErrParamMinValue("Impact", 1)) + } + if s.ResponsePlanArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResponsePlanArn")) + } + if s.RelatedItems != nil { + for i, v := range s.RelatedItems { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedItems", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TriggerDetails != nil { + if err := s.TriggerDetails.Validate(); err != nil { + invalidParams.AddNested("TriggerDetails", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartIncidentInput) SetClientToken(v string) *StartIncidentInput { + s.ClientToken = &v + return s +} + +// SetImpact sets the Impact field's value. +func (s *StartIncidentInput) SetImpact(v int64) *StartIncidentInput { + s.Impact = &v + return s +} + +// SetRelatedItems sets the RelatedItems field's value. +func (s *StartIncidentInput) SetRelatedItems(v []*RelatedItem) *StartIncidentInput { + s.RelatedItems = v + return s +} + +// SetResponsePlanArn sets the ResponsePlanArn field's value. +func (s *StartIncidentInput) SetResponsePlanArn(v string) *StartIncidentInput { + s.ResponsePlanArn = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *StartIncidentInput) SetTitle(v string) *StartIncidentInput { + s.Title = &v + return s +} + +// SetTriggerDetails sets the TriggerDetails field's value. +func (s *StartIncidentInput) SetTriggerDetails(v *TriggerDetails) *StartIncidentInput { + s.TriggerDetails = v + return s +} + +type StartIncidentOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the newly created incident record. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartIncidentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartIncidentOutput) GoString() string { + return s.String() +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *StartIncidentOutput) SetIncidentRecordArn(v string) *StartIncidentOutput { + s.IncidentRecordArn = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan you're adding the tags + // to. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A list of tags that you are adding to the response plan. + // + // 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 request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Originating quota code + // + // QuotaCode is a required field + QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` + + // Originating service code + // + // ServiceCode is a required field + ServiceCode *string `locationName:"serviceCode" type:"string" required:"true" enum:"ServiceCode"` +} + +// 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 +} + +// A significant event that happened during the incident. +type TimelineEvent struct { + _ struct{} `type:"structure"` + + // A short description of the event. + // + // EventData is a required field + EventData *string `locationName:"eventData" type:"string" required:"true"` + + // The ID of the timeline event. + // + // EventId is a required field + EventId *string `locationName:"eventId" type:"string" required:"true"` + + // The time that the event occurred. + // + // EventTime is a required field + EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"` + + // The type of event that occurred. Currently Incident Manager supports only + // the Custom Event type. + // + // EventType is a required field + EventType *string `locationName:"eventType" type:"string" required:"true"` + + // The time that the timeline event was last updated. + // + // EventUpdatedTime is a required field + EventUpdatedTime *time.Time `locationName:"eventUpdatedTime" type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the incident that the event occurred during. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s TimelineEvent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimelineEvent) GoString() string { + return s.String() +} + +// SetEventData sets the EventData field's value. +func (s *TimelineEvent) SetEventData(v string) *TimelineEvent { + s.EventData = &v + return s +} + +// SetEventId sets the EventId field's value. +func (s *TimelineEvent) SetEventId(v string) *TimelineEvent { + s.EventId = &v + return s +} + +// SetEventTime sets the EventTime field's value. +func (s *TimelineEvent) SetEventTime(v time.Time) *TimelineEvent { + s.EventTime = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *TimelineEvent) SetEventType(v string) *TimelineEvent { + s.EventType = &v + return s +} + +// SetEventUpdatedTime sets the EventUpdatedTime field's value. +func (s *TimelineEvent) SetEventUpdatedTime(v time.Time) *TimelineEvent { + s.EventUpdatedTime = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *TimelineEvent) SetIncidentRecordArn(v string) *TimelineEvent { + s.IncidentRecordArn = &v + return s +} + +// Details about what caused the incident to be created in Incident Manager. +type TriggerDetails struct { + _ struct{} `type:"structure"` + + // Raw data passed from either EventBridge, CloudWatch, or Incident Manager + // when an incident is created. + RawData *string `locationName:"rawData" type:"string"` + + // Identifies the service that sourced the event. All events sourced from within + // AWS begin with "aws." Customer-generated events can have any value here, + // as long as it doesn't begin with "aws." We recommend the use of Java package-name + // style reverse domain-name strings. + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true"` + + // The time that the incident was detected. + // + // Timestamp is a required field + Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"` + + // The ARN of the source that detected the incident. + TriggerArn *string `locationName:"triggerArn" type:"string"` +} + +// String returns the string representation +func (s TriggerDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TriggerDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TriggerDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TriggerDetails"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRawData sets the RawData field's value. +func (s *TriggerDetails) SetRawData(v string) *TriggerDetails { + s.RawData = &v + return s +} + +// SetSource sets the Source field's value. +func (s *TriggerDetails) SetSource(v string) *TriggerDetails { + s.Source = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *TriggerDetails) SetTimestamp(v time.Time) *TriggerDetails { + s.Timestamp = &v + return s +} + +// SetTriggerArn sets the TriggerArn field's value. +func (s *TriggerDetails) SetTriggerArn(v string) *TriggerDetails { + s.TriggerArn = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the response plan you're removing a tag + // from. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // The name of the tag you're removing from the response plan. + // + // 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() +} + +type UpdateDeletionProtectionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the replication set you're updating. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // Details if deletion protection is enabled or disabled in your account. + // + // DeletionProtected is a required field + DeletionProtected *bool `locationName:"deletionProtected" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s UpdateDeletionProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDeletionProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDeletionProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDeletionProtectionInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.DeletionProtected == nil { + invalidParams.Add(request.NewErrParamRequired("DeletionProtected")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UpdateDeletionProtectionInput) SetArn(v string) *UpdateDeletionProtectionInput { + s.Arn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateDeletionProtectionInput) SetClientToken(v string) *UpdateDeletionProtectionInput { + s.ClientToken = &v + return s +} + +// SetDeletionProtected sets the DeletionProtected field's value. +func (s *UpdateDeletionProtectionInput) SetDeletionProtected(v bool) *UpdateDeletionProtectionInput { + s.DeletionProtected = &v + return s +} + +type UpdateDeletionProtectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDeletionProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDeletionProtectionOutput) GoString() string { + return s.String() +} + +type UpdateIncidentRecordInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the incident record you are updating. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The AWS Chatbot chat channel for responders to collaborate in. + ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // Defines the impact to customers and applications. Providing an impact overwrites + // the impact provided by the response plan. + // + // Possible impacts: + // + // * 1 - Critical impact, this typically relates to full application failure + // that impacts many to all customers. + // + // * 2 - High impact, partial application failure with impact to many customers. + // + // * 3 - Medium impact, the application is providing reduced service to customers. + // + // * 4 - Low impact, customer might aren't impacted by the problem yet. + // + // * 5 - No impact, customers aren't currently impacted but urgent action + // is needed to avoid impact. + Impact *int64 `locationName:"impact" min:"1" type:"integer"` + + // The SNS targets that AWS Chatbot uses to notify the chat channel of updates + // to an incident. You can also make updates to the incident through the chat + // channel using the SNS topics. + // + // Using multiple SNS topics creates redundancy in the case that a Region is + // down during the incident. + NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"` + + // The status of the incident. An incident can be Open or Resolved. + Status *string `locationName:"status" type:"string" enum:"IncidentRecordStatus"` + + // The summary describes what has happened during the incident. + Summary *string `locationName:"summary" type:"string"` + + // The title of the incident is a brief and easily recognizable. + Title *string `locationName:"title" type:"string"` +} + +// String returns the string representation +func (s UpdateIncidentRecordInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIncidentRecordInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIncidentRecordInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIncidentRecordInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Impact != nil && *s.Impact < 1 { + invalidParams.Add(request.NewErrParamMinValue("Impact", 1)) + } + if s.ChatChannel != nil { + if err := s.ChatChannel.Validate(); err != nil { + invalidParams.AddNested("ChatChannel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UpdateIncidentRecordInput) SetArn(v string) *UpdateIncidentRecordInput { + s.Arn = &v + return s +} + +// SetChatChannel sets the ChatChannel field's value. +func (s *UpdateIncidentRecordInput) SetChatChannel(v *ChatChannel) *UpdateIncidentRecordInput { + s.ChatChannel = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateIncidentRecordInput) SetClientToken(v string) *UpdateIncidentRecordInput { + s.ClientToken = &v + return s +} + +// SetImpact sets the Impact field's value. +func (s *UpdateIncidentRecordInput) SetImpact(v int64) *UpdateIncidentRecordInput { + s.Impact = &v + return s +} + +// SetNotificationTargets sets the NotificationTargets field's value. +func (s *UpdateIncidentRecordInput) SetNotificationTargets(v []*NotificationTargetItem) *UpdateIncidentRecordInput { + s.NotificationTargets = v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateIncidentRecordInput) SetStatus(v string) *UpdateIncidentRecordInput { + s.Status = &v + return s +} + +// SetSummary sets the Summary field's value. +func (s *UpdateIncidentRecordInput) SetSummary(v string) *UpdateIncidentRecordInput { + s.Summary = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *UpdateIncidentRecordInput) SetTitle(v string) *UpdateIncidentRecordInput { + s.Title = &v + return s +} + +type UpdateIncidentRecordOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateIncidentRecordOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIncidentRecordOutput) GoString() string { + return s.String() +} + +type UpdateRelatedItemsInput struct { + _ struct{} `type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the incident record you are updating related + // items in. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` + + // Details about the item you are adding or deleting. + // + // RelatedItemsUpdate is a required field + RelatedItemsUpdate *RelatedItemsUpdate `locationName:"relatedItemsUpdate" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateRelatedItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRelatedItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRelatedItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRelatedItemsInput"} + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + if s.RelatedItemsUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("RelatedItemsUpdate")) + } + if s.RelatedItemsUpdate != nil { + if err := s.RelatedItemsUpdate.Validate(); err != nil { + invalidParams.AddNested("RelatedItemsUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateRelatedItemsInput) SetClientToken(v string) *UpdateRelatedItemsInput { + s.ClientToken = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *UpdateRelatedItemsInput) SetIncidentRecordArn(v string) *UpdateRelatedItemsInput { + s.IncidentRecordArn = &v + return s +} + +// SetRelatedItemsUpdate sets the RelatedItemsUpdate field's value. +func (s *UpdateRelatedItemsInput) SetRelatedItemsUpdate(v *RelatedItemsUpdate) *UpdateRelatedItemsInput { + s.RelatedItemsUpdate = v + return s +} + +type UpdateRelatedItemsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateRelatedItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRelatedItemsOutput) GoString() string { + return s.String() +} + +// Details used when updating the replication set. +type UpdateReplicationSetAction struct { + _ struct{} `type:"structure"` + + // Details about the Region that you're adding to the replication set. + AddRegionAction *AddRegionAction `locationName:"addRegionAction" type:"structure"` + + // Details about the Region that you're deleting to the replication set. + DeleteRegionAction *DeleteRegionAction `locationName:"deleteRegionAction" type:"structure"` +} + +// String returns the string representation +func (s UpdateReplicationSetAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReplicationSetAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReplicationSetAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationSetAction"} + if s.AddRegionAction != nil { + if err := s.AddRegionAction.Validate(); err != nil { + invalidParams.AddNested("AddRegionAction", err.(request.ErrInvalidParams)) + } + } + if s.DeleteRegionAction != nil { + if err := s.DeleteRegionAction.Validate(); err != nil { + invalidParams.AddNested("DeleteRegionAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddRegionAction sets the AddRegionAction field's value. +func (s *UpdateReplicationSetAction) SetAddRegionAction(v *AddRegionAction) *UpdateReplicationSetAction { + s.AddRegionAction = v + return s +} + +// SetDeleteRegionAction sets the DeleteRegionAction field's value. +func (s *UpdateReplicationSetAction) SetDeleteRegionAction(v *DeleteRegionAction) *UpdateReplicationSetAction { + s.DeleteRegionAction = v + return s +} + +type UpdateReplicationSetInput struct { + _ struct{} `type:"structure"` + + // An action to add or delete a Region. + // + // Actions is a required field + Actions []*UpdateReplicationSetAction `locationName:"actions" min:"1" type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the replication set you're updating. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` +} + +// String returns the string representation +func (s UpdateReplicationSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReplicationSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReplicationSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationSetInput"} + 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.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *UpdateReplicationSetInput) SetActions(v []*UpdateReplicationSetAction) *UpdateReplicationSetInput { + s.Actions = v + return s +} + +// SetArn sets the Arn field's value. +func (s *UpdateReplicationSetInput) SetArn(v string) *UpdateReplicationSetInput { + s.Arn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateReplicationSetInput) SetClientToken(v string) *UpdateReplicationSetInput { + s.ClientToken = &v + return s +} + +type UpdateReplicationSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateReplicationSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReplicationSetOutput) GoString() string { + return s.String() +} + +type UpdateResponsePlanInput struct { + _ struct{} `type:"structure"` + + // The actions that this response plan takes at the beginning of an incident. + Actions []*Action `locationName:"actions" type:"list"` + + // The Amazon Resource Name (ARN) of the response plan. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The AWS Chatbot chat channel used for collaboration during an incident. + ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The long format name of the response plan. Can't contain spaces. + DisplayName *string `locationName:"displayName" type:"string"` + + // The contacts and escalation plans that Incident Manager engages at the start + // of the incident. + Engagements []*string `locationName:"engagements" type:"list"` + + // Used to create only one incident record for an incident. + IncidentTemplateDedupeString *string `locationName:"incidentTemplateDedupeString" type:"string"` + + // Defines the impact to the customers. Providing an impact overwrites the impact + // provided by a response plan. + // + // Possible impacts: + // + // * 5 - Severe impact + // + // * 4 - High impact + // + // * 3 - Medium impact + // + // * 2 - Low impact + // + // * 1 - No impact + IncidentTemplateImpact *int64 `locationName:"incidentTemplateImpact" min:"1" type:"integer"` + + // The SNS targets that AWS Chatbot uses to notify the chat channels and perform + // actions on the incident record. + IncidentTemplateNotificationTargets []*NotificationTargetItem `locationName:"incidentTemplateNotificationTargets" type:"list"` + + // A brief summary of the incident. This typically contains what has happened, + // what's currently happening, and next steps. + IncidentTemplateSummary *string `locationName:"incidentTemplateSummary" type:"string"` + + // The short format name of the incident. Can't contain spaces. + IncidentTemplateTitle *string `locationName:"incidentTemplateTitle" type:"string"` +} + +// String returns the string representation +func (s UpdateResponsePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResponsePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateResponsePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResponsePlanInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.IncidentTemplateImpact != nil && *s.IncidentTemplateImpact < 1 { + invalidParams.Add(request.NewErrParamMinValue("IncidentTemplateImpact", 1)) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ChatChannel != nil { + if err := s.ChatChannel.Validate(); err != nil { + invalidParams.AddNested("ChatChannel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *UpdateResponsePlanInput) SetActions(v []*Action) *UpdateResponsePlanInput { + s.Actions = v + return s +} + +// SetArn sets the Arn field's value. +func (s *UpdateResponsePlanInput) SetArn(v string) *UpdateResponsePlanInput { + s.Arn = &v + return s +} + +// SetChatChannel sets the ChatChannel field's value. +func (s *UpdateResponsePlanInput) SetChatChannel(v *ChatChannel) *UpdateResponsePlanInput { + s.ChatChannel = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateResponsePlanInput) SetClientToken(v string) *UpdateResponsePlanInput { + s.ClientToken = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdateResponsePlanInput) SetDisplayName(v string) *UpdateResponsePlanInput { + s.DisplayName = &v + return s +} + +// SetEngagements sets the Engagements field's value. +func (s *UpdateResponsePlanInput) SetEngagements(v []*string) *UpdateResponsePlanInput { + s.Engagements = v + return s +} + +// SetIncidentTemplateDedupeString sets the IncidentTemplateDedupeString field's value. +func (s *UpdateResponsePlanInput) SetIncidentTemplateDedupeString(v string) *UpdateResponsePlanInput { + s.IncidentTemplateDedupeString = &v + return s +} + +// SetIncidentTemplateImpact sets the IncidentTemplateImpact field's value. +func (s *UpdateResponsePlanInput) SetIncidentTemplateImpact(v int64) *UpdateResponsePlanInput { + s.IncidentTemplateImpact = &v + return s +} + +// SetIncidentTemplateNotificationTargets sets the IncidentTemplateNotificationTargets field's value. +func (s *UpdateResponsePlanInput) SetIncidentTemplateNotificationTargets(v []*NotificationTargetItem) *UpdateResponsePlanInput { + s.IncidentTemplateNotificationTargets = v + return s +} + +// SetIncidentTemplateSummary sets the IncidentTemplateSummary field's value. +func (s *UpdateResponsePlanInput) SetIncidentTemplateSummary(v string) *UpdateResponsePlanInput { + s.IncidentTemplateSummary = &v + return s +} + +// SetIncidentTemplateTitle sets the IncidentTemplateTitle field's value. +func (s *UpdateResponsePlanInput) SetIncidentTemplateTitle(v string) *UpdateResponsePlanInput { + s.IncidentTemplateTitle = &v + return s +} + +type UpdateResponsePlanOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateResponsePlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResponsePlanOutput) GoString() string { + return s.String() +} + +type UpdateTimelineEventInput struct { + _ struct{} `type:"structure"` + + // A token ensuring that the action is called only once with the specified details. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // A short description of the event. + EventData *string `locationName:"eventData" type:"string"` + + // The ID of the event you are updating. You can find this by using ListTimelineEvents. + // + // EventId is a required field + EventId *string `locationName:"eventId" type:"string" required:"true"` + + // The time that the event occurred. + EventTime *time.Time `locationName:"eventTime" type:"timestamp"` + + // The type of the event. You can update events of type Custom Event. + EventType *string `locationName:"eventType" type:"string"` + + // The Amazon Resource Name (ARN) of the incident that the timeline event is + // part of. + // + // IncidentRecordArn is a required field + IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateTimelineEventInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTimelineEventInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTimelineEventInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTimelineEventInput"} + if s.EventId == nil { + invalidParams.Add(request.NewErrParamRequired("EventId")) + } + if s.IncidentRecordArn == nil { + invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateTimelineEventInput) SetClientToken(v string) *UpdateTimelineEventInput { + s.ClientToken = &v + return s +} + +// SetEventData sets the EventData field's value. +func (s *UpdateTimelineEventInput) SetEventData(v string) *UpdateTimelineEventInput { + s.EventData = &v + return s +} + +// SetEventId sets the EventId field's value. +func (s *UpdateTimelineEventInput) SetEventId(v string) *UpdateTimelineEventInput { + s.EventId = &v + return s +} + +// SetEventTime sets the EventTime field's value. +func (s *UpdateTimelineEventInput) SetEventTime(v time.Time) *UpdateTimelineEventInput { + s.EventTime = &v + return s +} + +// SetEventType sets the EventType field's value. +func (s *UpdateTimelineEventInput) SetEventType(v string) *UpdateTimelineEventInput { + s.EventType = &v + return s +} + +// SetIncidentRecordArn sets the IncidentRecordArn field's value. +func (s *UpdateTimelineEventInput) SetIncidentRecordArn(v string) *UpdateTimelineEventInput { + s.IncidentRecordArn = &v + return s +} + +type UpdateTimelineEventOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateTimelineEventOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTimelineEventOutput) 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:"-"` + + 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 +} + +const ( + // IncidentRecordStatusOpen is a IncidentRecordStatus enum value + IncidentRecordStatusOpen = "OPEN" + + // IncidentRecordStatusResolved is a IncidentRecordStatus enum value + IncidentRecordStatusResolved = "RESOLVED" +) + +// IncidentRecordStatus_Values returns all elements of the IncidentRecordStatus enum +func IncidentRecordStatus_Values() []string { + return []string{ + IncidentRecordStatusOpen, + IncidentRecordStatusResolved, + } +} + +const ( + // ItemTypeAnalysis is a ItemType enum value + ItemTypeAnalysis = "ANALYSIS" + + // ItemTypeIncident is a ItemType enum value + ItemTypeIncident = "INCIDENT" + + // ItemTypeMetric is a ItemType enum value + ItemTypeMetric = "METRIC" + + // ItemTypeParent is a ItemType enum value + ItemTypeParent = "PARENT" + + // ItemTypeAttachment is a ItemType enum value + ItemTypeAttachment = "ATTACHMENT" + + // ItemTypeOther is a ItemType enum value + ItemTypeOther = "OTHER" +) + +// ItemType_Values returns all elements of the ItemType enum +func ItemType_Values() []string { + return []string{ + ItemTypeAnalysis, + ItemTypeIncident, + ItemTypeMetric, + ItemTypeParent, + ItemTypeAttachment, + ItemTypeOther, + } +} + +const ( + // RegionStatusActive is a RegionStatus enum value + RegionStatusActive = "ACTIVE" + + // RegionStatusCreating is a RegionStatus enum value + RegionStatusCreating = "CREATING" + + // RegionStatusDeleting is a RegionStatus enum value + RegionStatusDeleting = "DELETING" + + // RegionStatusFailed is a RegionStatus enum value + RegionStatusFailed = "FAILED" +) + +// RegionStatus_Values returns all elements of the RegionStatus enum +func RegionStatus_Values() []string { + return []string{ + RegionStatusActive, + RegionStatusCreating, + RegionStatusDeleting, + RegionStatusFailed, + } +} + +const ( + // ReplicationSetStatusActive is a ReplicationSetStatus enum value + ReplicationSetStatusActive = "ACTIVE" + + // ReplicationSetStatusCreating is a ReplicationSetStatus enum value + ReplicationSetStatusCreating = "CREATING" + + // ReplicationSetStatusUpdating is a ReplicationSetStatus enum value + ReplicationSetStatusUpdating = "UPDATING" + + // ReplicationSetStatusDeleting is a ReplicationSetStatus enum value + ReplicationSetStatusDeleting = "DELETING" + + // ReplicationSetStatusFailed is a ReplicationSetStatus enum value + ReplicationSetStatusFailed = "FAILED" +) + +// ReplicationSetStatus_Values returns all elements of the ReplicationSetStatus enum +func ReplicationSetStatus_Values() []string { + return []string{ + ReplicationSetStatusActive, + ReplicationSetStatusCreating, + ReplicationSetStatusUpdating, + ReplicationSetStatusDeleting, + ReplicationSetStatusFailed, + } +} + +const ( + // ResourceTypeResponsePlan is a ResourceType enum value + ResourceTypeResponsePlan = "RESPONSE_PLAN" + + // ResourceTypeIncidentRecord is a ResourceType enum value + ResourceTypeIncidentRecord = "INCIDENT_RECORD" + + // ResourceTypeTimelineEvent is a ResourceType enum value + ResourceTypeTimelineEvent = "TIMELINE_EVENT" + + // ResourceTypeReplicationSet is a ResourceType enum value + ResourceTypeReplicationSet = "REPLICATION_SET" + + // ResourceTypeResourcePolicy is a ResourceType enum value + ResourceTypeResourcePolicy = "RESOURCE_POLICY" +) + +// ResourceType_Values returns all elements of the ResourceType enum +func ResourceType_Values() []string { + return []string{ + ResourceTypeResponsePlan, + ResourceTypeIncidentRecord, + ResourceTypeTimelineEvent, + ResourceTypeReplicationSet, + ResourceTypeResourcePolicy, + } +} + +const ( + // ServiceCodeSsmIncidents is a ServiceCode enum value + ServiceCodeSsmIncidents = "ssm-incidents" +) + +// ServiceCode_Values returns all elements of the ServiceCode enum +func ServiceCode_Values() []string { + return []string{ + ServiceCodeSsmIncidents, + } +} + +const ( + // SortOrderAscending is a SortOrder enum value + SortOrderAscending = "ASCENDING" + + // SortOrderDescending is a SortOrder enum value + SortOrderDescending = "DESCENDING" +) + +// SortOrder_Values returns all elements of the SortOrder enum +func SortOrder_Values() []string { + return []string{ + SortOrderAscending, + SortOrderDescending, + } +} + +const ( + // SsmTargetAccountResponsePlanOwnerAccount is a SsmTargetAccount enum value + SsmTargetAccountResponsePlanOwnerAccount = "RESPONSE_PLAN_OWNER_ACCOUNT" + + // SsmTargetAccountImpactedAccount is a SsmTargetAccount enum value + SsmTargetAccountImpactedAccount = "IMPACTED_ACCOUNT" +) + +// SsmTargetAccount_Values returns all elements of the SsmTargetAccount enum +func SsmTargetAccount_Values() []string { + return []string{ + SsmTargetAccountResponsePlanOwnerAccount, + SsmTargetAccountImpactedAccount, + } +} + +const ( + // TimelineEventSortEventTime is a TimelineEventSort enum value + TimelineEventSortEventTime = "EVENT_TIME" +) + +// TimelineEventSort_Values returns all elements of the TimelineEventSort enum +func TimelineEventSort_Values() []string { + return []string{ + TimelineEventSortEventTime, + } +} diff --git a/service/ssmincidents/doc.go b/service/ssmincidents/doc.go new file mode 100644 index 00000000000..89f687d7792 --- /dev/null +++ b/service/ssmincidents/doc.go @@ -0,0 +1,37 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package ssmincidents provides the client and types for making API +// requests to AWS Systems Manager Incident Manager. +// +// AWS Systems Manager Incident Manager is an incident management console designed +// to help users mitigate and recover from incidents affecting their AWS-hosted +// applications. An incident is any unplanned interruption or reduction in quality +// of services. +// +// Incident Manager increases incident resolution by notifying responders of +// impact, highlighting relevant troubleshooting data, and providing collaboration +// tools to get services back up and running. To achieve the primary goal of +// reducing the time-to-resolution of critical incidents, Incident Manager automates +// response plans and enables responder team escalation. +// +// See https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10 for more information on this service. +// +// See ssmincidents package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/ssmincidents/ +// +// Using the Client +// +// To contact AWS Systems Manager Incident Manager 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 Systems Manager Incident Manager client SSMIncidents for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/ssmincidents/#New +package ssmincidents diff --git a/service/ssmincidents/errors.go b/service/ssmincidents/errors.go new file mode 100644 index 00000000000..ef28b533a5e --- /dev/null +++ b/service/ssmincidents/errors.go @@ -0,0 +1,63 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmincidents + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You don't have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Updating or deleting a resource causes an inconsistent state. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // The request processing has failed because of an unknown error, exception + // or failure. + 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". + // + // The 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/ssmincidents/service.go b/service/ssmincidents/service.go new file mode 100644 index 00000000000..ab455ca41d6 --- /dev/null +++ b/service/ssmincidents/service.go @@ -0,0 +1,104 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmincidents + +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" +) + +// SSMIncidents provides the API operation methods for making requests to +// AWS Systems Manager Incident Manager. See this package's package overview docs +// for details on the service. +// +// SSMIncidents methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type SSMIncidents 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 = "SSM Incidents" // Name of service. + EndpointsID = "ssm-incidents" // ID to lookup a service endpoint with. + ServiceID = "SSM Incidents" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the SSMIncidents 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 SSMIncidents client from just a session. +// svc := ssmincidents.New(mySession) +// +// // Create a SSMIncidents client with additional configuration +// svc := ssmincidents.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *SSMIncidents { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "ssm-incidents" + } + 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) *SSMIncidents { + svc := &SSMIncidents{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2018-05-10", + }, + 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 SSMIncidents operation and runs any +// custom request initialization. +func (c *SSMIncidents) 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/ssmincidents/ssmincidentsiface/interface.go b/service/ssmincidents/ssmincidentsiface/interface.go new file mode 100644 index 00000000000..39b9547f682 --- /dev/null +++ b/service/ssmincidents/ssmincidentsiface/interface.go @@ -0,0 +1,204 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package ssmincidentsiface provides an interface to enable mocking the AWS Systems Manager Incident Manager 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 ssmincidentsiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/ssmincidents" +) + +// SSMIncidentsAPI provides an interface to enable mocking the +// ssmincidents.SSMIncidents 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 Systems Manager Incident Manager. +// func myFunc(svc ssmincidentsiface.SSMIncidentsAPI) bool { +// // Make svc.CreateReplicationSet request +// } +// +// func main() { +// sess := session.New() +// svc := ssmincidents.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockSSMIncidentsClient struct { +// ssmincidentsiface.SSMIncidentsAPI +// } +// func (m *mockSSMIncidentsClient) CreateReplicationSet(input *ssmincidents.CreateReplicationSetInput) (*ssmincidents.CreateReplicationSetOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockSSMIncidentsClient{} +// +// 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 SSMIncidentsAPI interface { + CreateReplicationSet(*ssmincidents.CreateReplicationSetInput) (*ssmincidents.CreateReplicationSetOutput, error) + CreateReplicationSetWithContext(aws.Context, *ssmincidents.CreateReplicationSetInput, ...request.Option) (*ssmincidents.CreateReplicationSetOutput, error) + CreateReplicationSetRequest(*ssmincidents.CreateReplicationSetInput) (*request.Request, *ssmincidents.CreateReplicationSetOutput) + + CreateResponsePlan(*ssmincidents.CreateResponsePlanInput) (*ssmincidents.CreateResponsePlanOutput, error) + CreateResponsePlanWithContext(aws.Context, *ssmincidents.CreateResponsePlanInput, ...request.Option) (*ssmincidents.CreateResponsePlanOutput, error) + CreateResponsePlanRequest(*ssmincidents.CreateResponsePlanInput) (*request.Request, *ssmincidents.CreateResponsePlanOutput) + + CreateTimelineEvent(*ssmincidents.CreateTimelineEventInput) (*ssmincidents.CreateTimelineEventOutput, error) + CreateTimelineEventWithContext(aws.Context, *ssmincidents.CreateTimelineEventInput, ...request.Option) (*ssmincidents.CreateTimelineEventOutput, error) + CreateTimelineEventRequest(*ssmincidents.CreateTimelineEventInput) (*request.Request, *ssmincidents.CreateTimelineEventOutput) + + DeleteIncidentRecord(*ssmincidents.DeleteIncidentRecordInput) (*ssmincidents.DeleteIncidentRecordOutput, error) + DeleteIncidentRecordWithContext(aws.Context, *ssmincidents.DeleteIncidentRecordInput, ...request.Option) (*ssmincidents.DeleteIncidentRecordOutput, error) + DeleteIncidentRecordRequest(*ssmincidents.DeleteIncidentRecordInput) (*request.Request, *ssmincidents.DeleteIncidentRecordOutput) + + DeleteReplicationSet(*ssmincidents.DeleteReplicationSetInput) (*ssmincidents.DeleteReplicationSetOutput, error) + DeleteReplicationSetWithContext(aws.Context, *ssmincidents.DeleteReplicationSetInput, ...request.Option) (*ssmincidents.DeleteReplicationSetOutput, error) + DeleteReplicationSetRequest(*ssmincidents.DeleteReplicationSetInput) (*request.Request, *ssmincidents.DeleteReplicationSetOutput) + + DeleteResourcePolicy(*ssmincidents.DeleteResourcePolicyInput) (*ssmincidents.DeleteResourcePolicyOutput, error) + DeleteResourcePolicyWithContext(aws.Context, *ssmincidents.DeleteResourcePolicyInput, ...request.Option) (*ssmincidents.DeleteResourcePolicyOutput, error) + DeleteResourcePolicyRequest(*ssmincidents.DeleteResourcePolicyInput) (*request.Request, *ssmincidents.DeleteResourcePolicyOutput) + + DeleteResponsePlan(*ssmincidents.DeleteResponsePlanInput) (*ssmincidents.DeleteResponsePlanOutput, error) + DeleteResponsePlanWithContext(aws.Context, *ssmincidents.DeleteResponsePlanInput, ...request.Option) (*ssmincidents.DeleteResponsePlanOutput, error) + DeleteResponsePlanRequest(*ssmincidents.DeleteResponsePlanInput) (*request.Request, *ssmincidents.DeleteResponsePlanOutput) + + DeleteTimelineEvent(*ssmincidents.DeleteTimelineEventInput) (*ssmincidents.DeleteTimelineEventOutput, error) + DeleteTimelineEventWithContext(aws.Context, *ssmincidents.DeleteTimelineEventInput, ...request.Option) (*ssmincidents.DeleteTimelineEventOutput, error) + DeleteTimelineEventRequest(*ssmincidents.DeleteTimelineEventInput) (*request.Request, *ssmincidents.DeleteTimelineEventOutput) + + GetIncidentRecord(*ssmincidents.GetIncidentRecordInput) (*ssmincidents.GetIncidentRecordOutput, error) + GetIncidentRecordWithContext(aws.Context, *ssmincidents.GetIncidentRecordInput, ...request.Option) (*ssmincidents.GetIncidentRecordOutput, error) + GetIncidentRecordRequest(*ssmincidents.GetIncidentRecordInput) (*request.Request, *ssmincidents.GetIncidentRecordOutput) + + GetReplicationSet(*ssmincidents.GetReplicationSetInput) (*ssmincidents.GetReplicationSetOutput, error) + GetReplicationSetWithContext(aws.Context, *ssmincidents.GetReplicationSetInput, ...request.Option) (*ssmincidents.GetReplicationSetOutput, error) + GetReplicationSetRequest(*ssmincidents.GetReplicationSetInput) (*request.Request, *ssmincidents.GetReplicationSetOutput) + + GetResourcePolicies(*ssmincidents.GetResourcePoliciesInput) (*ssmincidents.GetResourcePoliciesOutput, error) + GetResourcePoliciesWithContext(aws.Context, *ssmincidents.GetResourcePoliciesInput, ...request.Option) (*ssmincidents.GetResourcePoliciesOutput, error) + GetResourcePoliciesRequest(*ssmincidents.GetResourcePoliciesInput) (*request.Request, *ssmincidents.GetResourcePoliciesOutput) + + GetResourcePoliciesPages(*ssmincidents.GetResourcePoliciesInput, func(*ssmincidents.GetResourcePoliciesOutput, bool) bool) error + GetResourcePoliciesPagesWithContext(aws.Context, *ssmincidents.GetResourcePoliciesInput, func(*ssmincidents.GetResourcePoliciesOutput, bool) bool, ...request.Option) error + + GetResponsePlan(*ssmincidents.GetResponsePlanInput) (*ssmincidents.GetResponsePlanOutput, error) + GetResponsePlanWithContext(aws.Context, *ssmincidents.GetResponsePlanInput, ...request.Option) (*ssmincidents.GetResponsePlanOutput, error) + GetResponsePlanRequest(*ssmincidents.GetResponsePlanInput) (*request.Request, *ssmincidents.GetResponsePlanOutput) + + GetTimelineEvent(*ssmincidents.GetTimelineEventInput) (*ssmincidents.GetTimelineEventOutput, error) + GetTimelineEventWithContext(aws.Context, *ssmincidents.GetTimelineEventInput, ...request.Option) (*ssmincidents.GetTimelineEventOutput, error) + GetTimelineEventRequest(*ssmincidents.GetTimelineEventInput) (*request.Request, *ssmincidents.GetTimelineEventOutput) + + ListIncidentRecords(*ssmincidents.ListIncidentRecordsInput) (*ssmincidents.ListIncidentRecordsOutput, error) + ListIncidentRecordsWithContext(aws.Context, *ssmincidents.ListIncidentRecordsInput, ...request.Option) (*ssmincidents.ListIncidentRecordsOutput, error) + ListIncidentRecordsRequest(*ssmincidents.ListIncidentRecordsInput) (*request.Request, *ssmincidents.ListIncidentRecordsOutput) + + ListIncidentRecordsPages(*ssmincidents.ListIncidentRecordsInput, func(*ssmincidents.ListIncidentRecordsOutput, bool) bool) error + ListIncidentRecordsPagesWithContext(aws.Context, *ssmincidents.ListIncidentRecordsInput, func(*ssmincidents.ListIncidentRecordsOutput, bool) bool, ...request.Option) error + + ListRelatedItems(*ssmincidents.ListRelatedItemsInput) (*ssmincidents.ListRelatedItemsOutput, error) + ListRelatedItemsWithContext(aws.Context, *ssmincidents.ListRelatedItemsInput, ...request.Option) (*ssmincidents.ListRelatedItemsOutput, error) + ListRelatedItemsRequest(*ssmincidents.ListRelatedItemsInput) (*request.Request, *ssmincidents.ListRelatedItemsOutput) + + ListRelatedItemsPages(*ssmincidents.ListRelatedItemsInput, func(*ssmincidents.ListRelatedItemsOutput, bool) bool) error + ListRelatedItemsPagesWithContext(aws.Context, *ssmincidents.ListRelatedItemsInput, func(*ssmincidents.ListRelatedItemsOutput, bool) bool, ...request.Option) error + + ListReplicationSets(*ssmincidents.ListReplicationSetsInput) (*ssmincidents.ListReplicationSetsOutput, error) + ListReplicationSetsWithContext(aws.Context, *ssmincidents.ListReplicationSetsInput, ...request.Option) (*ssmincidents.ListReplicationSetsOutput, error) + ListReplicationSetsRequest(*ssmincidents.ListReplicationSetsInput) (*request.Request, *ssmincidents.ListReplicationSetsOutput) + + ListReplicationSetsPages(*ssmincidents.ListReplicationSetsInput, func(*ssmincidents.ListReplicationSetsOutput, bool) bool) error + ListReplicationSetsPagesWithContext(aws.Context, *ssmincidents.ListReplicationSetsInput, func(*ssmincidents.ListReplicationSetsOutput, bool) bool, ...request.Option) error + + ListResponsePlans(*ssmincidents.ListResponsePlansInput) (*ssmincidents.ListResponsePlansOutput, error) + ListResponsePlansWithContext(aws.Context, *ssmincidents.ListResponsePlansInput, ...request.Option) (*ssmincidents.ListResponsePlansOutput, error) + ListResponsePlansRequest(*ssmincidents.ListResponsePlansInput) (*request.Request, *ssmincidents.ListResponsePlansOutput) + + ListResponsePlansPages(*ssmincidents.ListResponsePlansInput, func(*ssmincidents.ListResponsePlansOutput, bool) bool) error + ListResponsePlansPagesWithContext(aws.Context, *ssmincidents.ListResponsePlansInput, func(*ssmincidents.ListResponsePlansOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*ssmincidents.ListTagsForResourceInput) (*ssmincidents.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *ssmincidents.ListTagsForResourceInput, ...request.Option) (*ssmincidents.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*ssmincidents.ListTagsForResourceInput) (*request.Request, *ssmincidents.ListTagsForResourceOutput) + + ListTimelineEvents(*ssmincidents.ListTimelineEventsInput) (*ssmincidents.ListTimelineEventsOutput, error) + ListTimelineEventsWithContext(aws.Context, *ssmincidents.ListTimelineEventsInput, ...request.Option) (*ssmincidents.ListTimelineEventsOutput, error) + ListTimelineEventsRequest(*ssmincidents.ListTimelineEventsInput) (*request.Request, *ssmincidents.ListTimelineEventsOutput) + + ListTimelineEventsPages(*ssmincidents.ListTimelineEventsInput, func(*ssmincidents.ListTimelineEventsOutput, bool) bool) error + ListTimelineEventsPagesWithContext(aws.Context, *ssmincidents.ListTimelineEventsInput, func(*ssmincidents.ListTimelineEventsOutput, bool) bool, ...request.Option) error + + PutResourcePolicy(*ssmincidents.PutResourcePolicyInput) (*ssmincidents.PutResourcePolicyOutput, error) + PutResourcePolicyWithContext(aws.Context, *ssmincidents.PutResourcePolicyInput, ...request.Option) (*ssmincidents.PutResourcePolicyOutput, error) + PutResourcePolicyRequest(*ssmincidents.PutResourcePolicyInput) (*request.Request, *ssmincidents.PutResourcePolicyOutput) + + StartIncident(*ssmincidents.StartIncidentInput) (*ssmincidents.StartIncidentOutput, error) + StartIncidentWithContext(aws.Context, *ssmincidents.StartIncidentInput, ...request.Option) (*ssmincidents.StartIncidentOutput, error) + StartIncidentRequest(*ssmincidents.StartIncidentInput) (*request.Request, *ssmincidents.StartIncidentOutput) + + TagResource(*ssmincidents.TagResourceInput) (*ssmincidents.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *ssmincidents.TagResourceInput, ...request.Option) (*ssmincidents.TagResourceOutput, error) + TagResourceRequest(*ssmincidents.TagResourceInput) (*request.Request, *ssmincidents.TagResourceOutput) + + UntagResource(*ssmincidents.UntagResourceInput) (*ssmincidents.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *ssmincidents.UntagResourceInput, ...request.Option) (*ssmincidents.UntagResourceOutput, error) + UntagResourceRequest(*ssmincidents.UntagResourceInput) (*request.Request, *ssmincidents.UntagResourceOutput) + + UpdateDeletionProtection(*ssmincidents.UpdateDeletionProtectionInput) (*ssmincidents.UpdateDeletionProtectionOutput, error) + UpdateDeletionProtectionWithContext(aws.Context, *ssmincidents.UpdateDeletionProtectionInput, ...request.Option) (*ssmincidents.UpdateDeletionProtectionOutput, error) + UpdateDeletionProtectionRequest(*ssmincidents.UpdateDeletionProtectionInput) (*request.Request, *ssmincidents.UpdateDeletionProtectionOutput) + + UpdateIncidentRecord(*ssmincidents.UpdateIncidentRecordInput) (*ssmincidents.UpdateIncidentRecordOutput, error) + UpdateIncidentRecordWithContext(aws.Context, *ssmincidents.UpdateIncidentRecordInput, ...request.Option) (*ssmincidents.UpdateIncidentRecordOutput, error) + UpdateIncidentRecordRequest(*ssmincidents.UpdateIncidentRecordInput) (*request.Request, *ssmincidents.UpdateIncidentRecordOutput) + + UpdateRelatedItems(*ssmincidents.UpdateRelatedItemsInput) (*ssmincidents.UpdateRelatedItemsOutput, error) + UpdateRelatedItemsWithContext(aws.Context, *ssmincidents.UpdateRelatedItemsInput, ...request.Option) (*ssmincidents.UpdateRelatedItemsOutput, error) + UpdateRelatedItemsRequest(*ssmincidents.UpdateRelatedItemsInput) (*request.Request, *ssmincidents.UpdateRelatedItemsOutput) + + UpdateReplicationSet(*ssmincidents.UpdateReplicationSetInput) (*ssmincidents.UpdateReplicationSetOutput, error) + UpdateReplicationSetWithContext(aws.Context, *ssmincidents.UpdateReplicationSetInput, ...request.Option) (*ssmincidents.UpdateReplicationSetOutput, error) + UpdateReplicationSetRequest(*ssmincidents.UpdateReplicationSetInput) (*request.Request, *ssmincidents.UpdateReplicationSetOutput) + + UpdateResponsePlan(*ssmincidents.UpdateResponsePlanInput) (*ssmincidents.UpdateResponsePlanOutput, error) + UpdateResponsePlanWithContext(aws.Context, *ssmincidents.UpdateResponsePlanInput, ...request.Option) (*ssmincidents.UpdateResponsePlanOutput, error) + UpdateResponsePlanRequest(*ssmincidents.UpdateResponsePlanInput) (*request.Request, *ssmincidents.UpdateResponsePlanOutput) + + UpdateTimelineEvent(*ssmincidents.UpdateTimelineEventInput) (*ssmincidents.UpdateTimelineEventOutput, error) + UpdateTimelineEventWithContext(aws.Context, *ssmincidents.UpdateTimelineEventInput, ...request.Option) (*ssmincidents.UpdateTimelineEventOutput, error) + UpdateTimelineEventRequest(*ssmincidents.UpdateTimelineEventInput) (*request.Request, *ssmincidents.UpdateTimelineEventOutput) + + WaitUntilWaitForReplicationSetActive(*ssmincidents.GetReplicationSetInput) error + WaitUntilWaitForReplicationSetActiveWithContext(aws.Context, *ssmincidents.GetReplicationSetInput, ...request.WaiterOption) error + + WaitUntilWaitForReplicationSetDeleted(*ssmincidents.GetReplicationSetInput) error + WaitUntilWaitForReplicationSetDeletedWithContext(aws.Context, *ssmincidents.GetReplicationSetInput, ...request.WaiterOption) error +} + +var _ SSMIncidentsAPI = (*ssmincidents.SSMIncidents)(nil) diff --git a/service/ssmincidents/waiters.go b/service/ssmincidents/waiters.go new file mode 100644 index 00000000000..fa4bb59c356 --- /dev/null +++ b/service/ssmincidents/waiters.go @@ -0,0 +1,127 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssmincidents + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilWaitForReplicationSetActive uses the SSM Incidents API operation +// GetReplicationSet to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SSMIncidents) WaitUntilWaitForReplicationSetActive(input *GetReplicationSetInput) error { + return c.WaitUntilWaitForReplicationSetActiveWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilWaitForReplicationSetActiveWithContext is an extended version of WaitUntilWaitForReplicationSetActive. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *SSMIncidents) WaitUntilWaitForReplicationSetActiveWithContext(ctx aws.Context, input *GetReplicationSetInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilWaitForReplicationSetActive", + MaxAttempts: 5, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "replicationSet.status", + Expected: "ACTIVE", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "replicationSet.status", + Expected: "CREATING", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "replicationSet.status", + Expected: "UPDATING", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "replicationSet.status", + Expected: "FAILED", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetReplicationSetInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetReplicationSetRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilWaitForReplicationSetDeleted uses the SSM Incidents API operation +// GetReplicationSet to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SSMIncidents) WaitUntilWaitForReplicationSetDeleted(input *GetReplicationSetInput) error { + return c.WaitUntilWaitForReplicationSetDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilWaitForReplicationSetDeletedWithContext is an extended version of WaitUntilWaitForReplicationSetDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *SSMIncidents) WaitUntilWaitForReplicationSetDeletedWithContext(ctx aws.Context, input *GetReplicationSetInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilWaitForReplicationSetDeleted", + MaxAttempts: 5, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ResourceNotFoundException", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "replicationSet.status", + Expected: "DELETING", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "replicationSet.status", + Expected: "FAILED", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetReplicationSetInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetReplicationSetRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/service/transcribestreamingservice/api.go b/service/transcribestreamingservice/api.go index d01b8782d9c..ecea3c112d7 100644 --- a/service/transcribestreamingservice/api.go +++ b/service/transcribestreamingservice/api.go @@ -1217,6 +1217,10 @@ type Item struct { // real-time stream. Speaker *string `type:"string"` + // If partial result stabilization has been enabled, indicates whether the word + // or phrase in the item is stable. If Stable is true, the result is stable. + Stable *bool `type:"boolean"` + // The offset from the beginning of the audio stream to the beginning of the // audio that resulted in the item. StartTime *float64 `type:"double"` @@ -1266,6 +1270,12 @@ func (s *Item) SetSpeaker(v string) *Item { return s } +// SetStable sets the Stable field's value. +func (s *Item) SetStable(v bool) *Item { + s.Stable = &v + return s +} + // SetStartTime sets the StartTime field's value. func (s *Item) SetStartTime(v float64) *Item { s.StartTime = &v @@ -2378,6 +2388,13 @@ type StartStreamTranscriptionInput struct { // same request. If you set both, your request returns a BadRequestException. EnableChannelIdentification *bool `location:"header" locationName:"x-amzn-transcribe-enable-channel-identification" type:"boolean"` + // When true, instructs Amazon Transcribe to present transcription results that + // have the partial results stabilized. Normally, any word or phrase from one + // partial result can change in a subsequent partial result. With partial results + // stabilization enabled, only the last few words of one partial result can + // change in another partial result. + EnablePartialResultsStabilization *bool `location:"header" locationName:"x-amzn-transcribe-enable-partial-results-stabilization" type:"boolean"` + // Indicates the source language used in the input audio stream. // // LanguageCode is a required field @@ -2397,6 +2414,12 @@ type StartStreamTranscriptionInput struct { // The number of channels that are in your audio stream. NumberOfChannels *int64 `location:"header" locationName:"x-amzn-transcribe-number-of-channels" min:"2" type:"integer"` + // You can use this field to set the stability level of the transcription results. + // A higher stability level means that the transcription results are less likely + // to change. Higher stability levels can come with lower overall transcription + // accuracy. + PartialResultsStability *string `location:"header" locationName:"x-amzn-transcribe-partial-results-stability" type:"string" enum:"PartialResultsStability"` + // A identifier for the transcription session. Use this parameter when you want // to retry a session. If you don't provide a session ID, Amazon Transcribe // will generate one for you and return it in the response. @@ -2470,6 +2493,12 @@ func (s *StartStreamTranscriptionInput) SetEnableChannelIdentification(v bool) * return s } +// SetEnablePartialResultsStabilization sets the EnablePartialResultsStabilization field's value. +func (s *StartStreamTranscriptionInput) SetEnablePartialResultsStabilization(v bool) *StartStreamTranscriptionInput { + s.EnablePartialResultsStabilization = &v + return s +} + // SetLanguageCode sets the LanguageCode field's value. func (s *StartStreamTranscriptionInput) SetLanguageCode(v string) *StartStreamTranscriptionInput { s.LanguageCode = &v @@ -2494,6 +2523,12 @@ func (s *StartStreamTranscriptionInput) SetNumberOfChannels(v int64) *StartStrea return s } +// SetPartialResultsStability sets the PartialResultsStability field's value. +func (s *StartStreamTranscriptionInput) SetPartialResultsStability(v string) *StartStreamTranscriptionInput { + s.PartialResultsStability = &v + return s +} + // SetSessionId sets the SessionId field's value. func (s *StartStreamTranscriptionInput) SetSessionId(v string) *StartStreamTranscriptionInput { s.SessionId = &v @@ -2532,6 +2567,9 @@ type StartStreamTranscriptionOutput struct { // Shows whether channel identification has been enabled in the stream. EnableChannelIdentification *bool `location:"header" locationName:"x-amzn-transcribe-enable-channel-identification" type:"boolean"` + // Shows whether partial results stabilization has been enabled in the stream. + EnablePartialResultsStabilization *bool `location:"header" locationName:"x-amzn-transcribe-enable-partial-results-stabilization" type:"boolean"` + // The language code for the input audio stream. LanguageCode *string `location:"header" locationName:"x-amzn-transcribe-language-code" type:"string" enum:"LanguageCode"` @@ -2545,6 +2583,10 @@ type StartStreamTranscriptionOutput struct { // The number of channels identified in the stream. NumberOfChannels *int64 `location:"header" locationName:"x-amzn-transcribe-number-of-channels" min:"2" type:"integer"` + // If partial results stabilization has been enabled in the stream, shows the + // stability level. + PartialResultsStability *string `location:"header" locationName:"x-amzn-transcribe-partial-results-stability" type:"string" enum:"PartialResultsStability"` + // An identifier for the streaming transcription. RequestId *string `location:"header" locationName:"x-amzn-request-id" type:"string"` @@ -2580,6 +2622,12 @@ func (s *StartStreamTranscriptionOutput) SetEnableChannelIdentification(v bool) return s } +// SetEnablePartialResultsStabilization sets the EnablePartialResultsStabilization field's value. +func (s *StartStreamTranscriptionOutput) SetEnablePartialResultsStabilization(v bool) *StartStreamTranscriptionOutput { + s.EnablePartialResultsStabilization = &v + return s +} + // SetLanguageCode sets the LanguageCode field's value. func (s *StartStreamTranscriptionOutput) SetLanguageCode(v string) *StartStreamTranscriptionOutput { s.LanguageCode = &v @@ -2604,6 +2652,12 @@ func (s *StartStreamTranscriptionOutput) SetNumberOfChannels(v int64) *StartStre return s } +// SetPartialResultsStability sets the PartialResultsStability field's value. +func (s *StartStreamTranscriptionOutput) SetPartialResultsStability(v string) *StartStreamTranscriptionOutput { + s.PartialResultsStability = &v + return s +} + // SetRequestId sets the RequestId field's value. func (s *StartStreamTranscriptionOutput) SetRequestId(v string) *StartStreamTranscriptionOutput { s.RequestId = &v @@ -2991,6 +3045,26 @@ func MedicalContentIdentificationType_Values() []string { } } +const ( + // PartialResultsStabilityHigh is a PartialResultsStability enum value + PartialResultsStabilityHigh = "high" + + // PartialResultsStabilityMedium is a PartialResultsStability enum value + PartialResultsStabilityMedium = "medium" + + // PartialResultsStabilityLow is a PartialResultsStability enum value + PartialResultsStabilityLow = "low" +) + +// PartialResultsStability_Values returns all elements of the PartialResultsStability enum +func PartialResultsStability_Values() []string { + return []string{ + PartialResultsStabilityHigh, + PartialResultsStabilityMedium, + PartialResultsStabilityLow, + } +} + const ( // SpecialtyPrimarycare is a Specialty enum value SpecialtyPrimarycare = "PRIMARYCARE" diff --git a/service/transcribestreamingservice/eventstream_test.go b/service/transcribestreamingservice/eventstream_test.go index 4ea4a4282c5..726df7319b9 100644 --- a/service/transcribestreamingservice/eventstream_test.go +++ b/service/transcribestreamingservice/eventstream_test.go @@ -1032,6 +1032,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1041,6 +1042,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1050,6 +1052,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1064,6 +1067,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1073,6 +1077,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1082,6 +1087,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1096,6 +1102,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1105,6 +1112,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1114,6 +1122,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1137,6 +1146,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1146,6 +1156,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1155,6 +1166,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1169,6 +1181,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1178,6 +1191,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1187,6 +1201,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1201,6 +1216,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1210,6 +1226,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1219,6 +1236,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1242,6 +1260,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1251,6 +1270,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1260,6 +1280,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1274,6 +1295,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1283,6 +1305,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1292,6 +1315,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1306,6 +1330,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1315,6 +1340,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -1324,6 +1350,7 @@ func mockStartStreamTranscriptionReadEvents() ( Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), Speaker: aws.String("string value goes here"), + Stable: aws.Bool(true), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true),